Skip to content

POC of a elixir-based chat application backend

Notifications You must be signed in to change notification settings

firestata/whisp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Whisp

Backend API

verb path controller handler func. description expected input
POST /api/sessions WhispWeb.SessionController :create log in user/create new session token {"username":,"email":,"password":}
DELETE /api/sessions WhispWeb.SessionController :delete log out user/delete session revoke
POST /api/sessions/refresh WhispWeb.SessionController :refresh refresh session token
POST /api/users WhispWeb.UserController :create create new user
GET /api/users/:id/rooms WhispWeb.UserController :rooms list joined rooms of specified user ID
GET /api/rooms WhispWeb.RoomController :index list all rooms
POST /api/rooms WhispWeb.RoomController :create create new room {"name":<room_name>,"topic":}
POST /api/rooms/:id/join WhispWeb.RoomController :join join room of specified ID

Create user via curl

curl -X POST -H "Content-Type: application/json" <domain>:<port>/api/users --data '{"username":"jsnow","email":"jon.snow@youknownothing.org","password":"imadragonboi"}'

Returns user info and a JWT if sucessful:

{"data":{"id":<id>,
         "username":<username>,
         "email":<email>},
 "meta":<token>}

Requesting protected information

Fetch joined rooms

curl -H "Content-Type: application/json" -H "Authorization: Bearer <token>" <domain>:<port>/api/users/<user_id>/rooms

About

POC of a elixir-based chat application backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published