all())->get(); return ProjectResource::collection($projects); } /** * Store a newly created resource in storage. */ public function store(CreateOrUpdateRequest $request) { $project = new Project(); $project->mergeFillable([ 'company_id', 'created_by' ]); $project->fill([ ...$request->all(), 'company_id' => Auth::user()->company_id, 'created_by' => Auth::id(), 'whitelist' => $request->whitelist ? sprintf(",%s", implode(',', $request->whitelist)) : null, ]); $project->save(); if ($request->has("assets")) { foreach ($request->get("assets", []) as $assetId) { ProjectAsset::create([ 'project_id' => $project->id, 'asset_id' => $assetId, ]); } } if ($request->has("plans")) { foreach ($request->get("plans", []) as $planId) { ProjectPlan::create([ 'project_id' => $project->id, 'plan_id' => $planId, ]); } } return $this->created(); } /** * Display the specified resource. */ public function show(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } }