-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapi.yaml
184 lines (184 loc) · 4.28 KB
/
api.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
openapi: 3.0.0
info:
title: Image API
description: This is an Image API
version: 1.0.0
servers:
- url: https://virtserver.swaggerhub.com/seifaldin.aboelella/IMAGE-API/1.0.0
description: SwaggerHub API Auto Mocking
tags:
- name: admin
description: Secured Admin-only calls
- name: frontend
description: Operations available to frontend
paths:
/user/login:
post:
tags:
- admin
summary: login to get a token
description: |
login using username, password, deviceId and schoolId to get a token
operationId: login
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/login'
responses:
"200":
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/login-response'
/image/add-image:
post:
tags:
- admin
summary: uploads photo to server
description: |
uploads photo to server using token
operationId: upload
parameters:
- name: authorization
in: header
description: Token for authentication
required: true
style: simple
explode: false
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/image_addimage_body'
required: true
responses:
"200":
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/image'
/image/getAll/:id:
post:
tags:
- frontend
summary: get all device photos
description: |
get all device photos
operationId: getDeviceImages
parameters:
- name: id
in: query
description: device id
required: true
style: form
explode: true
schema:
type: string
responses:
"200":
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/get-images-response'
/device/getAll:
post:
tags:
- frontend
summary: get all devices
description: |
get all devices
operationId: getDevices
responses:
"200":
description: success
content:
application/json:
schema:
$ref: '#/components/schemas/get-devices-response'
components:
schemas:
user:
required:
- password
- username
type: object
properties:
_id:
type: string
username:
type: string
example: admin
password:
type: string
example: admin
device:
required:
- deviceName
- schoolName
type: object
properties:
_id:
type: string
deviceName:
type: string
example: Device1
schoolName:
type: string
example: School1
image:
required:
- device
- fileName
type: object
properties:
_id:
type: string
fileName:
type: string
example: image_1730560355763-489743739.jpg
device:
$ref: '#/components/schemas/device/properties/_id'
createdAt:
type: string
example: 2024-11-02T15:12:35.767Z
updatedAt:
type: string
example: 2024-11-02T15:12:35.767Z
login:
required:
- device
- login
type: object
properties:
login:
$ref: '#/components/schemas/user'
device:
$ref: '#/components/schemas/device'
login-response:
type: object
properties:
device:
$ref: '#/components/schemas/device/properties/_id'
token:
type: string
get-images-response:
type: array
items:
$ref: '#/components/schemas/image'
get-devices-response:
type: array
items:
$ref: '#/components/schemas/device'
image_addimage_body:
type: object
properties:
upfile:
type: string
description: The file to upload.
format: binary