class item_service implements item_service_interface

internal  
 

Item application service.

Orchestrates the lifecycle of Items: CRUD, validation, auditing, and versioning. This represents the write model in a CQRS-lite approach.

Methods

__construct(item_repository_interface $repository, event_service_interface $event_service, revision_service_interface $revision_service, item_validator_service_interface $validator)

Constructor.

create(item_dto_interface $dto)

Create a new item based on a DTO.

update(item_dto_interface $dto)

Update an existing item using a DTO.

void
delete(int $id)

Delete an item.

item_interface|null
find(int $id)

Find an item by ID.

array
get_metadata(int $id)

Retrieve metadata for an item.

array
find_by_type(string $type)

Retrieve all items for the given TYPE.

get_repository()

Expose underlying repository (primarily for advanced orchestration).

Details

at line 50
__construct(item_repository_interface $repository, event_service_interface $event_service, revision_service_interface $revision_service, item_validator_service_interface $validator)

Constructor.

Parameters

item_repository_interface $repository
event_service_interface $event_service
revision_service_interface $revision_service
item_validator_service_interface $validator

at line 67
item_interface create(item_dto_interface $dto)

Create a new item based on a DTO.

Parameters

item_dto_interface $dto

Return Value

item_interface

Exceptions

JsonException
moodle_exception

at line 99
item_interface update(item_dto_interface $dto)

Update an existing item using a DTO.

Parameters

item_dto_interface $dto

Return Value

item_interface

Exceptions

JsonException
moodle_exception

at line 135
void delete(int $id)

Delete an item.

Parameters

int $id

Return Value

void

Exceptions

dml_exception

at line 156
item_interface|null find(int $id)

Find an item by ID.

Parameters

int $id

Return Value

item_interface|null

at line 170
array get_metadata(int $id)

Retrieve metadata for an item.

Parameters

int $id

Return Value

array

Exceptions

dml_exception

at line 183
array find_by_type(string $type)

Retrieve all items for the given TYPE.

Used by extensions implementing the TYPE pattern.

Parameters

string $type

Return Value

array

at line 191
item_repository_interface get_repository()

Expose underlying repository (primarily for advanced orchestration).