Files
zoneminder/web/api/app/Model/Notification.php
Pliable Pixels fea1c850ac fix: address Copilot review feedback on Notifications API refs #4684
- Revert accidental Users.RoleId FK change from CASCADE back to SET NULL
- Remove System != 'None' gate in beforeFilter; any authenticated user
  can manage their own notifications, per-row ownership checks suffice
- Add allowMethod('post', 'put') guard to edit() for consistent REST behavior
- Change PushState validation from allowEmpty to required=false

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 20:39:54 -05:00

40 lines
902 B
PHP

<?php
App::uses('AppModel', 'Model');
class Notification extends AppModel {
public $useTable = 'Notifications';
public $primaryKey = 'Id';
public $displayField = 'Token';
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'UserId',
),
);
public $validate = array(
'Token' => array(
'notBlank' => array(
'rule' => array('notBlank'),
'message' => 'Token is required',
),
),
'Platform' => array(
'inList' => array(
'rule' => array('inList', array('android', 'ios', 'web')),
'message' => 'Platform must be android, ios, or web',
),
),
'PushState' => array(
'inList' => array(
'rule' => array('inList', array('enabled', 'disabled')),
'message' => 'PushState must be enabled or disabled',
'required' => false,
),
),
);
}