POST
/api/auth/register
Registeres a new account
Body
{
"firstname" : "[Object"
"lastname" : "object]"
"email" : "object@object.object"
"password" : "i love js"
"gender" : "lettuce"
"day" : 1
"month" : 1
"year" : 1970
}
Responses
201
Successfully created new user, auth cookie is returned
400
Body does not match paramaters
POST
/api/auth/login
Logs into an existing account
Body
{
"email" : "object@object.object"
"password" : "i love js"
}
Responses
200
Successfully logged in, auth cookie is returned
400
Body does not match paramaters, or email/password is already in use
POST
/api/auth/logout
Logs out of an logged in account
auth cookie is required for authentication
Responses
200
Successfully logged out
401
Unauthorized
500
Failed to log out user
POST
/api/posts/create
Creates a new post
auth cookie is required for authentication
Body
{
"content" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
}
Responses
201
Successfully created post
400
Body does not match paramaters
401
Unauthorized
500
Failed to create post
POST
/api/posts/page
Load a section of posts from newest to oldest
auth cookie is required for authentication
Body
{
"page" : 0
}
Responses
200
Returns posts in application/json
400
Body does not match paramaters
401
Unauthorized
500
Failed to fetch posts
POST
/api/posts/user
Load a section of posts from newest to oldest from a specific user
auth cookie is required for authentication
Body
{
"user_id" : 3
"page" : 0
}
Responses
200
Returns posts in application/json
400
Body does not match paramaters
401
Unauthorized
500
Failed to fetch posts
PATCH
/api/posts/comment
Adds a comment to a post
auth cookie is required for authentication
Body
{
"content" : "This is a very good post"
"post_id" : 0
}
Responses
200
Successfully added comment
400
Body does not match paramaters
401
Unauthorized
500
Failed to add comment
PATCH
/api/posts/like
Set like status on a post
auth cookie is required for authentication
Body
{
"state" : true
"post_id" : 0
}
Responses
200
Successfully set like status
400
Body does not match paramaters
401
Unauthorized
500
Failed to set like status
POST
/api/users/load
Load a requested set of users
auth cookie is required for authentication
Body
{
"ids" : [0,3,7]
}
Responses
200
Returns users in application/json
400
Body does not match paramaters
401
Unauthorized
500
Failed to fetch users
POST
/api/users/page
Load a section of users from newest to oldest
auth cookie is required for authentication
Body
{
"page" : 0
}
Responses
200
Returns users in application/json
400
Body does not match paramaters
401
Unauthorized
500
Failed to fetch users
POST
/api/users/self
Returns current authenticated user (whoami)
auth cookie is required for authentication
Responses
200
Returns authed user in application/json
401
Unauthorized
500
Failed to fetch user
PUT
/api/users/avatar
Set your current profile avatar
auth cookie is required for authentication
Body
PNG sent as a binary blob
Responses
200
Successfully updated avatar
400
Invalid PNG or disallowed size
401
Unauthorized
500
Failed to update avatar
PUT
/api/users/banner
Set your current profile banner
auth cookie is required for authentication
Body
PNG sent as a binary blob
Responses
200
Successfully updated banner
400
Invalid PNG or disallowed size
401
Unauthorized
500
Failed to update banner
POST
/api/admin/auth
Authenticates on the admin panel
Body
{
"secret" : "admin"
}
Responses
200
Successfully authed, admin cookie returned
400
Body does match parameters, or invalid admin scret
POST
/api/admin/query
Run a SQL query on the database
admin cookie is required for authentication
Body
{
"query" : "DROP TABLE users;"
}
Responses
200
Successfully ran SQL query
400
Body does match parameters
401
Unauthorized
500
SQL query error
POST
/api/admin/posts
Returns the entire posts table
admin cookie is required for authentication
Responses
200
Returns sql table in text/html
401
Unauthorized
500
Failed to fetch data
POST
/api/admin/users
Returns the entire users table
admin cookie is required for authentication
Responses
200
Returns sql table in text/html
401
Unauthorized
500
Failed to fetch data
POST
/api/admin/sessions
Returns the entire posts sessions
admin cookie is required for authentication
Responses
200
Returns sql table in text/html
401
Unauthorized
500
Failed to fetch data