Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ethicapp-v2] Desarrollo de endpoints para utilizar funcionalidad de casos (Cases) #332

Open
claudio-alvarez opened this issue Jun 6, 2024 · 0 comments
Assignees
Labels
enhancement Improvement to an existing feature

Comments

@claudio-alvarez
Copy link
Collaborator

claudio-alvarez commented Jun 6, 2024

Descripción general

Estamos incorporando a EthicApp la funcionalidad necesaria para usar casos con los diseños. Necesitamos agregar endpoints a la aplicación para las operaciones básicas RESTful de modelo de caso.

GET /cases
POST /cases
PUT/PATCH /cases/:id
GET /cases/:id

Los casos son etiquetables, para lo cual hay contemplado un modelo de TopicTag, cuyas rutas son:

GET /topic_tags
POST /topic_tags
PUT /topic_tags/:id
GET /topic_tags/:id

Por lo tanto, también se requieren endpoints que relacionan Cases y Tags:

GET /cases/id:/tags # obtener todos los tags de un caso
POST /cases/id:/tags # agregar un tag a un caso
DELETE /cases/id:/tag/:tag_Id # desvincular un tag de un caso

Es necesario contemplar la asociación que existe entre Case y Design:

GET /designs/:id/case # el caso de un diseño - respuesta debiera ser un objeto JSON con la representación del caso
PATCH /designs/:id/case # actualiza el caso, para lo cual se requiere incluir en el request un objeto JSON con el `case_id` a utilizar.

Finalmente, los casos son públicos o privados dependiendo de lo que decide el autor dueño. Un usuario podría copiar un caso compartido por otro autor para incorporarlo a su colección. Entonces, entendemos que el usuario tiene una colección de casos.

POST /cases/id:/clone # en el body del request hay que pasar el user_id de quién sería el dueño de la copia

Referencias al respecto: https://chatgpt.com/share/5ff586fe-e5dc-434f-9892-bf1f8c507308

¿Cuándo se usaría?

Se usaría con toda la funcionalidad nueva de casos que tenemos en el backlog de EthicApp. Próximamente, los diseños podrán incluir un caso desde la base de datos de EthicApp. Los casos podrán ser compartidos (copiados) entre los usuarios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants