@unchainedshop/ticketing 3.0.0-rc9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/lib/express.d.ts +4 -0
  2. package/lib/express.d.ts.map +1 -0
  3. package/lib/express.js +17 -0
  4. package/lib/express.js.map +1 -0
  5. package/lib/fastify.d.ts +4 -0
  6. package/lib/fastify.d.ts.map +1 -0
  7. package/lib/fastify.js +22 -0
  8. package/lib/fastify.js.map +1 -0
  9. package/lib/index.d.ts +6 -35
  10. package/lib/index.d.ts.map +1 -1
  11. package/lib/index.js +8 -19
  12. package/lib/index.js.map +1 -1
  13. package/lib/magic-key.d.ts.map +1 -1
  14. package/lib/magic-key.js +2 -1
  15. package/lib/magic-key.js.map +1 -1
  16. package/lib/mobile-tickets/apple-handler-express.d.ts +7 -0
  17. package/lib/mobile-tickets/apple-handler-express.d.ts.map +1 -0
  18. package/lib/mobile-tickets/apple-handler-express.js +175 -0
  19. package/lib/mobile-tickets/apple-handler-express.js.map +1 -0
  20. package/lib/mobile-tickets/apple-handler-fastify.d.ts +4 -0
  21. package/lib/mobile-tickets/apple-handler-fastify.d.ts.map +1 -0
  22. package/lib/mobile-tickets/apple-handler-fastify.js +158 -0
  23. package/lib/mobile-tickets/apple-handler-fastify.js.map +1 -0
  24. package/lib/mobile-tickets/apple-webservice.d.ts.map +1 -1
  25. package/lib/mobile-tickets/apple-webservice.js +4 -8
  26. package/lib/mobile-tickets/apple-webservice.js.map +1 -1
  27. package/lib/mobile-tickets/google-handler-express.d.ts +7 -0
  28. package/lib/mobile-tickets/google-handler-express.d.ts.map +1 -0
  29. package/lib/mobile-tickets/google-handler-express.js +45 -0
  30. package/lib/mobile-tickets/google-handler-express.js.map +1 -0
  31. package/lib/mobile-tickets/google-handler-fastify.d.ts +4 -0
  32. package/lib/mobile-tickets/google-handler-fastify.d.ts.map +1 -0
  33. package/lib/mobile-tickets/google-handler-fastify.js +41 -0
  34. package/lib/mobile-tickets/google-handler-fastify.js.map +1 -0
  35. package/lib/mobile-tickets/google-webservice.d.ts.map +1 -1
  36. package/lib/mobile-tickets/google-webservice.js +2 -1
  37. package/lib/mobile-tickets/google-webservice.js.map +1 -1
  38. package/lib/module.d.ts +56 -27
  39. package/lib/module.d.ts.map +1 -1
  40. package/lib/module.js +166 -164
  41. package/lib/module.js.map +1 -1
  42. package/lib/pdf-tickets/print-handler-express.d.ts +7 -0
  43. package/lib/pdf-tickets/print-handler-express.d.ts.map +1 -0
  44. package/lib/pdf-tickets/print-handler-express.js +24 -0
  45. package/lib/pdf-tickets/print-handler-express.js.map +1 -0
  46. package/lib/pdf-tickets/print-handler-fastify.d.ts +4 -0
  47. package/lib/pdf-tickets/print-handler-fastify.d.ts.map +1 -0
  48. package/lib/pdf-tickets/print-handler-fastify.js +24 -0
  49. package/lib/pdf-tickets/print-handler-fastify.js.map +1 -0
  50. package/lib/pdf-tickets/print-webservice.d.ts +1 -1
  51. package/lib/pdf-tickets/print-webservice.d.ts.map +1 -1
  52. package/lib/pdf-tickets/print-webservice.js +4 -3
  53. package/lib/pdf-tickets/print-webservice.js.map +1 -1
  54. package/lib/services.d.ts +11 -5
  55. package/lib/services.d.ts.map +1 -1
  56. package/lib/services.js +17 -15
  57. package/lib/services.js.map +1 -1
  58. package/lib/types.d.ts +1 -3
  59. package/lib/types.d.ts.map +1 -1
  60. package/package.json +27 -11
  61. package/src/express.ts +35 -0
  62. package/src/fastify.ts +30 -0
  63. package/src/index.ts +13 -39
  64. package/src/magic-key.ts +4 -2
  65. package/src/mobile-tickets/{apple-webservice.ts → apple-handler-express.ts} +3 -16
  66. package/src/mobile-tickets/apple-handler-fastify.ts +227 -0
  67. package/src/mobile-tickets/{google-webservice.ts → google-handler-express.ts} +2 -12
  68. package/src/mobile-tickets/google-handler-fastify.ts +57 -0
  69. package/src/module.ts +211 -207
  70. package/src/pdf-tickets/{print-webservice.ts → print-handler-express.ts} +2 -12
  71. package/src/pdf-tickets/print-handler-fastify.ts +36 -0
  72. package/src/services.ts +28 -18
  73. package/src/types.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
