2022-10-29 22:21:24 +02:00
|
|
|
## FreeSewing backend
|
2019-07-04 12:14:58 +02:00
|
|
|
|
2022-10-29 22:21:24 +02:00
|
|
|
This is a work in process to port the v2 backend to a new v3 backend.
|
2019-07-04 12:14:58 +02:00
|
|
|
|
2022-10-29 22:21:24 +02:00
|
|
|
It will be based on Express using Prisma with a SQLite database.
|
|
|
|
Watch this space.
|
2022-11-05 18:55:59 +01:00
|
|
|
|
|
|
|
## Permission levels
|
|
|
|
|
|
|
|
There are two different models to authenticate, as user, or with an API key.
|
|
|
|
|
|
|
|
The API keys have more granularity, their permission levels are:
|
|
|
|
|
|
|
|
- `0`: No permissions. Can only login but not do anything (used for testing)
|
|
|
|
- `1`: Read access to own people/patterns data
|
|
|
|
- `2`: Read access to all account data
|
|
|
|
- `3`: Write access to own people/pattern data
|
|
|
|
- `4`: Write access to all own account data (this is the `user` role)
|
|
|
|
- `5`: Read access to people/pattern data of all users (this is the `bughunter` role)
|
|
|
|
- `6`: Read access to all account data of all users
|
|
|
|
- `7`: Read access to all account data of all users + Write access for specific support functions (this is the `support` role)
|
|
|
|
- `8`: Write access to all account data of all users (this is the `admin` role)
|
|
|
|
|
|
|
|
User roles map to these permission levels as such:
|
|
|
|
|
|
|
|
- `user`: 4 (this is everybody)
|
|
|
|
- `bughunter`: 5 (a small group of people, less than 10)
|
|
|
|
- `support`: 7 (a small number of trusted collaborators, less than 5)
|
|
|
|
- `admin`: 8 (joost)
|
|
|
|
|
|
|
|
When using an API key above level 4, you need the following roles:
|
|
|
|
|
|
|
|
- 5: Requires bughunter, support, or admin
|
|
|
|
- 6,7,: Requires support or admin
|
|
|
|
- 8: Requires admin
|