Skip to content

Commit

Permalink
cleaner API notation
Browse files Browse the repository at this point in the history
  • Loading branch information
Varrience authored Dec 29, 2024
1 parent d6ee618 commit dae4c8d
Showing 1 changed file with 71 additions and 55 deletions.
126 changes: 71 additions & 55 deletions Pages/api.txt
Original file line number Diff line number Diff line change
@@ -1,67 +1,83 @@
path method auth data
method path auth data
data = ?queryStringProperty=<type>&(optional)=<type> ?alternateSyntax=<type>
data = { requestBodyProperty: <type>, (optional): <type> } { alternateSyntax: <type> }

Admin API
/api/admin/transfer GET Admin ?uid=<user id>&project=<project id> ?uid=<id>&post=<post id>
/api/admin/resetpassword GET Admin ?uid=<user id>&password=<string>
/api/admin/reports/create POST User { content: <string>, link: <string> }
/api/admin/reports/list GET Admin
[GET]
/api/admin/transfer Admin ?uid=<user id>&project=<project id> ?uid=<id>&post=<post id>
/api/admin/resetpassword Admin ?uid=<user id>&password=<string>
/api/admin/reports/list Admin
[POST]
/api/admin/reports/create User { content: <string>, link: <string> }

Auth API
/api/auth/register POST None { username: <string>, password: <string> }
/api/auth/login POST None { username: <string>, password: <string> }
/api/auth/changePassword POST User { currentPassword: <string>, newPassword: <string> }
/api/auth/update PUT User { username: <string>, avatar: <url>, banner: <url>, biography: <string>, mature: <bool> }
/api/auth/updateRole PUT Admin { role: <role>, id: <user id> }
/api/auth/deleteUser DELETE Admin { id: <user id> }
/api/auth/deleteSelf DELETE User { confirmationPswd: <string> }
/api/auth/listUsers GET None ?(role)=<role>&(customQuery)=<mongodb query object>
/api/auth/check GET Check
/api/auth/userdata GET None ?id=<user id> ?username=<string>
/api/auth/follow GET User ?id=<user id> ?username=<string>
/api/auth/unfollow GET User ?id=<user id> ?username=<string>
/api/auth/verify/send POST User { email: <string> }
/api/auth/verify/email GET None ?id=<token>
/api/auth/resetPassword/send POST None { email: <string> }
/api/auth/resetPassword/reset POST None { id: <token>, password: <string> }
/notification/<index:int> GET User
[DELETE]
/api/auth/deleteUser Admin { id: <user id> }
/api/auth/deleteSelf User { confirmationPswd: <string> }
[GET]
/api/auth/listUsers None ?(role)=<role>&(customQuery)=<mongodb query object>
/api/auth/check Check
/api/auth/userdata None ?id=<user id> ?username=<string>
/api/auth/follow User ?id=<user id> ?username=<string>
/api/auth/unfollow User ?id=<user id> ?username=<string>
/api/auth/verify/email None ?id=<token>
/notification/<index:int> User
[POST]
/api/auth/register None { username: <string>, password: <string> }
/api/auth/login None { username: <string>, password: <string> }
/api/auth/changePassword User { currentPassword: <string>, newPassword: <string> }
/api/auth/verify/send User { email: <string> }
/api/auth/resetPassword/send None { email: <string> }
/api/auth/resetPassword/reset None { id: <token>, password: <string> }
[PUT]
/api/auth/update User { username: <string>, avatar: <url>, banner: <url>, biography: <string>, mature: <bool> }
/api/auth/updateRole Admin { role: <role>, id: <user id> }

