/** * Update an existing project. * * @param \Gitamin\Models\Project $project * * @return \Illuminate\Http\JsonResponse */ public function putProject(Request $request, Project $project) { try { $this->dispatch(new UpdateProjectCommand($project, $request->get('name'), $request->get('description'), $request->get('visibility_level'), $request->get('path'), $request->get('creator_id'), $request->get('owner_id'))); } catch (QueryException $e) { throw new BadRequestHttpException(); } if ($request->has('tags')) { $tags = preg_split('/ ?, ?/', $request->get('tags')); // For every tag, do we need to create it? $projectTags = array_map(function ($taggable) use($project) { return Tag::firstOrCreate(['name' => $taggable])->id; }, $tags); $project->tags()->sync($projectTags); } return $this->item($project); }
/** * Update an existing project. * * @param \Gitamin\Models\Project $project * * @return \Illuminate\Http\JsonResponse */ public function putProject(Project $project) { try { $this->dispatch(new UpdateProjectCommand($project, Binput::get('name'), Binput::get('description'), Binput::get('status'), Binput::get('slug'), Binput::get('order'), Binput::get('team_id'), (bool) Binput::get('enabled', true))); } catch (QueryException $e) { throw new BadRequestHttpException(); } if (Binput::has('tags')) { $tags = preg_split('/ ?, ?/', Binput::get('tags')); // For every tag, do we need to create it? $projectTags = array_map(function ($taggable) use($project) { return Tag::firstOrCreate(['name' => $taggable])->id; }, $tags); $project->tags()->sync($projectTags); } return $this->item($project); }