update api structure

This commit is contained in:
Ean Milligan
2026-04-09 23:15:12 -04:00
parent 79313eeff9
commit b8bd784807

View File

@@ -39,18 +39,18 @@ The API will be a combination API and basic SSR.
### Routes ### Routes
- /api - SSR Page: shows login form - /api/home - SSR Page: shows login form
- /api/[userId] - SSR Page: provides import plan button to upload an existing xivplan url to the db, shows all user's plans (have section for deleted plans), each plan should have the following buttons: [Open], [Share], [Rename*] [Delete*] Buttons with a \* will prompt for PIN to confirm. - /api/home/[userId] - SSR Page: provides import plan button to upload an existing xivplan url to the db, shows all user's plans (have section for deleted plans), each plan should have the following buttons: [Open], [Share], [Rename*] [Delete*] Buttons with a \* will prompt for PIN to confirm.
- /api/read/[planId] - API Page: **GET** returns name and data as JSON object - /api/read/[planId] - API Page: **GET** returns name and data as JSON object
- /api/[userId]/list - API Page: **GET** returns non-deleted plans, specifically the name, id, and folder of each plan as a JSON array of objects - /api/list/[userId] - API Page: **GET** returns non-deleted plans, specifically the name, id, and folder of each plan as a JSON array of objects
- /api/[userId]/export - API Page: **GET** returns zip of .xivplan files - /api/export/[userId] - API Page: **GET** returns zip of .xivplan files
- /api/create - API Page: **POST** to save new plan to DB, requires name, **PIN**, and data (optionally folder), api will generate a nanoid for the PK - /api/create - API Page: **POST** to save new plan to DB, requires name, **PIN**, and data (optionally folder), api will generate a nanoid for the PK
- /api/update/[planId] - API Page: **PUT** to overwrite plan while keeping same name and id, requires **PIN** and data - /api/update/[planId] - API Page: **PUT** to overwrite plan while keeping same name and id, requires **PIN** and data
- /api/rename/[planId] - API Page: **PUT** to rename plan while keeping same data and id, requires **PIN** and name - /api/rename/[planId] - API Page: **PUT** to rename plan while keeping same data and id, requires **PIN** and name
- /api/move/[planId] - API Page: **PUT** to change what folder a plan is in while keeping same data, name, and id, requires **PIN** and name - /api/move/[planId] - API Page: **PUT** to change what folder a plan is in while keeping same data, name, and id, requires **PIN** and name
- /api/undelete/[planId] - API Page: **PUT** to unmark plan as deleted, requires **PIN** - /api/undelete/[planId] - API Page: **PUT** to unmark plan as deleted, requires **PIN**
- /api/delete/[planId] - API Page: **DELETE** to mark plan as deleted, requires **PIN** - /api/delete/[planId] - API Page: **DELETE** to mark plan as deleted, requires **PIN**
- /api/auth - API Page: **POST** to check if you are who you say you are, requires username and **PIN**, returns userId and boolean of if email was set - /api/auth - API Page: **POST** to check if you are who you say you are, requires username and **PIN**, returns userId and boolean of if email was set
- /api/enroll - API Page: **POST** to create new user, requires username and **PIN** (optionally email), returns userId - /api/enroll - API Page: **POST** to create new user, requires username and **PIN** (optionally email), returns userId
- /api/unenroll - API Page: **DELETE** to get rid of user and all of their plans, requires username and **PIN** (and deletion-confirmation-code if email present) - /api/unenroll - API Page: **DELETE** to get rid of user and all of their plans, requires username and **PIN** (and deletion-confirmation-code if email present)
- If email present on user and delete-confirmation-code not present, send delete-confirmation-code to user and have them redo form - If email present on user and delete-confirmation-code not present, send delete-confirmation-code to user and have them redo form