@@ -154,57 +154,77 @@ app.use(express.json());
154
154
* API calls for managing the system. Style note: follow whole-parent ordering instead of whole method ordering. E.G.
155
155
*
156
156
* get /
157
- * get /badges /
158
- * get /badges /badge
159
- * del /badges /badge
160
- * get /badges /badge/callTarget
161
- * pst /badges /badge/callTarget
162
- * del /badges /badge/callTarget
163
- * pst /badges /badge/user
157
+ * get /communicators /
158
+ * get /communicators /badge
159
+ * del /communicators /badge
160
+ * get /communicators /badge/callTarget
161
+ * pst /communicators /badge/callTarget
162
+ * del /communicators /badge/callTarget
163
+ * pst /communicators /badge/user
164
164
* get /users/
165
165
*/
166
166
app . get ( '/' , ( request , responder ) => {
167
- return responder . send ( [ "badges" , "users" ] ) ;
167
+ return responder . send ( [ "badges" , "groups" , "terminals" , " users"] ) ;
168
168
} ) ;
169
169
170
170
/**
171
171
* This section deals with Combadge calls.
172
172
*/
173
- app . get ( '/badges ' , ( request , responder ) => {
173
+ app . get ( '/communicators ' , ( request , responder ) => {
174
174
return responder . send ( Object . keys ( activeBadges ) ) ;
175
175
} ) ;
176
176
177
- app . get ( '/badges/:badgeMAC ' , ( request , responder ) => {
178
- return responder . send ( activeBadges [ request . params . badgeMAC ] ) ;
177
+ app . get ( '/communicators/:communicatorMAC ' , ( request , responder ) => {
178
+ return responder . send ( activeBadges [ request . params . communicatorMAC ] ) ;
179
179
} ) ;
180
180
181
- app . delete ( '/badges/:badgeMAC ' , ( request , responder ) => {
181
+ app . delete ( '/communicators/:communicatorMAC ' , ( request , responder ) => {
182
182
return responder . send ( function ( ) {
183
- delete activeBadges [ request . params . badgeMAC ]
183
+ delete activeBadges [ request . params . communicatorMAC ]
184
184
} ) ;
185
185
} ) ;
186
186
187
- app . post ( '/badges/:badgeMAC /user' , ( request , responder ) => {
188
- if ( ! ( request . params . badgeMAC in activeBadges ) ) {
187
+ app . post ( '/communicators/:communicatorMAC /user' , ( request , responder ) => {
188
+ if ( ! ( request . params . communicatorMAC in activeBadges ) ) {
189
189
responder . status ( 404 ) ;
190
- return responder . send ( `Badge ${ request . params . badgeMAC } is not registered on the server.` ) ;
190
+ return responder . send ( `Badge ${ request . params . communicatorMAC } is not registered on the server.` ) ;
191
191
} ;
192
192
if ( ( "userName" in request . body ) && ( "prettyName" in request . body ) ) {
193
- return responder . send ( activeBadges [ request . params . badgeMAC ] . externalCallback ( "login" , request . body ) ) ;
193
+ return responder . send ( activeBadges [ request . params . communicatorMAC ] . externalCallback ( "login" , request . body ) ) ;
194
194
} else {
195
195
responder . status ( 400 ) ;
196
196
return responder . send ( "Request body must contain string values userName and prettyName." ) ;
197
197
} ;
198
198
} ) ;
199
199
200
- app . delete ( '/badges/:badgeMAC /user' ) , ( request , responder ) => {
201
- if ( ! ( request . params . badgeMAC in activeBadges ) ) {
200
+ app . delete ( '/communicators/:communicatorMAC /user' ) , ( request , responder ) => {
201
+ if ( ! ( request . params . communicatorMAC in activeBadges ) ) {
202
202
responder . status ( 404 ) ;
203
- return responder . send ( `Badge ${ request . params . badgeMAC } is not registered on the server.` ) ;
203
+ return responder . send ( `Badge ${ request . params . communicatorMAC } is not registered on the server.` ) ;
204
204
} ;
205
- return responder . send ( activeBadges [ request . params . badgeMAC ] . externalCallback ( "logout" ) ) ;
205
+ return responder . send ( activeBadges [ request . params . communicatorMAC ] . externalCallback ( "logout" ) ) ;
206
206
} ;
207
207
208
+ /**
209
+ * This section deals with Group Management calls.
210
+ */
211
+ app . get ( '/groups' , ( request , responder ) => {
212
+ return responder . send ( [ "Not Implemented" ] ) ;
213
+ } ) ;
214
+
215
+ app . get ( '/groups/:userName' , ( request , responder ) => {
216
+ return responder . send ( [ "Not Implemented" ] ) ;
217
+ } ) ;
218
+
219
+ app . post ( '/groups/:groupName' , ( request , responder ) => {
220
+ return responder . send ( [ "Not Implemented" ] ) ;
221
+ } ) ;
222
+
223
+ app . delete ( 'groups/:groupName' , ( request , responder ) => {
224
+ return responder . send ( [ "Not Implemented" ] ) ;
225
+ } ) ;
226
+
227
+
208
228
/**
209
229
* This section deals with User Management calls.
210
230
*/
@@ -216,6 +236,36 @@ app.get('/users/:userName', (request, responder) => {
216
236
return responder . send ( [ "Not Implemented" ] ) ;
217
237
} ) ;
218
238
239
+ app . post ( '/users/:userName' , ( request , responder ) => {
240
+ return responder . send ( [ "Not Implemented" ] ) ;
241
+ } ) ;
242
+
243
+ app . delete ( '/users/:userName' , ( request , responder ) => {
244
+ return responder . send ( [ "Not Implemented" ] ) ;
245
+ } ) ;
246
+
247
+ /**
248
+ * Maybe return a 300-series temporary redirect here, to point people at the right badge object?
249
+ */
250
+ app . get ( '/users/:userName/communicators/:communicatorMAC' , ( request , responder ) => {
251
+ return responder . send ( [ "Not Implemented" ] ) ;
252
+ } ) ;
253
+
254
+ /**
255
+ * How do you refer an object to another object in a REST api? Need to research correct style.
256
+ */
257
+ app . post ( '/users/:userName/communicators/:communicatorMAC' , ( request , responder ) => {
258
+ return responder . send ( [ "Not Implemented" ] ) ;
259
+ } ) ;
260
+
261
+ /**
262
+ * This at least is relatively straightforward - remove the MAC from the user object and logout the corresponding devices.
263
+ */
264
+ app . delete ( '/users/:userName/communicators/:communicatorMAC' , ( request , responder ) => {
265
+ return responder . send ( [ "Not Implemented" ] ) ;
266
+ } ) ;
267
+
268
+
219
269
220
270
221
271
app . listen ( apiPort , ( ) =>
0 commit comments