38 lines
895 B
JavaScript
38 lines
895 B
JavaScript
import { requireUser } from '../middleware/requireUser.js';
|
|
import { getConsentForUser, submitConsent } from '../services/consent.js';
|
|
|
|
/** @type {import('@hapi/hapi').Plugin<void>} */
|
|
export const consentRoutes = {
|
|
name: 'consent-routes',
|
|
register(server) {
|
|
server.route({
|
|
method: 'GET',
|
|
path: '/api/consent/me',
|
|
options: {
|
|
auth: false,
|
|
pre: [requireUser],
|
|
},
|
|
handler(request) {
|
|
return getConsentForUser(Number(request.pre.user.id));
|
|
},
|
|
});
|
|
|
|
server.route({
|
|
method: 'POST',
|
|
path: '/api/consent',
|
|
options: {
|
|
auth: false,
|
|
pre: [requireUser],
|
|
plugins: {
|
|
'hapi-rate-limit': {
|
|
pathLimit: 30,
|
|
},
|
|
},
|
|
},
|
|
handler(request) {
|
|
return submitConsent(request, Number(request.pre.user.id), request.payload);
|
|
},
|
|
});
|
|
},
|
|
};
|