Project API
/api/project/publish POST User { title: <string>, link: <url>, content: <string>, thumbnail: <url>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ], platform: <string> }
/api/project/list GET ?(poster)=<string>&(platform)=<string>&(postedBefore)=<int>&(postedAfter)=<int>&(includeTags)=[<string>]&(excludeTags)=[<string>]&(featured)=<bool>&(showMature)=<bool>&(showHidden)=<bool>&(recipient)=<string>&(customQuery)=<mongodb query object>
/api/project/search GET ?query=<string>&(showMature)=<bool>&(showHidden)=<bool>
/api/project/data/<id:project id> GET this.data.bind(this));
/api/project/update/<id:project id> PUT User { title: <string>, link: <url>, content: <string>, thumbnail: <url>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ], platform: <string> }
/api/project/delete/<id:project id> DELETE User
/api/project/delete/<id:project id> GET User
/api/project/favorite/<id:project id> GET User
/api/project/unfavorite/<id:project id> GET User
/api/project/feature/<id:project id> GET Admin
/api/project/unfeature/<id:project id> GET Admin
/api/project/comment/<id:project id> POST User { content: <string> }
/api/project/comment/<id:project id>/edit PUT User { content: <string>, index: <int> }
/api/project/comment/<id:project id>/delete DELETE User { index: <int> }
/api/project/comment/<id:project id>/upvote GET User ?index=<int>
/api/project/comment/<id:project id>/downvote GET User ?index=<int>
[DELETE]
/api/project/delete/<id:project id> User
/api/project/comment/<id:project id>/delete User { index: <int> }
[GET]
/api/project/list ?(poster)=<string>&(platform)=<string>&(postedBefore)=<int>&(postedAfter)=<int>&(includeTags)=[<string>]&(excludeTags)=[<string>]&(featured)=<bool>&(showMature)=<bool>&(showHidden)=<bool>&(recipient)=<string>&(customQuery)=<mongodb query object>
/api/project/search ?query=<string>&(showMature)=<bool>&(showHidden)=<bool>
/api/project/data/<id:project id> this.data.bind(this));
/api/project/delete/<id:project id> User
/api/project/favorite/<id:project id> User
/api/project/unfavorite/<id:project id> User
/api/project/feature/<id:project id> Admin
/api/project/unfeature/<id:project id> Admin
/api/project/comment/<id:project id>/upvote User ?index=<int>
/api/project/comment/<id:project id>/downvote User ?index=<int>
[POST]
/api/project/publish User { title: <string>, link: <url>, content: <string>, thumbnail: <url>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ], platform: <string> }
/api/project/comment/<id:project id> User { content: <string> }
[PUT]
/api/project/update/<id:project id> User { title: <string>, link: <url>, content: <string>, thumbnail: <url>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ], platform: <string> }
/api/project/comment/<id:project id>/edit User { content: <string>, index: <int> }

Forum API
/api/forum/publish POST User { title: <string>, content: <string>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ] }
/api/forum/list GET None ?(poster)=<string>&(platform)=<string>&(postedBefore)=<int>&(postedAfter)=<int>&(includeTags)=[<string>]&(excludeTags)=[<string>]&(featured)=<bool>&(showMature)=<bool>&(showHidden)=<bool>&(recipient)=<string>&(customQuery)=<mongodb query object>
/api/forum/search GET ?query=<string>&(showMature)=<bool>&(showHidden)=<bool>
/api/forum/data/<id:post id> GET None
/api/forum/update/<id:post id> PUT User { title: <string>, content: <string>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ] }
/api/forum/delete/<id:post id> DELETE User
/api/forum/delete/<id:post id> GET User
/api/forum/feature/<id:post id> GET Admin
/api/forum/unfeature/<id:post id> GET Admin
/api/forum/comment/<id:post id> POST User { content: <string> }
/api/forum/comment/<id:post id>/edit PUT User { content: <string>, index: <int> }
/api/forum/comment/<id:post id>/delete DELETE User { index: <int> }
/api/forum/comment/<id:post id>/upvote GET User ?index=<int>
/api/forum/comment/<id:post id>/downvote GET User ?index=<int>
[DELETE]
/api/forum/delete/<id:post id> User
/api/forum/comment/<id:post id>/delete User { index: <int> }
[GET]
/api/forum/list None ?(poster)=<string>&(platform)=<string>&(postedBefore)=<int>&(postedAfter)=<int>&(includeTags)=[<string>]&(excludeTags)=[<string>]&(featured)=<bool>&(showMature)=<bool>&(showHidden)=<bool>&(recipient)=<string>&(customQuery)=<mongodb query object>
/api/forum/search ?query=<string>&(showMature)=<bool>&(showHidden)=<bool>
/api/forum/data/<id:post id> None
/api/forum/delete/<id:post id> User
/api/forum/feature/<id:post id> Admin
/api/forum/unfeature/<id:post id> Admin
/api/forum/comment/<id:post id>/upvote User ?index=<int>
/api/forum/comment/<id:post id>/downvote User ?index=<int>
[POST]
/api/forum/publish User { title: <string>, content: <string>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ] }
/api/forum/comment/<id:post id> User { content: <string> }
[PUT]
/api/forum/update/<id:post id> User { title: <string>, content: <string>, tags: [ <string> ], mature: <bool>, hidden: <bool>, privateRecipients: [ <user id> ] }
/api/forum/comment/<id:post id>/edit User { content: <string>, index: <int> }

Media API
/api/media/upload POST User
/api/media/get/<id:media id>/<string> GET None
/api/media/list GET None ?(poster)=<user id>&(customQuery)=<mongodb query object>
[GET]
/api/media/get/<id:media id>/<string> None
/api/media/list None ?(poster)=<user id>&(customQuery)=<mongodb query object>
[POST]
/api/media/upload User

0 comments on commit dae4c8d

Please sign in to comment.