group code popup
This commit is contained in:
+13
-2
@@ -1,7 +1,7 @@
|
||||
import { Router } from 'express';
|
||||
import { createGroup, joinGroup, listGroups, renewCode, closeGroup, verifyOrigin, session, member } from '../services/collaboration.js';
|
||||
import { createGroup, joinGroup, listGroups, renewCode, closeGroup, verifyOrigin, session, member, invitationStatus } from '../services/collaboration.js';
|
||||
|
||||
import { acquirePoint, releasePoint } from '../services/point-locks.js';
|
||||
import { acquirePoint, releasePoint, touchPoint, pointLocked } from '../services/point-locks.js';
|
||||
import { HttpError } from '../middleware/errors.js';
|
||||
|
||||
export function createGroupsRouter(db) {
|
||||
@@ -16,12 +16,23 @@ export function createGroupsRouter(db) {
|
||||
if (!group) throw new HttpError(404, 'Gruppe nicht gefunden.');
|
||||
member(db, req, group);
|
||||
const account = session(db, req);
|
||||
if (req.body?.heartbeat) {
|
||||
touchPoint(group, account, req.params.poiId, req.body.token);
|
||||
return res.status(204).end();
|
||||
}
|
||||
if (req.body?.release) {
|
||||
releasePoint(group, account, req.params.poiId, req.body.token);
|
||||
return res.json({ released: true });
|
||||
}
|
||||
return res.json(acquirePoint(db, group, account, req.params.poiId, req.body));
|
||||
});
|
||||
router.get('/routes/:routeId/pois/:poiId/lock', (req, res) => {
|
||||
const group = db.prepare('SELECT * FROM collaboration_groups WHERE route_id = ?').get(Number(req.params.routeId));
|
||||
if (!group) throw new HttpError(404, 'Gruppe nicht gefunden.');
|
||||
member(db, req, group);
|
||||
res.status(pointLocked(db, group, req.params.poiId) ? 423 : 204).end();
|
||||
});
|
||||
router.get('/:id/invitation', (req, res) => res.json(invitationStatus(db, req, req.params.id)));
|
||||
router.get('/', (req, res) => res.json({ groups: listGroups(db, req) }));
|
||||
router.post('/', (req, res) => res.status(201).json(createGroup(db, req, res)));
|
||||
router.post('/join', (req, res) => res.json({ group: joinGroup(db, req, res) }));
|
||||
|
||||
Reference in New Issue
Block a user