summary refs log tree commit diff
path: root/endpoints.http
blob: ce4c2d37051706f9e9d07f6b735a46d9cd4180b2 (plain) (blame)
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
@baseUrl=http://localhost:3000
@username=admin
@password=admin
@email=admin@example.com
@userType=admin
@accessToken=someValueXyzXyz


# Get all user IDs
GET {{baseUrl}}/admin/allUserIds HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Monitor all users
POST {{baseUrl}}/admin/monitorAllUsers HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Get the alarm for a monitored user, if one is set
GET {{baseUrl}}/user/:id/alarm HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Clear the alarm for a monitored user
DELETE {{baseUrl}}/user/:id/alarm HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Get a list of all alarms for monitored users
GET {{baseUrl}}/alarms HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Get the current user's alarm
GET {{baseUrl}}/alarm/@me HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Raise an alarm (enum: one of "fall" or "toilet")
PUT {{baseUrl}}/alarm/@me HTTP/1.1
Authorization: Bearer {{accessToken}}
Content-Type: application/json

{
    "reason": "fall"
}


###
# Clear alarm
DELETE {{baseUrl}}/alarm/@me HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Get assigned users
GET {{baseUrl}}/monitor/assignedUsers HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Add an assigned user by ID
PATCH {{baseUrl}}/monitor/assignedUsers HTTP/1.1
Authorization: Bearer {{accessToken}}
Content-Type: application/json

{
    "userId": "abcdef"
}


###
# Remove an assigned user by ID
DELETE {{baseUrl}}/monitor/assignedUsers HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Delete account
DELETE {{baseUrl}}/auth/delete HTTP/1.1
Content-Type: application/json

{
    "username": "{{username}}",
    "email": "{{email}}",
    "password": "{{email}}"
}


###
# Get the budget for a monitored user
GET {{baseUrl}}/user/:id/budget HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Add budget for a monitored user
PATCH {{baseUrl}}/user/:id/budget HTTP/1.1
Authorization: Bearer {{accessToken}}
Content-Type: application/json

{
    "venue": "Monitor 123",
    "reason": "Just short for a coke to deal with diabetes",
    "amount": 0.15
}


###
# Get all devices registered to the user
GET {{baseUrl}}/auth/devices HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Get the index page (empty)
GET {{baseUrl}}/ HTTP/1.1

###
# Log in as a user
POST {{baseUrl}}/auth/login HTTP/1.1
Content-Type: application/json

{
    "username": "{{username}}",
    "email": "{{email}}",
    "password": "{{email}}"
}


###
# Log out from a device
POST {{baseUrl}}/auth/logout HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Get user device by ID
GET {{baseUrl}}/auth/devices/:id HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Delete user device by ID
DELETE {{baseUrl}}/auth/devices/:id HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Update user device by ID
PATCH {{baseUrl}}/auth/devices/:id HTTP/1.1
Authorization: Bearer {{accessToken}}
Content-Type: application/json

{
    "name": "New Device Name"
}


###
# Create a new user
POST {{baseUrl}}/auth/register HTTP/1.1
Content-Type: application/json

{
    "username": "{{username}}",
    "email": "{{email}}",
    "password": "{{email}}",
    "type": "{{userType}}"
}


###
# Get the server status
GET {{baseUrl}}/status HTTP/1.1

###
GET {{baseUrl}}/budget/@me HTTP/1.1
Authorization: Bearer {{accessToken}}

###
# Spend part of budget
PATCH {{baseUrl}}/budget/@me HTTP/1.1
Authorization: Bearer {{accessToken}}
Content-Type: application/json

{
    "venue": "The Store",
    "reason": "Bought a coke",
    "amount": 0.85
}


###
# Get current user
GET {{baseUrl}}/auth/whoami HTTP/1.1
Authorization: Bearer {{accessToken}}

###