UNPKG

adonis-passkit-webservice

Version:
36 lines 1.88 kB
import router from "@adonisjs/core/services/router"; import { RegisterEndpoint } from "passkit-webservice-toolkit/v1/register.js"; import { UnregisterEndpoint } from "passkit-webservice-toolkit/v1/unregister.js"; import { HandlerNotFoundError } from "../../HandlerNotFoundError.js"; import { assertAuthorizationSchemeValidMiddleware, assertTokenValidMiddleware, } from "./hooks.js"; export default function RegistrationRouter(opts) { if (typeof (opts === null || opts === void 0 ? void 0 : opts.onRegister) !== "function") { throw new HandlerNotFoundError("onRegister", "RegistrationPlugin"); } if (typeof opts.onUnregister !== "function") { throw new HandlerNotFoundError("onUnregister", "RegistrationPlugin"); } return () => { router .group(() => { router.post(RegisterEndpoint.path, async (context) => { const { deviceLibraryIdentifier, passTypeIdentifier, serialNumber } = context.params; const { pushToken } = context.request.body(); const registrationSuccessful = Boolean(await opts.onRegister(deviceLibraryIdentifier, passTypeIdentifier, serialNumber, pushToken)); context.response .status(200 + Number(registrationSuccessful)) .send({}); }); router.delete(UnregisterEndpoint.path, async (context) => { const { deviceLibraryIdentifier, passTypeIdentifier, serialNumber } = context.params; await opts.onUnregister(deviceLibraryIdentifier, passTypeIdentifier, serialNumber); context.response.status(200).send({}); }); }) .use([ assertAuthorizationSchemeValidMiddleware, assertTokenValidMiddleware(opts.tokenVerifier), ]); }; } //# sourceMappingURL=registration.js.map