Update auth server docs and fix some styling
This commit is contained in:
parent
d2cb012e1e
commit
3863f58b41
|
@ -78,6 +78,8 @@ Example response:
|
||||||
{
|
{
|
||||||
"url": "http://tools-auth.protospace.ca/tool/table-saw/",
|
"url": "http://tools-auth.protospace.ca/tool/table-saw/",
|
||||||
"category": "http://tools-auth.protospace.ca/category/wood-shop/",
|
"category": "http://tools-auth.protospace.ca/category/wood-shop/",
|
||||||
|
"firmware": "0010",
|
||||||
|
"upgrade_group": "Critical",
|
||||||
"name": "Table Saw",
|
"name": "Table Saw",
|
||||||
"slug": "table-saw",
|
"slug": "table-saw",
|
||||||
"info": "scary tool",
|
"info": "scary tool",
|
||||||
|
@ -88,6 +90,8 @@ Example response:
|
||||||
{
|
{
|
||||||
"url": "http://tools-auth.protospace.ca/tool/jointer/",
|
"url": "http://tools-auth.protospace.ca/tool/jointer/",
|
||||||
"category": "http://tools-auth.protospace.ca/category/wood-shop/",
|
"category": "http://tools-auth.protospace.ca/category/wood-shop/",
|
||||||
|
"firmware": "0010",
|
||||||
|
"upgrade_group": "Testing",
|
||||||
"name": "Jointer",
|
"name": "Jointer",
|
||||||
"slug": "jointer",
|
"slug": "jointer",
|
||||||
"info": "goes buzz buzz",
|
"info": "goes buzz buzz",
|
||||||
|
@ -107,6 +111,8 @@ Example response:
|
||||||
{
|
{
|
||||||
"url": "http://tools-auth.protospace.ca/tool/metal-lathe/",
|
"url": "http://tools-auth.protospace.ca/tool/metal-lathe/",
|
||||||
"category": "http://tools-auth.protospace.ca/category/metal-shop/",
|
"category": "http://tools-auth.protospace.ca/category/metal-shop/",
|
||||||
|
"firmware": "0010",
|
||||||
|
"upgrade_group": "Critical",
|
||||||
"name": "Metal Lathe",
|
"name": "Metal Lathe",
|
||||||
"slug": "metal-lathe",
|
"slug": "metal-lathe",
|
||||||
"info": "spins fast",
|
"info": "spins fast",
|
||||||
|
@ -142,6 +148,38 @@ Example response:
|
||||||
"00000B8567,00000A4123,00000C9999"
|
"00000B8567,00000A4123,00000C9999"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### POST `/infolog/[MAC]/`
|
||||||
|
|
||||||
|
Send log entries to the auth server for logging. Entries are base64 encoded in the `log` param.
|
||||||
|
|
||||||
|
Returns the number of entries processed, the current server unix time, and the firmware version for that lockout.
|
||||||
|
|
||||||
|
Example request:
|
||||||
|
|
||||||
|
```
|
||||||
|
curl -d log=cHJldGVuZCB0aGF0IHRoZXNlIGFyZSBhY3R1YWwgbG9nIGVudHJpZXMgYW5kIHJhbmRvbSB0ZXh0 http://tools-auth.protospace.ca/infolog/2C3AE843A15F/
|
||||||
|
```
|
||||||
|
|
||||||
|
Example response:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"processed": 7,
|
||||||
|
"version": "MRWIZARD 0010 MRWIZARD",
|
||||||
|
"unixTime": 1551139854
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GET `/update/[MAC]/`
|
||||||
|
|
||||||
|
Returns the current firmware binary that should be running on the lockout.
|
||||||
|
|
||||||
|
Example request:
|
||||||
|
|
||||||
|
```
|
||||||
|
curl http://tools-auth.protospace.ca/update/2C3AE843A15F/
|
||||||
|
```
|
||||||
|
|
||||||
### For authenticated users
|
### For authenticated users
|
||||||
|
|
||||||
#### GET `/user/`
|
#### GET `/user/`
|
||||||
|
@ -168,6 +206,26 @@ Example response:
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### PUT `/select-courses/`
|
||||||
|
|
||||||
|
Send a list of course slugs that the user has taken in the `courses` param separated by a comma.
|
||||||
|
|
||||||
|
This allows users to declare which courses they have taken the first time they log into the lockout website (honour system).
|
||||||
|
|
||||||
|
Operation can only be done once. Returns the number of courses added.
|
||||||
|
|
||||||
|
Example request:
|
||||||
|
|
||||||
|
```
|
||||||
|
curl -X PUT -H "Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b" -d courses=wood-1,wood-2,metal-mig http://tools-auth.protospace.ca/select-courses/
|
||||||
|
```
|
||||||
|
|
||||||
|
Example response:
|
||||||
|
|
||||||
|
```
|
||||||
|
{"updated":3}
|
||||||
|
```
|
||||||
|
|
||||||
### For lockout admins
|
### For lockout admins
|
||||||
|
|
||||||
Ensure images are square and 1280x1280 px large. Slugs should be lowercase and one word (replace spaces with hyphens).
|
Ensure images are square and 1280x1280 px large. Slugs should be lowercase and one word (replace spaces with hyphens).
|
||||||
|
@ -190,6 +248,14 @@ Get a specific category, modify or delete an existing one.
|
||||||
|
|
||||||
Note: you can only delete a category that has no tools.
|
Note: you can only delete a category that has no tools.
|
||||||
|
|
||||||
|
#### GET, POST `/course/`
|
||||||
|
|
||||||
|
Get a list of courses, or post a new course to the database.
|
||||||
|
|
||||||
|
#### GET, PUT, DELETE `/course/[slug]/`
|
||||||
|
|
||||||
|
Get a specific course, modify or delete an existing one.
|
||||||
|
|
||||||
#### GET `/profile/`
|
#### GET `/profile/`
|
||||||
|
|
||||||
Get a list of all profiles.
|
Get a list of all profiles.
|
||||||
|
@ -200,6 +266,14 @@ Get a specific profile, or modify an existing one.
|
||||||
|
|
||||||
Here you can authorize users on tools or make them another lockout admin.
|
Here you can authorize users on tools or make them another lockout admin.
|
||||||
|
|
||||||
|
#### GET, POST `/firmware/`
|
||||||
|
|
||||||
|
Get a version of the firmware, or post a new one to the database.
|
||||||
|
|
||||||
|
Select which group of tools to deploy the new firmware version to, then upload a firmware .bin file. The version number is extracted from the binary data and must be unique.
|
||||||
|
|
||||||
|
Updating firmware objects is not allowed. To assign a new tool to a firmware version, go through the tool object.
|
||||||
|
|
||||||
#### PUT `/update-cards/`
|
#### PUT `/update-cards/`
|
||||||
|
|
||||||
Send a dictionary of username=card_number,card_number,card_number pairs to update any profiles already in the system. Users not already registered will be ignored.
|
Send a dictionary of username=card_number,card_number,card_number pairs to update any profiles already in the system. Users not already registered will be ignored.
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#define CARD_CHECK_LENGTH 2
|
#define CARD_CHECK_LENGTH 2
|
||||||
#define CARD_HEAD_BYTE 0x2
|
#define CARD_HEAD_BYTE 0x2
|
||||||
#define CARD_TAIL_BYTE 0x3
|
#define CARD_TAIL_BYTE 0x3
|
||||||
|
|
||||||
struct __attribute__((packed)) cardData {
|
struct __attribute__((packed)) cardData {
|
||||||
char head;
|
char head;
|
||||||
char data[CARD_DATA_LENGTH];
|
char data[CARD_DATA_LENGTH];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user