GatheringScheduleService
in package
uses
LocatorAwareTrait
Manages scheduled activity CRUD for gatherings.
Handles creation, editing, and deletion of GatheringScheduledActivity records with timezone conversion from user/gathering timezone to UTC.
Table of Contents
Methods
- add() : GatheringScheduledActivity, errors?: array}
- Create a new scheduled activity for a gathering.
- delete() : array{success: bool, message: string, invalidOwner?: bool}
- Delete a scheduled activity, verifying it belongs to the given gathering.
- edit() : GatheringScheduledActivity, errors?: array, invalidOwner?: bool}
- Update an existing scheduled activity.
- prepareData() : array<string|int, mixed>
- Prepare request data for a scheduled activity: timezone conversion, "is_other" and "has_end_time" flag handling.
- flattenErrors() : array<string|int, string>
- Flatten CakePHP nested validation errors into a simple string array.
Methods
add()
Create a new scheduled activity for a gathering.
public
add(array<string|int, mixed> $data, Gathering $gathering, mixed $identity) : GatheringScheduledActivity, errors?: array}
Parameters
- $data : array<string|int, mixed>
-
Request data (already containing gathering_id and created_by)
- $gathering : Gathering
-
The parent gathering
- $identity : mixed
-
Authenticated user identity
Return values
GatheringScheduledActivity, errors?: array}delete()
Delete a scheduled activity, verifying it belongs to the given gathering.
public
delete(int $scheduledActivityId, Gathering $gathering) : array{success: bool, message: string, invalidOwner?: bool}
Parameters
- $scheduledActivityId : int
-
Scheduled activity id
- $gathering : Gathering
-
The parent gathering
Return values
array{success: bool, message: string, invalidOwner?: bool}edit()
Update an existing scheduled activity.
public
edit(int $scheduledActivityId, array<string|int, mixed> $data, Gathering $gathering, mixed $identity) : GatheringScheduledActivity, errors?: array, invalidOwner?: bool}
Parameters
- $scheduledActivityId : int
-
Scheduled activity id
- $data : array<string|int, mixed>
-
Request data
- $gathering : Gathering
-
The parent gathering
- $identity : mixed
-
Authenticated user identity
Return values
GatheringScheduledActivity, errors?: array, invalidOwner?: bool}prepareData()
Prepare request data for a scheduled activity: timezone conversion, "is_other" and "has_end_time" flag handling.
public
prepareData(array<string|int, mixed> $data, Gathering $gathering, mixed $identity) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
-
Raw request data
- $gathering : Gathering
-
The parent gathering
- $identity : mixed
-
Authenticated user identity
Return values
array<string|int, mixed> —Processed data ready for entity patching
flattenErrors()
Flatten CakePHP nested validation errors into a simple string array.
private
flattenErrors(array<string|int, mixed> $errors) : array<string|int, string>
Parameters
- $errors : array<string|int, mixed>
-
Nested error array from entity