Add API spec to resolve #2
This commit is contained in:
		
							
								
								
									
										51
									
								
								docs/API.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								docs/API.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
			
		||||
API Endpoint Documentation
 | 
			
		||||
==========================
 | 
			
		||||
 | 
			
		||||
Arrival
 | 
			
		||||
```javascript
 | 
			
		||||
[Request]
 | 
			
		||||
POST /arrival
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
	"name": "Firstname Lastname",
 | 
			
		||||
	"agreetoguidelines": true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[Response]
 | 
			
		||||
200 OK
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Departure
 | 
			
		||||
```javascript
 | 
			
		||||
[Request]
 | 
			
		||||
POST /departure
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
	"name": "Firstname Lastname",
 | 
			
		||||
	"cleanedworkspace": true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
[Response]
 | 
			
		||||
OK
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Retrieve data
 | 
			
		||||
```javascript
 | 
			
		||||
[Request]
 | 
			
		||||
GET /data
 | 
			
		||||
Authorization: Basic < base64 USER:PASSWORD >
 | 
			
		||||
 | 
			
		||||
[Response]
 | 
			
		||||
200 OK
 | 
			
		||||
 | 
			
		||||
[
 | 
			
		||||
	{
 | 
			
		||||
		'name': 'firstname-middlename-lastname',
 | 
			
		||||
		'arrival': 'UTC-ISO-TIMESTAMP',
 | 
			
		||||
		'departure': 'UTC-ISO-TIMESTAMP'
 | 
			
		||||
	},
 | 
			
		||||
	...
 | 
			
		||||
]
 | 
			
		||||
```
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
Database Layout
 | 
			
		||||
===============
 | 
			
		||||
Database Layout Documentation
 | 
			
		||||
=============================
 | 
			
		||||
 | 
			
		||||
Default table
 | 
			
		||||
```
 | 
			
		||||
@ -8,6 +8,7 @@ Default table
 | 
			
		||||
		'name': 'firstname-middlename-lastname',
 | 
			
		||||
		'arrival': 'UTC-ISO-TIMESTAMP',
 | 
			
		||||
		'departure': 'UTC-ISO-TIMESTAMP'
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	...
 | 
			
		||||
]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
import json
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from slugify import slugify
 | 
			
		||||
 | 
			
		||||
from .config import config
 | 
			
		||||
if not config:
 | 
			
		||||
@ -31,10 +32,11 @@ def post_time():
 | 
			
		||||
 | 
			
		||||
	# TODO: JSON schema validation
 | 
			
		||||
	# TODO: JSON content validation
 | 
			
		||||
	name = slugify(data['name'])
 | 
			
		||||
 | 
			
		||||
	now = datetime.utcnow()
 | 
			
		||||
	db.insert({
 | 
			
		||||
		'name': data['name'],
 | 
			
		||||
		'name': name,
 | 
			
		||||
		'arrival': now.isoformat(),
 | 
			
		||||
		'departure': None
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user