Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
1 / 1
n/a
0 / 0
CRAP
n/a
0 / 0
TsumegoComment
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
1<?php
2
3App::uses('TsumegosController', 'Controller');
4
5/**
6 * TsumegoComment Model
7 *
8 * Represents a comment on a tsumego problem, optionally linked to a TsumegoIssue.
9 *
10 * Table: tsumego_comment
11 * Columns:
12 *   - id (INT, PK, AUTO_INCREMENT)
13 *   - tsumego_id (INT, FK -> tsumego)
14 *   - tsumego_issue_id (INT NULL, FK -> tsumego_issue) - NULL means standalone comment
15 *   - message (VARCHAR(2048))
16 *   - created (DATETIME)
17 *   - user_id (INT, FK -> user)
18 *   - position (VARCHAR(300) NULL) - board position for the comment
19 *   - deleted (BOOL, default 0)
20 */
21class TsumegoComment extends AppModel
22{
23    public $useTable = 'tsumego_comment';
24    public $actsAs = ['Containable'];
25
26    public $belongsTo = [
27        'Tsumego',
28        'TsumegoIssue',
29        'User',
30    ];
31
32    public $validate = [
33        'message' => [
34            'notBlank' => ['rule' => 'notBlank', 'message' => 'Comment message is required'],
35            'maxLength' => ['rule' => ['maxLength', 2048], 'message' => 'Comment is too long (maximum 2048 characters)']]];
36}