Should do some sanity checks throw an error in scenerios like trying to create an existing group (same name), leaving entering SVIE while being a member of it, ...
Should summarize the action in markdown format
Should be a single service for all ticket type
close a ticket
acceptTicket(userId, { ticketId, reason: '' })
rejectTicket(userId, { ticketId, reason: '' })
Should call a worker method with the .data property of the ticket, before closing it.
The worker method can then apply some effects on the DB.
only 4 controllers:
GET /?page=1&perPage=50&search="csatlakoz"
POST /ticket (create new)
POST /ticket/1/accept
POST /ticket/1/reject
database
only 1 new database model and NOT one per each type.
type: enum of request types
created by: user, closed by: user
created at: timestamp, closed at: timestamp
group: optional
data: json
summary: free text generated by the server, encoded in markdown
Some actions require an approval from an authorized person. For example:
frontend:
Create a page, called "tickets" (or reuse the one from alumni web), that displays a list of requests with an accept / reject button.
Tickets should be grouped (different sections) into these categories:
Closed and open tickets should be visually easily distinguishable. Add pagination and search features (the pek admin will see every ticket ever)
backend:
should be easily extendable by a new type of form.
only 3 public mutation service:
create a new ticket
Should do some sanity checks throw an error in scenerios like trying to create an existing group (same name), leaving entering SVIE while being a member of it, ... Should summarize the action in markdown format Should be a single service for all ticket type
close a ticket
acceptTicket(userId, { ticketId, reason: '' }) rejectTicket(userId, { ticketId, reason: '' }) Should call a worker method with the .data property of the ticket, before closing it. The worker method can then apply some effects on the DB.
only 4 controllers:
GET /?page=1&perPage=50&search="csatlakoz" POST /ticket (create new) POST /ticket/1/accept POST /ticket/1/reject
database
only 1 new database model and NOT one per each type.