This repository has been archived by the owner on Aug 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.yaml
220 lines (212 loc) · 5.55 KB
/
openapi.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
openapi: 3.0.0
info:
title: SAB-API
description: API for viewing and managing office, appointment and biokit information
version: 0.2.0
servers:
- url: http://sab-database.dev.esdc.online
description: Development server
paths:
/locations:
get:
tags:
- Locations
summary: Returns location data and nested biokits
parameters:
- in: query
name: province
schema:
type: string
description: The province with which you would like to query locations eg. Ontario, Quebec, British%20Columbia
- in: query
name: city
schema:
type: string
description: The city with which you would like to query locations eg. Toronto, Ottawa, Montreal
responses:
"200":
description: Successful operation
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Locations"
post:
tags:
- Locations
summary: Creates a new location and then returns that location in the response
requestBody:
description: A location object to be inserted into the database
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Locations"
responses:
"200":
description: Succesful operation
content:
application/json:
schema:
$ref: "#/components/schemas/Locations"
/locations/{locationId}:
get:
tags:
- Locations
summary: Returns a single location
parameters:
- in: path
name: locationId
schema:
type: string
required: true
description: Object id of location to return
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: "#/components/schemas/Locations"
put:
tags:
- Locations
summary: Updates a location
parameters:
- in: path
name: locationId
schema:
type: string
required: true
description: Object id of location to update then return
requestBody:
description: A location object to be inserted into the database
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Locations"
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: "#/components/schemas/Locations"
/locations/locationsByProv/{province}/{city}:
get:
tags:
- Locations
summary: Returns either array of cities (if province is passed) or array of locations (if province and city are passed)
parameters:
- in: path
name: province
schema:
type: string
required: true
description: The province for which you would want returned a list of cities that have locations
- in: path
name: city
schema:
type: string
required: true
description: The city for which you would like to receive locations information
responses:
"200":
description: "Successful operation"
content:
application/json:
schema:
type: array
items:
oneOf:
- $ref: "#/components/schemas/Locations"
- $ref: "#/components/schemas/Cities"
components:
schemas:
Locations:
type: object
properties:
locationId:
type: string
locationName:
type: string
locationAddress:
type: string
locationCity:
type: string
postalCode:
type: string
locationProvince:
type: string
hours:
type: string
closures:
type: array
items:
type: object
properties:
periodStart:
type: string
format: date-time
periodEnd:
type: string
format: date-time
bioKits:
type: array
items:
$ref: "#/components/schemas/BioKits"
BioKits:
type: object
properties:
bioKitId:
type: string
accessible:
type: boolean
private:
type: boolean
available:
type: boolean
Appointments:
type: object
properties:
appointmentId:
type: string
clientEmail:
type: string
format: email
phoneNumber:
type: number
locationId:
type: string
bioKitId:
type: string
bil:
type: string
confirmation:
type: string
date:
type: string
format: date-time
dateConfirmed:
type: string
format: date-time
expires:
type: string
format: date-time
maintenance:
type: boolean
cancelledByClient:
type: boolean
cancelledByLocation:
type: boolean
Cities:
type: object
properties:
_id:
type: string
name:
type: string
value:
type: string