+ import { useMiddlewareWithCurrentContext } from '@unchainedshop/api/express/index.js';
2
3
  import express from 'express';
3
- import { getFileAdapter } from '@unchainedshop/core-files';
4
4
  const logger = createLogger('unchained:apple-wallet-webservice');
5
5
  const { APPLE_WALLET_WEBSERVICE_PATH = '/rest/apple-wallet' } = process.env;
6
6
  const isAuthenticationTokenCorrect = (req, authenticationToken) => {
@@ -36,9 +36,7 @@ export const appleWalletHandler = async (req, res) => {
36
36
  return;
37
37
  }
38
38
  const passFile = await modules.passes.upsertAppleWalletPass(token, resolvedContext);
39
- const fileUploadAdapter = getFileAdapter();
40
- const signedUrl = await fileUploadAdapter.createDownloadURL(passFile);
41
- const url = signedUrl && (await modules.files.normalizeUrl(signedUrl, {}));
39
+ const url = await modules.files.getUrl(passFile, {});
42
40
  const response = await fetch(url);
43
41
  const data = await response.arrayBuffer();
44
42
  const uint8View = new Uint8Array(data);
@@ -155,9 +153,7 @@ export const appleWalletHandler = async (req, res) => {
155
153
  res.end();
156
154
  return;
157
155
  }
158
- const fileUploadAdapter = getFileAdapter();
159
- const signedUrl = await fileUploadAdapter.createDownloadURL(pass);
160
- const url = signedUrl && (await modules.files.normalizeUrl(signedUrl, {}));
156
+ const url = modules.files.getUrl(pass, {});
161
157
  const result = await fetch(url);
162
158
  const data = await result.arrayBuffer();
163
159
  const uint8View = new Uint8Array(data);
@@ -174,7 +170,7 @@ export const appleWalletHandler = async (req, res) => {
174
170
  res.end();
175
171
  };
176
172
  export default function loadAppleWalletHandler(app) {
177
- app.use(APPLE_WALLET_WEBSERVICE_PATH, express.json({
173
+ useMiddlewareWithCurrentContext(app, APPLE_WALLET_WEBSERVICE_PATH, express.json({
178
174
  type: 'application/json',
179
175
  }), appleWalletHandler);
180
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apple-webservice.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-webservice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apple-webservice.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-webservice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Request, Response } from 'express';
2
+ import { TicketingAPI } from '../types.js';
3
+ export declare const googleWalletHandler: (req: Request & {
4
+ unchainedContext: TicketingAPI;
5
+ }, res: Response) => Promise<void>;
6
+ export default googleWalletHandler;
7
+ //# sourceMappingURL=google-handler-express.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-handler-express.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/google-handler-express.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,mBAAmB,QACzB,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,OAC5C,QAAQ,kBA+Cd,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { createLogger } from '@unchainedshop/logger';
2
+ const logger = createLogger('unchained:google-wallet-webservice');
3
+ export const googleWalletHandler = async (req, res) => {
4
+ const resolvedContext = req.unchainedContext;
5
+ const { modules } = resolvedContext;
6
+ logger.info(`${req.path} (${JSON.stringify(req.query)})`);
7
+ if (req.path.startsWith('/download/')) {
8
+ try {
9
+ const [, , tokenId] = req.path.split('/');
10
+ if (!tokenId) {
11
+ res.writeHead(404);
12
+ res.end();
13
+ return;
14
+ }
15
+ const token = await modules.warehousing.findToken({
16
+ tokenId,
17
+ });
18
+ if (!token) {
19
+ res.writeHead(404);
20
+ res.end('Token not found');
21
+ return;
22
+ }
23
+ const { hash } = req.query;
24
+ const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
25
+ if (hash !== correctHash) {
26
+ res.writeHead(403);
27
+ res.end('Token hash invalid for current owner');
28
+ return;
29
+ }
30
+ const pass = await modules.passes.upsertGoogleWalletPass(token, resolvedContext);
31
+ res.redirect(await pass.asURL());
32
+ return;
33
+ }
34
+ catch (e) {
35
+ console.error(e);
36
+ }
37
+ res.writeHead(500);
38
+ res.end();
39
+ return;
40
+ }
41
+ res.writeHead(404);
42
+ res.end();
43
+ };
44
+ export default googleWalletHandler;
45
+ //# sourceMappingURL=google-handler-express.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-handler-express.js","sourceRoot":"","sources":["../../src/mobile-tickets/google-handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,MAAM,GAAG,YAAY,CAAC,oCAAoC,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAiD,EACjD,GAAa,EACb,EAAE;IACF,MAAM,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1D,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChD,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAEjF,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { RouteHandlerMethod } from 'fastify';
2
+ declare const googleWalletHandler: RouteHandlerMethod;
3
+ export default googleWalletHandler;
4
+ //# sourceMappingURL=google-handler-fastify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-handler-fastify.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/google-handler-fastify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlE,QAAA,MAAM,mBAAmB,EAAE,kBAgD1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { createLogger } from '@unchainedshop/logger';
2
+ const logger = createLogger('unchained:google-wallet-webservice');
3
+ const googleWalletHandler = async (req, reply) => {
4
+ const resolvedContext = req.unchainedContext;
5
+ const { modules } = resolvedContext;
6
+ const path = req.url;
7
+ logger.info(`${path} (${JSON.stringify(req.query)})`);
8
+ if (path.startsWith('/download/')) {
9
+ try {
10
+ const [, , tokenId] = path.split('/');
11
+ if (!tokenId) {
12
+ reply.status(404);
13
+ return reply.send();
14
+ }
15
+ const token = await modules.warehousing.findToken({
16
+ tokenId,
17
+ });
18
+ if (!token) {
19
+ reply.status(404);
20
+ return reply.send('Token not found');
21
+ }
22
+ const { hash } = req.query;
23
+ const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
24
+ if (hash !== correctHash) {
25
+ reply.status(403);
26
+ return reply.send('Token hash invalid for current owner');
27
+ }
28
+ const pass = await modules.passes.upsertGoogleWalletPass(token, resolvedContext);
29
+ return reply.redirect(await pass.asURL());
30
+ }
31
+ catch (e) {
32
+ console.error(e);
33
+ }
34
+ reply.status(500);
35
+ return reply.send();
36
+ }
37
+ reply.status(404);
38
+ return reply.send();
39
+ };
40
+ export default googleWalletHandler;
41
+ //# sourceMappingURL=google-handler-fastify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-handler-fastify.js","sourceRoot":"","sources":["../../src/mobile-tickets/google-handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,MAAM,GAAG,YAAY,CAAC,oCAAoC,CAAC,CAAC;AAElE,MAAM,mBAAmB,GAAuB,KAAK,EACnD,GAEC,EACD,KAAK,EACL,EAAE;IACF,MAAM,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;IAErB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChD,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAA+B,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACjF,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"google-webservice.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/google-webservice.ts"],"names":[],"mappings":"AACA,OAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,mBAAmB,QACzB,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,OAC5C,QAAQ,kBA+Cd,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,GAAG,KAAA,QAQlD"}
1
+ {"version":3,"file":"google-webservice.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/google-webservice.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,mBAAmB,QACzB,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,OAC5C,QAAQ,kBA+Cd,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,GAAG,KAAA,QASlD"}
@@ -1,4 +1,5 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
+ import { useMiddlewareWithCurrentContext } from '@unchainedshop/api/express/index.js';
2
3
  import express from 'express';
3
4
  const logger = createLogger('unchained:google-wallet-webservice');
4
5
  const { GOOGLE_WALLET_WEBSERVICE_PATH = '/rest/google-wallet' } = process.env;
@@ -44,7 +45,7 @@ export const googleWalletHandler = async (req, res) => {
44
45
  res.end();
45
46
  };
46
47
  export default function loadGoogleWalletHandler(app) {
47
- app.use(GOOGLE_WALLET_WEBSERVICE_PATH, express.json({
48
+ useMiddlewareWithCurrentContext(app, GOOGLE_WALLET_WEBSERVICE_PATH, express.json({
48
49
  type: 'application/json',
49
50
  }), googleWalletHandler);
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"google-webservice.js","sourceRoot":"","sources":["../../src/mobile-tickets/google-webservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,OAA8B,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,GAAG,YAAY,CAAC,oCAAoC,CAAC,CAAC;AAElE,MAAM,EAAE,6BAA6B,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAiD,EACjD,GAAa,EACb,EAAE;IACF,MAAM,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1D,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChD,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAEjF,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,GAAG;IACjD,GAAG,CAAC,GAAG,CACL,6BAA6B,EAC7B,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,kBAAkB;KACzB,CAAC,EACF,mBAAmB,CACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"google-webservice.js","sourceRoot":"","sources":["../../src/mobile-tickets/google-webservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,OAA8B,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,GAAG,YAAY,CAAC,oCAAoC,CAAC,CAAC;AAElE,MAAM,EAAE,6BAA6B,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAiD,EACjD,GAAa,EACb,EAAE;IACF,MAAM,eAAe,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1D,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChD,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAEjF,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,GAAG;IACjD,+BAA+B,CAC7B,GAAG,EACH,6BAA6B,EAC7B,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,kBAAkB;KACzB,CAAC,EACF,mBAAmB,CACpB,CAAC;AACJ,CAAC"}
package/lib/module.d.ts CHANGED
@@ -3,33 +3,62 @@ import { UnchainedCore } from '@unchainedshop/core';
3
3
  import { TokenSurrogate } from '@unchainedshop/core-warehousing';
4
4
  import { File } from '@unchainedshop/core-files';
5
5
  export declare const APPLE_WALLET_PASSES_FILE_DIRECTORY = "apple-wallet-passes";
6
- declare const ticketingModule: {
7
- configure: ({ db }: ModuleInput<Record<string, never>>) => Promise<{
8
- upsertAppleWalletPass: (token: TokenSurrogate, unchainedAPI: UnchainedCore) => Promise<File>;
9
- findAppleWalletPass: (passTypeIdentifier: any, serialNumber: any) => Promise<File>;
10
- registerDeviceForAppleWalletPass: (passTypeIdentifier: any, serialNumber: any, { deviceLibraryIdentifier, pushToken }: {
11
- deviceLibraryIdentifier: any;
12
- pushToken: any;
13
- }) => Promise<boolean>;
14
- unregisterDeviceForAppleWalletPass: (passTypeIdentifier: any, serialNumber: any, deviceLibraryIdentifier: any) => Promise<boolean>;
15
- findUpdatedAppleWalletPasses: (passTypeIdentifier: any, deviceLibraryIdentifier: any, passesUpdatedSince: any) => Promise<Array<File>>;
16
- invalidateAppleWalletPasses: (unchainedAPI: UnchainedCore) => Promise<void>;
17
- upsertGoogleWalletPass: (token: TokenSurrogate, unchainedAPI: UnchainedCore) => Promise<{
18
- asURL?: () => Promise<string>;
19
- asBuffer?: () => Promise<Buffer>;
20
- serialNumber?: string;
21
- passTypeIdentifier?: string;
22
- }>;
23
- buildMagicKey: (orderId: string) => Promise<string>;
24
- cancelTicket: (tokenId: string) => Promise<import("mongodb").WithId<TokenSurrogate>>;
25
- isTicketCancelled: (token: TokenSurrogate) => boolean;
26
- getTicketsCreated: ({ productId, }: {
27
- productId: string;
28
- }, { skipCancelled }?: {
29
- skipCancelled?: boolean;
30
- }) => Promise<number>;
6
+ declare const configurePasses: ({ db }: ModuleInput<Record<string, never>>) => Promise<{
7
+ upsertAppleWalletPass: (token: TokenSurrogate, unchainedAPI: UnchainedCore) => Promise<File>;
8
+ findAppleWalletPass: (passTypeIdentifier: any, serialNumber: any) => Promise<File>;
9
+ registerDeviceForAppleWalletPass: (passTypeIdentifier: any, serialNumber: any, { deviceLibraryIdentifier, pushToken }: {
10
+ deviceLibraryIdentifier: any;
11
+ pushToken: any;
12
+ }) => Promise<boolean>;
13
+ unregisterDeviceForAppleWalletPass: (passTypeIdentifier: any, serialNumber: any, deviceLibraryIdentifier: any) => Promise<boolean>;
14
+ findUpdatedAppleWalletPasses: (passTypeIdentifier: any, deviceLibraryIdentifier: any, passesUpdatedSince: any) => Promise<Array<File>>;
15
+ invalidateAppleWalletPasses: (unchainedAPI: UnchainedCore) => Promise<void>;
16
+ upsertGoogleWalletPass: (token: TokenSurrogate, unchainedAPI: UnchainedCore) => Promise<{
17
+ asURL?: () => Promise<string>;
18
+ asBuffer?: () => Promise<Buffer>;
19
+ serialNumber?: string;
20
+ passTypeIdentifier?: string;
31
21
  }>;
22
+ buildMagicKey: (orderId: string) => Promise<string>;
23
+ cancelTicket: (tokenId: string) => Promise<import("mongodb").WithId<TokenSurrogate>>;
24
+ isTicketCancelled: (token: TokenSurrogate) => boolean;
25
+ getTicketsCreated: ({ productId, }: {
26
+ productId: string;
27
+ }, { skipCancelled }?: {
28
+ skipCancelled?: boolean;
29
+ }) => Promise<number>;
30
+ }>;
31
+ export type TicketingModule = {
32
+ passes: Awaited<ReturnType<typeof configurePasses>>;
33
+ };
34
+ declare const _default: {
35
+ passes: {
36
+ configure: ({ db }: ModuleInput<Record<string, never>>) => Promise<{
37
+ upsertAppleWalletPass: (token: TokenSurrogate, unchainedAPI: UnchainedCore) => Promise<File>;
38
+ findAppleWalletPass: (passTypeIdentifier: any, serialNumber: any) => Promise<File>;
39
+ registerDeviceForAppleWalletPass: (passTypeIdentifier: any, serialNumber: any, { deviceLibraryIdentifier, pushToken }: {
40
+ deviceLibraryIdentifier: any;
41
+ pushToken: any;
42
+ }) => Promise<boolean>;
43
+ unregisterDeviceForAppleWalletPass: (passTypeIdentifier: any, serialNumber: any, deviceLibraryIdentifier: any) => Promise<boolean>;
44
+ findUpdatedAppleWalletPasses: (passTypeIdentifier: any, deviceLibraryIdentifier: any, passesUpdatedSince: any) => Promise<Array<File>>;
45
+ invalidateAppleWalletPasses: (unchainedAPI: UnchainedCore) => Promise<void>;
46
+ upsertGoogleWalletPass: (token: TokenSurrogate, unchainedAPI: UnchainedCore) => Promise<{
47
+ asURL?: () => Promise<string>;
48
+ asBuffer?: () => Promise<Buffer>;
49
+ serialNumber?: string;
50
+ passTypeIdentifier?: string;
51
+ }>;
52
+ buildMagicKey: (orderId: string) => Promise<string>;
53
+ cancelTicket: (tokenId: string) => Promise<import("mongodb").WithId<TokenSurrogate>>;
54
+ isTicketCancelled: (token: TokenSurrogate) => boolean;
55
+ getTicketsCreated: ({ productId, }: {
56
+ productId: string;
57
+ }, { skipCancelled }?: {
58
+ skipCancelled?: boolean;
59
+ }) => Promise<number>;
60
+ }>;
61
+ };
32
62
  };
33
- export type TicketingModule = Awaited<ReturnType<(typeof ticketingModule)['configure']>>;
34
- export default ticketingModule;
63
+ export default _default;
35
64
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,eAAO,MAAM,kCAAkC,wBAAwB,CAAC;AAIxE,QAAA,MAAM,eAAe;wBACO,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;uCAmBd,cAAc,gBAAgB,aAAa;6EAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;0HA8DhF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oDAkBkC,aAAa;wCAtFzB,cAAc,gBAAgB,aAAa;;;;;;iCA2GlD,MAAM;gCAMP,MAAM;mCAUT,cAAc;4CAO3C;YACD,SAAS,EAAE,MAAM,CAAC;SACnB,sBACkB;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,KAC7C,OAAO,CAAC,MAAM,CAAC;;CAwBrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,eAAO,MAAM,kCAAkC,wBAAwB,CAAC;AAIxE,QAAA,MAAM,eAAe,WAAkB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;mCAmB3B,cAAc,gBAAgB,aAAa;yEAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;sHA8DhF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gDAkBkC,aAAa;oCAtFzB,cAAc,gBAAgB,aAAa;;;;;;6BA2GlD,MAAM;4BAMP,MAAM;+BAUT,cAAc;wCAO3C;QACD,SAAS,EAAE,MAAM,CAAC;KACnB,sBACkB;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7C,OAAO,CAAC,MAAM,CAAC;EAuBnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;CACrD,CAAC;;;4BAlOqC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;2CAmB3B,cAAc,gBAAgB,aAAa;iFAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;8HA8DhF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wDAkBkC,aAAa;4CAtFzB,cAAc,gBAAgB,aAAa;;;;;;qCA2GlD,MAAM;oCAMP,MAAM;uCAUT,cAAc;gDAO3C;gBACD,SAAS,EAAE,MAAM,CAAC;aACnB,sBACkB;gBAAE,aAAa,CAAC,EAAE,OAAO,CAAA;aAAE,KAC7C,OAAO,CAAC,MAAM,CAAC;;;;AA6BpB,wBAIE"}