| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- namespace App\Services;
- use App\Models\UnitContract;
- use Illuminate\Database\Eloquent\Collection;
- use Illuminate\Support\Facades\Storage;
- class UnitContractService
- {
- public function getByUnitId(int $unitId): Collection
- {
- return UnitContract::where('unit_id', $unitId)
- ->orderBy('created_at', 'desc')
- ->get();
- }
- public function create(array $data): UnitContract
- {
- $file = $data['file'];
- $name = !empty($data['name']) ? $data['name'] : $file->getClientOriginalName();
- $fileUrl = $file->store('unit-contracts');
- return UnitContract::create([
- 'unit_id' => $data['unit_id'],
- 'name' => $name,
- 'file_url' => $fileUrl,
- ]);
- }
- public function delete(int $id): bool
- {
- $model = UnitContract::find($id);
- if (!$model) {
- return false;
- }
- Storage::delete($model->file_url);
- return $model->delete();
- }
- }
|