$this->repoConfigs->all()]); } public function create(Request $request): Response { try { $repo = $this->repoConfigs->create($request->body); } catch (InvalidArgumentException $e) { return Response::error($e->getMessage(), 422); } return Response::json(['repo' => $repo], 201); } /** @param array $params */ public function update(Request $request, array $params): Response { try { $repo = $this->repoConfigs->update((int) $params['id'], $request->body); } catch (InvalidArgumentException $e) { return Response::error($e->getMessage(), 422); } return Response::json(['repo' => $repo]); } /** * Issue #43: Nach dem Entfernen eines Projekts sollen auch dessen Tickets aus dem Kanban * verschwinden statt (wie zuvor, Issue #34) nur ihre Projektfarbe zu verlieren. * * @param array $params */ public function delete(Request $request, array $params): Response { $repo = $this->repoConfigs->delete((int) $params['id']); $this->tickets->deleteByRepo($repo['owner'] . '/' . $repo['repo']); return Response::json(['deleted' => true]); } }