12345678910111213141516171819202122232425262728293031323334 |
- <?php
- namespace App\Services\File;
- use App\Models\Enums\ActionObjectType;
- use App\Models\Enums\ObjectAction;
- use App\Models\File;
- use App\Repositories\ActionRepository;
- use App\Repositories\CustomFieldRepository;
- use App\Services\History\ModelChangeDetector;
- class FileService
- {
- private CustomFieldRepository $customFieldRepository;
- public function __construct(CustomFieldRepository $customFieldRepository)
- {
- $this->customFieldRepository = $customFieldRepository;
- }
- public function update(string $id, array $updatedData): void
- {
- $file = File::query()->findOrFail($id);
- if ($updatedData['naming_rule_id']) {
- $updatedData['naming_rules'] = $this->customFieldRepository->keysByGroup($updatedData['naming_rule_id'])->value;
- }
- $file->fill($updatedData);
- $changes = ModelChangeDetector::detector(ActionObjectType::CONTAINER_FILE, $file);
- ActionRepository::create($id, ActionObjectType::CONTAINER_FILE, ObjectAction::EDITED_FILE, null, null, [], $changes);
- $file->save();
- }
- }
|