updated to readme about user management

This commit is contained in:
Sam
2021-02-02 12:01:05 +00:00
parent 3e54061733
commit 02b6e9545e

108
README.md
View File

@@ -6,6 +6,7 @@ This README aims to document functionality of backend as well as required steps
- [First Steps](#first-steps) - [First Steps](#first-steps)
- [Location Data](#location-data) - [Location Data](#location-data)
- [Endpoints](#endpoints)
## First Steps ## First Steps
@@ -34,3 +35,110 @@ python manage.py migrate
## Location data ## Location data
To load initial location data use: `python manage.py addgeo` To load initial location data use: `python manage.py addgeo`
## Endpoints
### User Management
Creation:
- endpoint: /api/v1/users/
- method: GET
- payload:
```json
{
"email": "test@email.com",
"full_name": "TEST NAME",
"password": "VENTILADOR2ES1234499.89",
}
```
Change password:
- endpoint: api/v1/user/change_password/{user.pk}/
- method: POST
- payload:
```json
{
"old_password": "my_old_password",
"password": "SUPERSECRETNEWPASSWORD",
"password2": "SUPERSECRETNEWPASSWORD"
}
```
Update user profile:
- endpoint: api/v1/user/update/<int:pk>/
- method: PUT
- payload:
```json
{
"email": "new_user@email.com",
"full_name": "Mr. TEST NAME",
}
```
### Authentication
Implemented using `djangorestframework-simplejwt`
New token pair endpoint: `/api/v1/token/`
Response:
```json
{
"refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTYxMjI3MTcwNSwianRpIjoiZDU4YTgzYzFkYzFkNDI5MTljMGQ0NzcxNzljNzUxYTQiLCJ1c2VyX2lkIjo4fQ.yln80W5lONSyHwwqF4qBBHteqLuRfdLLWuaQANr_vxc",
"access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjEyMTg4OTA1LCJqdGkiOiIzNGIxMzM3NmU4MWI0OWY5YjU3ZmUxM2M5NThmZWZkYiIsInVzZXJfaWQiOjh9.aRDCUvKj7LCvixjPLC9ghy0h7rfRwR6Lo3A7HX4kSHE"
}
```
Refresh expired token endpoint: `/api/v1/token/refresh/`
### Users
Endpoint url: `/api/v1/users/`
Authenticated users cannot create new users
User are inactive by default
To create user:
```json
{
"email": "test_user23@mail.com",
"full_name": "Mr Test User",
"password": "wqertewqr32qrewqr",
"provider": "TWITTER"
}
```
### Companies
Endpoint url: `/api/v1/companies/`
### Products
Endpoint url: `/api/v1/products/`
### History
Endpoint url: `/api/v1/history/`:
Historical records about product importation
### Stats
Endpoint url: `/api/v1/stats/`
logs about user interaction with products links
### Geo location
Location ednpoints:
- `/api/v1/countries/`
- `/api/v1/regions/`
- `/api/v1/provinces/`
- `/api/v1/cities/`