-
- id
- name
- nickname
-
- id
- title
- description
- deadline
- status:
"to_do" || "doing" || "done"
- author
- assignees
CREATE TABLE to_do_list_users (
id VARCHAR(64) PRIMARY KEY,
name VARCHAR(64) NOT NULL,
nickname VARCHAR(64) NOT NULL,
email VARCHAR(64) NOT NULL
);
CREATE TABLE to_do_list_tasks (
id VARCHAR(64) PRIMARY KEY,
title VARCHAR(64) NOT NULL,
description VARCHAR(1024) DEFAULT "No description provided",
deadline DATE,
status ENUM("TO_DO", "DOING", "DONE") DEFAULT "TO_DO",
author_id VARCHAR(64),
FOREIGN KEY (author_id) REFERENCES to_do_list_users(id)
);
CREATE TABLE to_do_list_assignees (
task_id VARCHAR(64),
assignee_id VARCHAR(64),
PRIMARY KEY (task_id, assignee_id),
FOREIGN KEY (task_id) REFERENCES to_do_list_tasks(id),
FOREIGN KEY (assignee_id) REFERENCES to_do_list_users(id)
);
-
- Método: PUT
- Path:
/user
- Body:
- name (obrigatório)
- nickname (obrigatório)
- email (obrigatório)
-
- Método: GET
- Path:
/user/:id
- Body de Resposta: (retornar um erro se não encontrar)
- id
- nickname
-
- Método: POST
- Path:
/user/edit/:id
- Body:
- name (opcional; não pode ser vazio)
- nickname (opcional; não pode ser vazio)
- email (opcional; não pode ser vazio)
-
- Método: PUT
- Path:
/task
- Body:
- title (obrigatório)
- description (obrigatório)
- deadline (obrigatório; formato
YYYY-MM-DD
) - authorId
-
- Método: GET
- Path:
/task/:id
- Body de Resposta: (retornar um erro se não encontrar)
- id
- title
- description
- deadline (formato
YYYY-MM-DD
) - status
- authorId
- authorNickname