- Route
/
: tickets view- Route
/add
: nested add ticket form
- Route
- Route
/login
: login form
- GET
/api/tickets
- Request parameters: none
- Returns a list of Tickets in JSON format
- POST
/api/tickets
- Request parameters: none
- Request body: JSON with state, title, author_id, category, submission_time and content
- Returns the new ticket in JSON format
- PATCH
/api/tickets/open/:tid
- Request parameters: ticket id
- Returns the update icket in JSON format
- PATCH
/api/tickets/close/:tid
- Request parameters: ticket id
- Returns the update ticket in JSON format
- PATCH
/api/tickets/:tid
- Request parameters: ticket_id
- Request body: category
- Returns the new updated tickets
- GET
/api/blocks/:tid
- Request parameters: ticket id
- Returns a list of blocks (associated to ticket id) in JSON format
- POST
/api/blocks
- Body request: JSON with ticket_id, author_id, creation_time, content
- Returns the new block in JSON format
- POST
/api/sessions
- Request body: username and password
- Response body: user id, admin (boolean) and username
- GET
/api/sessions/current
- Request parameters: none
- Response:
200
and empty JSON body401
and {err: "No active session"}
- DELETE
/api/sessions/
- Request parameters: none
- Response: empy JSON and
200
status code
- GET
/api/token
- Request parameters: none
- Response: authLevel (boolean) and JWT token
- POST
/api/stats
- Request parameters: JWT token in header's
Bearer
and JSON body with a list of all tickets - Response: JSON body with a list of Objects containing ticket id and estimation
- Request parameters: JWT token in header's
- Table
users
- contains user_id (PK), admin, username, hash, salt - Table
tickets
- contains ticket_id (PK), state, title, author_id (FK users.user_id), category, submission_time, content - Table
blocks
- contains block_id (PK), ticket_id (FK tickets), author_id (FK users.user_id), creation_time, content
- components of
Layout.jsx
: wrap all layout's LoginForm
(inLogin.jsx
): renders the login formNavBar
(inNavBar.jsx
): renders the navbar used in common layoutTicketAdd
(inTicketAdd.jsx
): renders the form and modal to add a new ticketTicketsTable
andTicketRow
(inTickets.jsx
): renders the table and rows with all features in home layout
cataldo_basile
,passwd
enrico_masala
,passwd
antonio_di_scala
,passwd
antonio_lioy
,passwd
marco_mellia
,passwd
fulvio_valenza
,passwd