Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API Coverage list #43

Open
ChurchOfTheSubgenius opened this issue Mar 8, 2024 · 4 comments
Open

API Coverage list #43

ChurchOfTheSubgenius opened this issue Mar 8, 2024 · 4 comments

Comments

@ChurchOfTheSubgenius
Copy link
Member

I'm listing out all the API coverage on both the existing golang backend and the rust server. This list should help us understand where we're at regarding reaching feature parity with the golang backend.

Account route commune-server commune-rs
Create Account POST /account
Login POST /login
Logout GET /logout
Validate Session GET /account/session
Validate Token POST /account/token
Send Password Recovery Code POST /account/password
Verify Password POST /account/password/verify
Reset Password POST /account/password/reset
Update Password POST /account/password/update
Send Verifications Code POST /account/verify/code
Verify Code POST /account/verify
Verify Email POST /account/verify/email
Update Display Name POST /account/display_name
Update Avatar POST /account/avatar
Check Username Availability GET /username
Validate Email GET /email
User Feed route commune-server commune-rs
Fetch Feed Get /feed
Notifications route commune-server commune-rs
Fetch notifications GET /notifications
Sync notifications GET /notifications/sync
Mark Read POST /notifications/read
Public Spaces route commune-server commune-rs
Discover Public Spaces GET /discover
Fetch Public Spaces GET /public_spaces
Media route commune-server commune-rs
Presigned URL GET /media/presigned_url
Upload URL GET /media/upload_url
GIFs route commune-server commune-rs
search GIFs GET /gifs/search
Fetch GIF Categories GET /gifs
Links route commune-server commune-rs
Fetch Link Metadata GET /link/metadata
Events route commune-server commune-rs
Fetch All Events GET /events
Event route commune-server commune-rs
Create Event POST /event
Create State Event POST /event/state
Redact Event POST /event/redact
Redact Reaction Event POST /event/redact/reaction
Upvote Event PUT /event/upvote
Downvote Event PUT /event/downvote
Room route commune-server commune-rs
Fetch Room Messages GET /room/{room_id}/messages
Sync Room Messages GET /room/{room_id}/sync
Fetch Room Members GET /room/{room_id}/members
Room Join Status GET /room/joined
Join Room POST /room/join
Leave Room POST /room/leave
Join Room POST /room/join
Invite user to Room POST /room/{room_id}/invite/{user_id}
Space route commune-server commune-rs
Join Space POST /space/{space}/join
Leave Space POST /space/{space}/leave
Create Space POST /space/create
Create Space Room POST /space/room/create
Get Space Custom Emoji GET /space/emoji
Fetch Space Events GET /{space}/events
Fetch Space Room Events GET /{space}/{room_id}/events
Fetch Space State GET /{space}/state
Fetch Space Power Levels GET /{space}/power_levels
@avdb13
Copy link
Collaborator

avdb13 commented Mar 11, 2024

Thanks.

@marceline-cramer
Copy link
Collaborator

This looks great; very helpful for comparing/contrasting the codebases.

@avdb13
Copy link
Collaborator

avdb13 commented Mar 24, 2024

This looks great; very helpful for comparing/contrasting the codebases.

Indeed, The code is as stupidly simple as it can be except for the UIA bypass. It might be possible to move that up to the router as a middleware.

What are we doing at sync? I'm sure this requires some extra work on the router level.

@avdb13
Copy link
Collaborator

avdb13 commented Mar 24, 2024

A few comments:

  • Update Display Name/Avatar should have an optional /:room_id suffix for room-specific membership changes.

  • Fetch all events isn't supposed to expose all server events including or is it? We might be able to allow users to share i.e. threads by marking them as public.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants