# Scénario: Détail d'un projet name: projects_show version: "1.0" description: Retourne un projet avec ses tags et sous-projets input: required: - id validation: id: type: int steps: - id: get_project service: db action: query_one params: query: "SELECT * FROM projects WHERE id = ? AND user_id = ?" args: ["{{input.id}}", "{{auth.user_id}}"] on_error: abort error_message: "Projet non trouvé" error_status: 404 - id: get_tags service: db action: query params: query: | SELECT t.id, t.name, t.color FROM tags t JOIN project_tags pt ON t.id = pt.tag_id WHERE pt.project_id = ? args: ["{{input.id}}"] - id: get_children service: db action: query params: query: | SELECT * FROM projects WHERE parent_id = ? AND user_id = ? ORDER BY position ASC, name ASC args: ["{{input.id}}", "{{auth.user_id}}"] output: status: 200 body: success: true data: id: "{{steps.get_project.result.id}}" name: "{{steps.get_project.result.name}}" description: "{{steps.get_project.result.description}}" parent_id: "{{steps.get_project.result.parent_id}}" position: "{{steps.get_project.result.position}}" created_at: "{{steps.get_project.result.created_at}}" tags: "{{steps.get_tags.result}}" children: "{{steps.get_children.result}}"