abuelo/README.md
2024-11-23 14:27:33 +05:00

97 lines
2.4 KiB
Markdown

# ABUELO
Abuelo is an open source profile service meant to organize development around
AbleOS and related projects. The rest of this document is documentation for
the API
## GET /user/:username
Return information about a particular user in the following format:
```json
{
"success" : Boolean,
"message" : String,
"creation" : String,
"is_premium" : Boolean,
}
```
- **success**: if the user is found successfully then the value returned is
true
- **message**: if success is false, contains an error message to give to the
user
- **creation**: if success is true, contains the creation date of the account in the format
YYYY-MM-DD HH:MM
- **is_premium**: if succuss is true, contains whether or not the account is premium
## POST /user/:username/update
Updates the records in the database
Request Format:
```json
{
"username" : String?,
"password" : String,
"new_password" : String?
}
```
(question marks indicate the value is nullable)
- **username**: The new username of the user
- **password**: The (plain-text currently but in future RSA encrypted) password of the user
- **new_password**: The new (plain-text currently but in future RSA encrypted) password of the user
Response Format:
```json
{
"success" : Boolean,
"message" : String,
}
```
- **success**: if the user is updated successfully then the value returned is
true
- **message**: if success is false, contains an error message to give to the user
## POST /user/create
Adds a user to the database
Request Format:
```json
{
"username" : String,
"password" : String,
}
```
- **username**: The username of the newly created user
- **password**: The (plain-text currently but in future RSA encrypted) password of the newly created user
Response Format:
```json
{
"success" : Boolean,
"message" : String,
}
```
- **success**: if the user is created successfully then the value returned is
true
- **message**: if success is false, contains an error message to give to the user
## POST /user/auth
Authorizes the user
Request Format:
```json
{
"username" : String,
"password" : String,
}
```
- **username**: The username of the user
- **password**: The (plain-text currently but in future RSA encrypted) password of the user
Response Format:
```json
{
"success" : Boolean,
"message" : String,
}
```
- **success**: if the user is authed successfully then the value returned is
true
- **message**: if success is false, contains an error message to give to the user