feat: implement team standby status, helper persistence, and store portal foundations

This commit is contained in:
Developer
2026-07-02 12:02:13 +08:00
parent a9a1df93bd
commit a1470eb85e
32 changed files with 1371 additions and 82 deletions

View File

@@ -20,7 +20,7 @@ class AdminTeamController extends ApiController
public function index(Request $request): JsonResponse
{
$request->validate([
'status' => ['nullable', 'in:active,inactive'],
'status' => ['nullable', 'in:active,inactive,standby'],
'area_id' => ['nullable', 'integer'],
'q' => ['nullable', 'string', 'max:100'],
'per_page' => ['nullable', 'integer', 'min:1', 'max:500'],
@@ -28,7 +28,7 @@ class AdminTeamController extends ApiController
$perPage = (int) $request->input('per_page', 25);
$teams = CollectionTeam::query()
->with(['area', 'driver', 'scanner', 'truck'])
->with(['area', 'driver', 'scanner', 'truck', 'helpers.user', 'currentTrip'])
->when($request->filled('status'), fn ($q) => $q->where('status', $request->string('status')))
->when($request->filled('area_id'), fn ($q) => $q->where('area_id', $request->integer('area_id')))
->when($request->filled('q'), fn ($q) => $q->where('name', 'like', '%'.$request->string('q').'%'))
@@ -77,7 +77,7 @@ class AdminTeamController extends ApiController
}
}
unset($data['helper_ids'], $data['override_conflicts'], $data['helper_count'], $data['helper_assignment_mode']);
unset($data['helper_ids'], $data['override_conflicts'], $data['helper_assignment_mode']);
$team = DB::transaction(function () use ($data, $helperIds) {
$team = CollectionTeam::create($data);
@@ -105,7 +105,7 @@ class AdminTeamController extends ApiController
public function show(CollectionTeam $team): JsonResponse
{
$team->load(['area', 'driver', 'scanner', 'truck', 'helpers.user']);
$team->load(['area', 'driver', 'scanner', 'truck', 'helpers.user', 'currentTrip']);
return $this->ok(new CollectionTeamResource($team));
}
@@ -143,7 +143,7 @@ class AdminTeamController extends ApiController
}
}
unset($data['helper_ids'], $data['override_conflicts'], $data['helper_count'], $data['helper_assignment_mode']);
unset($data['helper_ids'], $data['override_conflicts'], $data['helper_assignment_mode']);
DB::transaction(function () use ($team, $data, $helperIds) {
$team->update($data);