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
 | 
					Default table
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
@ -8,6 +8,7 @@ Default table
 | 
				
			|||||||
		'name': 'firstname-middlename-lastname',
 | 
							'name': 'firstname-middlename-lastname',
 | 
				
			||||||
		'arrival': 'UTC-ISO-TIMESTAMP',
 | 
							'arrival': 'UTC-ISO-TIMESTAMP',
 | 
				
			||||||
		'departure': 'UTC-ISO-TIMESTAMP'
 | 
							'departure': 'UTC-ISO-TIMESTAMP'
 | 
				
			||||||
	}
 | 
						},
 | 
				
			||||||
 | 
						...
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,6 @@
 | 
				
			|||||||
import json
 | 
					import json
 | 
				
			||||||
from datetime import datetime
 | 
					from datetime import datetime
 | 
				
			||||||
 | 
					from slugify import slugify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .config import config
 | 
					from .config import config
 | 
				
			||||||
if not config:
 | 
					if not config:
 | 
				
			||||||
@ -31,10 +32,11 @@ def post_time():
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	# TODO: JSON schema validation
 | 
						# TODO: JSON schema validation
 | 
				
			||||||
	# TODO: JSON content validation
 | 
						# TODO: JSON content validation
 | 
				
			||||||
 | 
						name = slugify(data['name'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	now = datetime.utcnow()
 | 
						now = datetime.utcnow()
 | 
				
			||||||
	db.insert({
 | 
						db.insert({
 | 
				
			||||||
		'name': data['name'],
 | 
							'name': name,
 | 
				
			||||||
		'arrival': now.isoformat(),
 | 
							'arrival': now.isoformat(),
 | 
				
			||||||
		'departure': None
 | 
							'departure': None
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user