-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocumentation.yaml
153 lines (153 loc) · 6.84 KB
/
documentation.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
consumes: [multipart/form-data, application/x-www-form-urlencoded]
definitions: {}
info: {title: Innometrics backend API, version: 1.0.0}
parameters: {}
paths:
/login:
get:
description: Login a user with email.
parameters:
- {description: an email of the user, in: formData, name: email, required: true,
type: string}
- {description: a password of the user, in: formData, name: password, required: true,
type: string}
responses:
200: {description: User was logged in}
400: {description: Parameters are not correct}
401: {description: Credentials provided are incorrect}
404: {description: User was not found}
summary: Login endpoint.
/activity:
post:
description: Add an activity or multiple activities to the current user.
parameters:
- {description: json containing all specified parameters, in: formData, name: activity,
required: true, type: string}
- description: List containing activity_data
in: formData
items: {type: string}
name: activities
required: false
type: array
- {description: a start time of the activity, in: formData, name: start_time,
required: true, type: string}
- {description: an end time of the activity, in: formData, name: end_time, required: true,
type: string}
- {description: a name of the current executable, in: formData, name: executable_name,
required: true, type: string}
- {description: a url opened during the activity, in: formData, name: browser_url,
required: false, type: string}
- {description: a title of the browsing window, in: formData, name: browser_title,
required: false, type: string}
- {description: an ip address of the user, in: formData, name: ip_address, required: true,
type: string}
- {description: an mac address of the user, in: formData, name: mac_address,
required: true, type: string}
- {description: if activity is an idle one, in: formData, name: idle_activity,
required: false, type: boolean}
- {description: 'a type of activity collected (os, eclipse tab and etc)', in: formData,
name: activity_type, required: false, type: string}
responses:
201: {description: Activity was added}
400: {description: Parameters are not correct}
summary: Add an activity.
delete:
description: Delete a specific activity from current user's history.
parameters:
- {description: an id of the activity, in: formData, name: activity_id, required: true,
type: integer}
responses:
200: {description: Activity was deleted}
400: {description: Parameters are not correct}
404: {description: Activity with this id was not found}
summary: Delete an activity.
get:
description: Find activities of current user.
parameters:
- {description: a number of activities to skip, in: query, name: offset, required: true,
type: integer}
- {description: 'amount of activities to return, max is 1000', in: query, name: amount_to_return,
required: true, type: integer}
- {description: 'filters for activity, example {"activity_type": "os"}',
in: query, name: filters, required: false, type: string}
- {description: minimum start time of an activity, in: query, name: start_time,
required: false, type: string}
- {description: maximum end time of an activity, in: query, name: end_time, required: false,
type: string}
responses:
200: {description: A list of activities was returned}
400: {description: Wrong format}
404: {description: Activities were not found}
summary: Find activities.
/logout:
post:
description: Logout a user.
responses:
200: {description: User was logged out}
summary: User logout endpoint.
/user:
delete:
description: Delete a user from DB.
responses:
200: {description: User was deleted}
summary: User deletion endpoint.
post:
description: Register a new user.
parameters:
- {description: an email of the user, in: formData, name: email, required: true,
type: string}
- {description: a name of the user, in: formData, name: name, required: true,
type: string}
- {description: a surname of the user, in: formData, name: surname, required: true,
type: string}
- {description: a password of the user, in: formData, name: password, required: true,
type: string}
responses:
200: {description: User was logged registered}
400: {description: Parameters are not correct}
409: {description: User with the email already exists}
summary: User registration endpoint.
/project/{project_id}/activity:
get:
description: Find activities in specified project.
parameters:
- {description: a project id, in: path, name: project_id, required: true, type: integer}
- {description: a number of activities to skip, in: query, name: offset, required: true,
type: integer}
- {description: 'amount of activities to return, max is 1000', in: query, name: amount_to_return,
required: true, type: integer}
- {description: 'filters for activity, example {"activity_type": "os"}',
in: query, name: filters, required: false, type: string}
- {description: minimum start time of an activity, in: query, name: start_time,
required: false, type: string}
- {description: maximum end time of an activity, in: query, name: end_time, required: false,
type: string}
responses:
200: {description: A list of activities was returned}
400: {description: Wrong format}
404: {description: Activities were not found}
summary: Find activities.
/project/{project_id}/invite:
post:
description: Invite a user or add a manager to the project.
parameters:
- {description: a project id, in: path, name: project_id, required: true, type: integer}
- {description: a email of user to be invited, in: formData, name: user_email,
required: true, type: string}
- {description: True if adding a manager role, in: formData, name: manager,
required: false, type: boolean}
responses:
200: {description: User was invited}
400: {description: Parameters are not correct}
summary: Project invitation endpoint.
/project/{project_id}/accept_invitation:
post:
description: Accept an invitation to the project.
parameters:
- {description: a project id, in: path, name: project_id, required: true, type: integer}
responses:
200: {description: User was added to the project}
400: {description: Parameters are not correct}
summary: Project invitation endpoint.
swagger: '2.0'
tags: []