@unchainedshop/ticketing 4.0.0-rc.14 → 4.0.0-rc.16

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 (34) hide show
  1. package/lib/mobile-tickets/apple-handler-express.d.ts.map +1 -1
  2. package/lib/mobile-tickets/apple-handler-express.js +18 -39
  3. package/lib/mobile-tickets/apple-handler-express.js.map +1 -1
  4. package/lib/mobile-tickets/apple-handler-fastify.d.ts.map +1 -1
  5. package/lib/mobile-tickets/apple-handler-fastify.js +49 -16
  6. package/lib/mobile-tickets/apple-handler-fastify.js.map +1 -1
  7. package/lib/mobile-tickets/apple-wallet.d.ts +2 -2
  8. package/lib/mobile-tickets/apple-wallet.d.ts.map +1 -1
  9. package/lib/mobile-tickets/apple-wallet.js +1 -1
  10. package/lib/mobile-tickets/apple-wallet.js.map +1 -1
  11. package/lib/mobile-tickets/google-handler-express.d.ts.map +1 -1
  12. package/lib/mobile-tickets/google-handler-express.js +6 -11
  13. package/lib/mobile-tickets/google-handler-express.js.map +1 -1
  14. package/lib/mobile-tickets/google-handler-fastify.d.ts.map +1 -1
  15. package/lib/mobile-tickets/google-handler-fastify.js +15 -5
  16. package/lib/mobile-tickets/google-handler-fastify.js.map +1 -1
  17. package/lib/module.d.ts.map +1 -1
  18. package/lib/module.js +4 -1
  19. package/lib/module.js.map +1 -1
  20. package/lib/pdf-tickets/print-handler-express.d.ts.map +1 -1
  21. package/lib/pdf-tickets/print-handler-express.js +4 -3
  22. package/lib/pdf-tickets/print-handler-express.js.map +1 -1
  23. package/lib/pdf-tickets/print-handler-fastify.d.ts.map +1 -1
  24. package/lib/pdf-tickets/print-handler-fastify.js +8 -2
  25. package/lib/pdf-tickets/print-handler-fastify.js.map +1 -1
  26. package/package.json +11 -11
  27. package/src/mobile-tickets/apple-handler-express.ts +18 -41
  28. package/src/mobile-tickets/apple-handler-fastify.ts +51 -20
  29. package/src/mobile-tickets/apple-wallet.ts +1 -1
  30. package/src/mobile-tickets/google-handler-express.ts +6 -11
  31. package/src/mobile-tickets/google-handler-fastify.ts +15 -5
  32. package/src/module.ts +4 -1
  33. package/src/pdf-tickets/print-handler-express.ts +6 -3
  34. package/src/pdf-tickets/print-handler-fastify.ts +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"apple-handler-express.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-express.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,QAAA,MAAM,kBAAkB,GAAU,KAAK,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,EAAE,KAAK,QAAQ,kBA8NjG,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"apple-handler-express.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-express.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,QAAA,MAAM,kBAAkB,GAAU,KAAK,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,EAAE,KAAK,QAAQ,kBAuMjG,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -14,23 +14,20 @@ const appleWalletHandler = async (req, res) => {
14
14
  const [, , passFileName] = req.path.split('/');
15
15
  const [tokenId] = passFileName.split('.pkpass');
16
16
  if (!tokenId) {
17
- res.writeHead(404);
18
- res.end();
17
+ res.status(404).end();
19
18
  return;
20
19
  }
21
20
  const token = await modules.warehousing.findToken({
22
21
  tokenId,
23
22
  });
24
23
  if (!token) {
25
- res.writeHead(404);
26
- res.end('Token not found');
24
+ res.status(404).send('Token not found');
27
25
  return;
28
26
  }
29
27
  const { hash } = req.query;
30
28
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
31
29
  if (hash !== correctHash) {
32
- res.writeHead(403);
33
- res.end('Token hash invalid for current owner');
30
+ res.status(403).send('Token hash invalid for current owner');
34
31
  return;
35
32
  }
36
33
  const passFile = await modules.passes.upsertAppleWalletPass(token, resolvedContext);
@@ -43,14 +40,13 @@ const appleWalletHandler = async (req, res) => {
43
40
  res.status(200);
44
41
  res.setHeader('Content-Type', 'application/vnd.apple.pkpass');
45
42
  res.setHeader('Content-Disposition', `attachment; filename=${tokenId}.pkpass`);
46
- res.end(uint8View);
43
+ res.send(uint8View);
47
44
  return;
48
45
  }
49
46
  catch (e) {
50
- console.error(e);
47
+ logger.error(e);
51
48
  }
52
- res.writeHead(500);
53
- res.end();
49
+ res.status(500).end();
54
50
  return;
55
51
  }
56
52
  const [, apiVersion, endpoint, ...pathComponents] = req.path.split("/"); /* eslint-disable-line */
@@ -62,8 +58,7 @@ const appleWalletHandler = async (req, res) => {
62
58
  const pass = await modules.passes.findAppleWalletPass(passTypeIdentifier, serialNumber);
63
59
  if (pass) {
64
60
  if (!isAuthenticationTokenCorrect(req, pass.meta.rawData._id || pass.meta.rawData.tokenId)) {
65
- res.writeHead(401);
66
- res.end();
61
+ res.status(401).end();
67
62
  return;
68
63
  }
69
64
  const newRegistration = await modules.passes.registerDeviceForAppleWalletPass(passTypeIdentifier, serialNumber, {
@@ -71,12 +66,10 @@ const appleWalletHandler = async (req, res) => {
71
66
  pushToken,
72
67
  });
73
68
  if (!newRegistration) {
74
- res.writeHead(200);
75
- res.end();
69
+ res.status(200).end();
76
70
  return;
77
71
  }
78
- res.writeHead(201);
79
- res.end();
72
+ res.status(201).end();
80
73
  return;
81
74
  }
82
75
  }
@@ -88,18 +81,10 @@ const appleWalletHandler = async (req, res) => {
88
81
  const passes = await modules.passes.findUpdatedAppleWalletPasses(passTypeIdentifier, deviceLibraryIdentifier, passesUpdatedSince);
89
82
  const serialNumbers = passes.map((t) => t.meta.serialNumber);
90
83
  if (serialNumbers?.length) {
91
- res.writeHead(200, {
92
- 'Content-Type': 'application/json',
93
- });
94
- res.write(JSON.stringify({
95
- serialNumbers,
96
- lastUpdated,
97
- }));
98
- res.end();
84
+ res.status(200).send({ serialNumbers, lastUpdated });
99
85
  return;
100
86
  }
101
- res.writeHead(204);
102
- res.end();
87
+ res.status(204).end();
103
88
  return;
104
89
  }
105
90
  else if (req.method === 'DELETE') {
@@ -108,14 +93,12 @@ const appleWalletHandler = async (req, res) => {
108
93
  const pass = await modules.passes.findAppleWalletPass(passTypeIdentifier, serialNumber);
109
94
  if (pass) {
110
95
  if (!isAuthenticationTokenCorrect(req, pass.meta.rawData._id || pass.meta.rawData.tokenId)) {
111
- res.writeHead(401);
112
- res.end();
96
+ res.status(401).end();
113
97
  return;
114
98
  }
115
99
  await modules.passes.unregisterDeviceForAppleWalletPass(passTypeIdentifier, serialNumber, deviceLibraryIdentifier);
116
100
  // Unregistered
117
- res.writeHead(200);
118
- res.end();
101
+ res.status(200).end();
119
102
  return;
120
103
  }
121
104
  }
@@ -128,8 +111,7 @@ const appleWalletHandler = async (req, res) => {
128
111
  logger.info(log);
129
112
  }
130
113
  });
131
- res.writeHead(200);
132
- res.end();
114
+ res.status(200).end();
133
115
  return;
134
116
  }
135
117
  else if (endpoint === 'passes') {
@@ -139,8 +121,7 @@ const appleWalletHandler = async (req, res) => {
139
121
  const pass = await modules.passes.findAppleWalletPass(passTypeIdentifier, serialNumber);
140
122
  if (pass) {
141
123
  if (!isAuthenticationTokenCorrect(req, pass.meta.rawData._id || pass.meta.rawData.tokenId)) {
142
- res.writeHead(401);
143
- res.end();
124
+ res.status(401).end();
144
125
  return;
145
126
  }
146
127
  const { updated, created } = pass;
@@ -149,8 +130,7 @@ const appleWalletHandler = async (req, res) => {
149
130
  const ifModifiedSinceDate = new Date(req.header('if-modified-since'));
150
131
  ifModifiedSinceDate.setMilliseconds(0);
151
132
  if (ifModifiedSinceDate.getTime() >= lastModifiedDate.getTime()) {
152
- res.writeHead(304);
153
- res.end();
133
+ res.status(304).end();
154
134
  return;
155
135
  }
156
136
  const fileUploadAdapter = getFileAdapter();
@@ -163,13 +143,12 @@ const appleWalletHandler = async (req, res) => {
163
143
  'Content-Type': 'application/vnd.apple.pkpass',
164
144
  'Last-Modified': lastModifiedDate.toUTCString(),
165
145
  });
166
- res.end(uint8View);
146
+ res.send(uint8View);
167
147
  return;
168
148
  }
169
149
  }
170
150
  }
171
- res.writeHead(404);
172
- res.end();
151
+ res.status(404).end();
173
152
  };
174
153
  export default appleWalletHandler;
175
154
  //# sourceMappingURL=apple-handler-express.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apple-handler-express.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apple-handler-express.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-express.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apple-handler-fastify.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-fastify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AASlE,QAAA,MAAM,kBAAkB,EAAE,kBAoNzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"apple-handler-fastify.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-fastify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AASlE,QAAA,MAAM,kBAAkB,EAAE,kBAmPzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -22,14 +22,20 @@ const appleWalletHandler = async (req, reply) => {
22
22
  tokenId,
23
23
  });
24
24
  if (!token) {
25
+ logger.error('Token not found', { tokenId });
25
26
  reply.status(404);
26
- return reply.send('Token not found');
27
+ return reply.send();
27
28
  }
28
29
  const { hash } = req.query;
29
30
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
30
31
  if (hash !== correctHash) {
32
+ logger.error('Token hash invalid for current owner', { tokenId });
31
33
  reply.status(403);
32
- return reply.send('Token hash invalid for current owner');
34
+ return reply.send({
35
+ success: false,
36
+ message: 'Token hash invalid for current owner',
37
+ name: 'HASH_MISMATCH',
38
+ });
33
39
  }
34
40
  const passFile = await modules.passes.upsertAppleWalletPass(token, resolvedContext);
35
41
  const fileUploadAdapter = getFileAdapter();
@@ -44,10 +50,14 @@ const appleWalletHandler = async (req, reply) => {
44
50
  return reply.send(uint8View);
45
51
  }
46
52
  catch (e) {
47
- console.error(e);
53
+ logger.error(e);
54
+ reply.status(500);
55
+ return reply.send({
56
+ success: false,
57
+ message: 'Error generating pass',
58
+ name: 'PASS_GENERATION_ERROR',
59
+ });
48
60
  }
49
- reply.status(500);
50
- return reply.send();
51
61
  }
52
62
  const [, apiVersion, endpoint, ...pathComponents] = path.split("/"); /* eslint-disable-line */
53
63
  if (endpoint === 'devices') {
@@ -58,6 +68,7 @@ const appleWalletHandler = async (req, reply) => {
58
68
  const pass = await modules.passes.findAppleWalletPass(passTypeIdentifier, serialNumber);
59
69
  if (pass) {
60
70
  if (!isAuthenticationTokenCorrect(req, pass.meta.rawData._id || pass.meta.rawData.tokenId)) {
71
+ logger.error('Unauthorized', { passTypeIdentifier, serialNumber });
61
72
  reply.status(401);
62
73
  return reply.send();
63
74
  }
@@ -67,10 +78,14 @@ const appleWalletHandler = async (req, reply) => {
67
78
  });
68
79
  if (!newRegistration) {
69
80
  reply.status(200);
70
- return reply.send();
81
+ return reply.send({
82
+ success: true,
83
+ });
71
84
  }
72
85
  reply.status(201);
73
- return reply.send();
86
+ return reply.send({
87
+ success: true,
88
+ });
74
89
  }
75
90
  }
76
91
  else if (req.method === 'GET') {
@@ -83,14 +98,14 @@ const appleWalletHandler = async (req, reply) => {
83
98
  const serialNumbers = passes.map((t) => t.meta.serialNumber);
84
99
  if (serialNumbers?.length) {
85
100
  reply.status(200);
86
- reply.header('content-type', 'application/json');
87
- return reply.send(JSON.stringify({
101
+ return reply.send({
102
+ success: true,
88
103
  serialNumbers,
89
104
  lastUpdated,
90
- }));
105
+ });
91
106
  }
92
107
  reply.status(204);
93
- return reply.send();
108
+ return reply.send({ success: true });
94
109
  }
95
110
  else if (req.method === 'DELETE') {
96
111
  // Unregister Device
@@ -98,13 +113,20 @@ const appleWalletHandler = async (req, reply) => {
98
113
  const pass = await modules.passes.findAppleWalletPass(passTypeIdentifier, serialNumber);
99
114
  if (pass) {
100
115
  if (!isAuthenticationTokenCorrect(req, pass.meta.rawData._id || pass.meta.rawData.tokenId)) {
116
+ logger.error('Unauthorized', { passTypeIdentifier, serialNumber });
101
117
  reply.status(401);
102
- return reply.send();
118
+ return reply.send({
119
+ success: false,
120
+ message: 'Unauthorized',
121
+ name: 'UNAUTHORIZED',
122
+ });
103
123
  }
104
124
  await modules.passes.unregisterDeviceForAppleWalletPass(passTypeIdentifier, serialNumber, deviceLibraryIdentifier);
105
125
  // Unregistered
106
126
  reply.status(200);
107
- return reply.send();
127
+ return reply.send({
128
+ success: true,
129
+ });
108
130
  }
109
131
  }
110
132
  }
@@ -117,7 +139,9 @@ const appleWalletHandler = async (req, reply) => {
117
139
  }
118
140
  });
119
141
  reply.status(200);
120
- return reply.send();
142
+ return reply.send({
143
+ success: true,
144
+ });
121
145
  }
122
146
  else if (endpoint === 'passes') {
123
147
  if (req.method === 'GET') {
@@ -126,8 +150,13 @@ const appleWalletHandler = async (req, reply) => {
126
150
  const pass = await modules.passes.findAppleWalletPass(passTypeIdentifier, serialNumber);
127
151
  if (pass) {
128
152
  if (!isAuthenticationTokenCorrect(req, pass.meta.rawData._id || pass.meta.rawData.tokenId)) {
153
+ logger.error('Unauthorized', { passTypeIdentifier, serialNumber });
129
154
  reply.status(401);
130
- return reply.send();
155
+ return reply.send({
156
+ success: false,
157
+ message: 'Unauthorized',
158
+ name: 'UNAUTHORIZED',
159
+ });
131
160
  }
132
161
  const { updated, created } = pass;
133
162
  const lastModifiedDate = new Date(updated || created);
@@ -136,7 +165,11 @@ const appleWalletHandler = async (req, reply) => {
136
165
  ifModifiedSinceDate.setMilliseconds(0);
137
166
  if (ifModifiedSinceDate.getTime() >= lastModifiedDate.getTime()) {
138
167
  reply.status(304);
139
- return reply.send();
168
+ return reply.send({
169
+ success: true,
170
+ message: 'Not modified',
171
+ name: 'NOT_MODIFIED',
172
+ });
140
173
  }
141
174
  const fileUploadAdapter = getFileAdapter();
142
175
  const signedUrl = await fileUploadAdapter.createDownloadURL(pass);
@@ -1 +1 @@
1
- {"version":3,"file":"apple-handler-fastify.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-fastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apple-handler-fastify.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-handler-fastify.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import apn from '@hyperlink/node-apn';
1
+ import apn from '@parse/node-apn';
2
2
  import { Readable } from 'node:stream';
3
- export declare const pushToApplePushNotificationService: (deviceTokens: any) => Promise<apn.Responses>;
3
+ export declare const pushToApplePushNotificationService: (deviceTokens: any) => Promise<apn.Responses<apn.ResponseSent, apn.ResponseFailure>>;
4
4
  export declare const buildPassBinary: (chainTokenId: string, pass: {
5
5
  serialNumber: string;
6
6
  asBuffer: () => Promise<Buffer>;
@@ -1 +1 @@
1
- {"version":3,"file":"apple-wallet.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/apple-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,kCAAkC,GAAU,iBAAY,2BAUpE,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,cAAc,MAAM,EACpB,MAAM;IACJ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;;;;;EAUF,CAAC"}
1
+ {"version":3,"file":"apple-wallet.d.ts","sourceRoot":"","sources":["../../src/mobile-tickets/apple-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,kCAAkC,GAAU,iBAAY,kEAUpE,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,cAAc,MAAM,EACpB,MAAM;IACJ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;;;;;EAUF,CAAC"}
@@ -1,4 +1,4 @@
1
- import apn from '@hyperlink/node-apn';
1
+ import apn from '@parse/node-apn';
2
2
  import { Readable } from 'node:stream';
3
3
  export const pushToApplePushNotificationService = async (deviceTokens) => {
4
4
  const apnProvider = new apn.Provider({
@@ -1 +1 @@
1
- {"version":3,"file":"apple-wallet.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE;IACvE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACtC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;QAC/C,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,YAAoB,EACpB,IAGC,EACD,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,QAAQ,EAAE,GAAG,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS;QAC1D,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QACjD,QAAQ,EAAE,8BAA8B;KACzC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"apple-wallet.js","sourceRoot":"","sources":["../../src/mobile-tickets/apple-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE;IACvE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACvC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACtC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;QAC/C,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,YAAoB,EACpB,IAGC,EACD,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,QAAQ,EAAE,GAAG,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS;QAC1D,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QACjD,QAAQ,EAAE,8BAA8B;KACzC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1 +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,GAC9B,KAAK,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,EACjD,KAAK,QAAQ,kBA+Cd,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
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,GAC9B,KAAK,OAAO,GAAG;IAAE,gBAAgB,EAAE,YAAY,CAAA;CAAE,EACjD,KAAK,QAAQ,kBA0Cd,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -8,23 +8,20 @@ export const googleWalletHandler = async (req, res) => {
8
8
  try {
9
9
  const [, , tokenId] = req.path.split('/');
10
10
  if (!tokenId) {
11
- res.writeHead(404);
12
- res.end();
11
+ res.status(404).end();
13
12
  return;
14
13
  }
15
14
  const token = await modules.warehousing.findToken({
16
15
  tokenId,
17
16
  });
18
17
  if (!token) {
19
- res.writeHead(404);
20
- res.end('Token not found');
18
+ res.status(404).send('Token not found');
21
19
  return;
22
20
  }
23
21
  const { hash } = req.query;
24
22
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
25
23
  if (hash !== correctHash) {
26
- res.writeHead(403);
27
- res.end('Token hash invalid for current owner');
24
+ res.status(403).send('Token hash invalid for current owner');
28
25
  return;
29
26
  }
30
27
  const pass = await modules.passes.upsertGoogleWalletPass(token, resolvedContext);
@@ -32,14 +29,12 @@ export const googleWalletHandler = async (req, res) => {
32
29
  return;
33
30
  }
34
31
  catch (e) {
35
- console.error(e);
32
+ logger.error(e);
36
33
  }
37
- res.writeHead(500);
38
- res.end();
34
+ res.status(500).end();
39
35
  return;
40
36
  }
41
- res.writeHead(404);
42
- res.end();
37
+ res.status(404).end();
43
38
  };
44
39
  export default googleWalletHandler;
45
40
  //# sourceMappingURL=google-handler-express.js.map
@@ -1 +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"}
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,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACtB,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,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACxC,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,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBAC7D,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,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1 +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"}
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,kBA0D1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -16,23 +16,33 @@ const googleWalletHandler = async (req, reply) => {
16
16
  tokenId,
17
17
  });
18
18
  if (!token) {
19
+ logger.error('Token not found', { tokenId });
19
20
  reply.status(404);
20
- return reply.send('Token not found');
21
+ return reply.send();
21
22
  }
22
23
  const { hash } = req.query;
23
24
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
24
25
  if (hash !== correctHash) {
26
+ logger.error('Token hash invalid for current owner', { tokenId });
25
27
  reply.status(403);
26
- return reply.send('Token hash invalid for current owner');
28
+ return reply.send({
29
+ success: false,
30
+ message: 'Token hash invalid for current owner',
31
+ name: 'HASH_MISMATCH',
32
+ });
27
33
  }
28
34
  const pass = await modules.passes.upsertGoogleWalletPass(token, resolvedContext);
29
35
  return reply.redirect(await pass.asURL());
30
36
  }
31
37
  catch (e) {
32
- console.error(e);
38
+ logger.error(e);
39
+ reply.status(500);
40
+ return reply.send({
41
+ success: false,
42
+ message: 'Error generating pass',
43
+ name: 'PASS_GENERATION_ERROR',
44
+ });
33
45
  }
34
- reply.status(500);
35
- return reply.send();
36
46
  }
37
47
  reply.status(404);
38
48
  return reply.send();
@@ -1 +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
+ {"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,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YACtB,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,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,sCAAsC;oBAC/C,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;YACL,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,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAE,uBAAuB;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,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":"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,GAAU,QAAQ,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;mCAmB3B,cAAc,gBAAgB,aAAa;yEAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;sHA8DhF,OAAO,CAAC,IAAI,EAAE,CAAC;gDAkBuC,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,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;CACrD;;;4BAlOsC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;2CAmB3B,cAAc,gBAAgB,aAAa;iFAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;8HA8DhF,OAAO,CAAC,IAAI,EAAE,CAAC;wDAkBuC,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"}
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,GAAU,QAAQ,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;mCAmB3B,cAAc,gBAAgB,aAAa;yEAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;sHA8DhF,OAAO,CAAC,IAAI,EAAE,CAAC;gDAkBuC,aAAa;oCAtFzB,cAAc,gBAAgB,aAAa;;;;;;6BA2GlD,MAAM;4BASP,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,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;CACrD;;;4BArOsC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;2CAmB3B,cAAc,gBAAgB,aAAa;iFAoDjB,OAAO,CAAC,IAAI,CAAC;;;;;;8HA8DhF,OAAO,CAAC,IAAI,EAAE,CAAC;wDAkBuC,aAAa;4CAtFzB,cAAc,gBAAgB,aAAa;;;;;;qCA2GlD,MAAM;oCASP,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"}
package/lib/module.js CHANGED
@@ -146,7 +146,10 @@ const configurePasses = async ({ db }) => {
146
146
  const buildMagicKey = async (orderId) => {
147
147
  const msgUint8 = new TextEncoder().encode([orderId, process.env.UNCHAINED_SECRET].join(''));
148
148
  const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
149
- return Buffer.from(hashBuffer).toString('hex');
149
+ // Convert ArrayBuffer to hex string without using Buffer
150
+ return Array.from(new Uint8Array(hashBuffer))
151
+ .map((b) => b.toString(16).padStart(2, '0'))
152
+ .join('');
150
153
  };
151
154
  const cancelTicket = async (tokenId) => {
152
155
  return TokenSurrogates.findOneAndUpdate({ _id: tokenId }, { $set: { 'meta.cancelled': true } }, {
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"print-handler-express.d.ts","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-express.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,EAAE,QAAQ,iBAsBpG;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"print-handler-express.d.ts","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-express.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,EAAE,QAAQ,iBAqBpG;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { checkAction } from '@unchainedshop/api/lib/acl.js';
2
2
  import { actions } from '@unchainedshop/api/lib/roles/index.js';
3
3
  import { RendererTypes, getRenderer } from '../template-registry.js';
4
+ import { createLogger } from '@unchainedshop/logger';
5
+ const logger = createLogger('unchained:ticketing');
4
6
  export async function printTicketsHandler(req, res) {
5
7
  const { variant, orderId, otp } = req.query || {};
6
8
  try {
@@ -15,9 +17,8 @@ export async function printTicketsHandler(req, res) {
15
17
  pdfStream.pipe(res);
16
18
  }
17
19
  catch (error) {
18
- console.error(error);
19
- res.status(403);
20
- res.end();
20
+ logger.error(error);
21
+ res.status(403).end();
21
22
  }
22
23
  }
23
24
  export default printTicketsHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"print-handler-express.js","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGrE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAA4C,EAAE,GAAa;IACnG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC;QACH,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;YAExC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7C,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiB,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9F,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"print-handler-express.js","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAA4C,EAAE,GAAa;IACnG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC;QACH,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;YAExC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7C,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiB,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9F,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"print-handler-fastify.d.ts","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-fastify.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE,QAAA,MAAM,mBAAmB,EAAE,kBA2B1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"print-handler-fastify.d.ts","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-fastify.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlE,QAAA,MAAM,mBAAmB,EAAE,kBA+B1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { checkAction } from '@unchainedshop/api/lib/acl.js';
2
2
  import { actions } from '@unchainedshop/api/lib/roles/index.js';
3
3
  import { RendererTypes, getRenderer } from '../template-registry.js';
4
+ import { createLogger } from '@unchainedshop/logger';
5
+ const logger = createLogger('unchained:ticketing:print-handler');
4
6
  const printTicketsHandler = async (req, reply) => {
5
7
  const { variant, orderId, otp } = req.query || {};
6
8
  try {
@@ -15,9 +17,13 @@ const printTicketsHandler = async (req, reply) => {
15
17
  return reply.send(pdfStream);
16
18
  }
17
19
  catch (error) {
18
- console.error(error);
20
+ logger.error(error);
19
21
  reply.status(403);
20
- return reply.send();
22
+ return reply.send({
23
+ success: false,
24
+ message: 'Error generating PDF',
25
+ name: 'PDF_GENERATION_ERROR',
26
+ });
21
27
  }
22
28
  };
23
29
  export default printTicketsHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"print-handler-fastify.js","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIrE,MAAM,mBAAmB,GAAuB,KAAK,EACnD,GAEC,EACD,KAAK,EACL,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,GAAG,CAAC,KAA6B,IAAI,EAAE,CAAC;IAE3E,IAAI,CAAC;QACH,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;YAExC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7C,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiB,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9F,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"print-handler-fastify.js","sourceRoot":"","sources":["../../src/pdf-tickets/print-handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,mCAAmC,CAAC,CAAC;AAEjE,MAAM,mBAAmB,GAAuB,KAAK,EACnD,GAEC,EACD,KAAK,EACL,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,GAAG,CAAC,KAA6B,IAAI,EAAE,CAAC;IAE3E,IAAI,CAAC;QACH,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;YAExC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7C,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAiB,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9F,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/ticketing",
3
- "version": "4.0.0-rc.14",
3
+ "version": "4.0.0-rc.16",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "type": "module",
@@ -31,22 +31,22 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/api": "^4.0.0-rc.14",
35
- "@unchainedshop/core": "^4.0.0-rc.14",
36
- "@unchainedshop/core-files": "^4.0.0-rc.14",
37
- "@unchainedshop/core-warehousing": "^4.0.0-rc.14",
38
- "@unchainedshop/core-worker": "^4.0.0-rc.14",
39
- "@unchainedshop/events": "^4.0.0-rc.14",
40
- "@unchainedshop/logger": "^4.0.0-rc.14",
41
- "@unchainedshop/mongodb": "^4.0.0-rc.14"
34
+ "@unchainedshop/api": "^4.0.0-rc.15",
35
+ "@unchainedshop/core": "^4.0.0-rc.15",
36
+ "@unchainedshop/core-files": "^4.0.0-rc.15",
37
+ "@unchainedshop/core-warehousing": "^4.0.0-rc.15",
38
+ "@unchainedshop/core-worker": "^4.0.0-rc.15",
39
+ "@unchainedshop/events": "^4.0.0-rc.15",
40
+ "@unchainedshop/logger": "^4.0.0-rc.15",
41
+ "@unchainedshop/mongodb": "^4.0.0-rc.15"
42
42
  },
43
43
  "peerDependencies": {
44
- "@hyperlink/node-apn": "^5.1.4",
44
+ "@parse/node-apn": "^6.5.0",
45
45
  "express": "5.x",
46
46
  "fastify": ">= 5.2 < 6"
47
47
  },
48
48
  "peerDependenciesMeta": {
49
- "@hyperlink/node-apn": {
49
+ "@parse/node-apn": {
50
50
  "optional": false
51
51
  },
52
52
  "express": {
@@ -21,8 +21,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
21
21
  const [tokenId] = passFileName.split('.pkpass');
22
22
 
23
23
  if (!tokenId) {
24
- res.writeHead(404);
25
- res.end();
24
+ res.status(404).end();
26
25
  return;
27
26
  }
28
27
 
@@ -31,16 +30,14 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
31
30
  });
32
31
 
33
32
  if (!token) {
34
- res.writeHead(404);
35
- res.end('Token not found');
33
+ res.status(404).send('Token not found');
36
34
  return;
37
35
  }
38
36
 
39
37
  const { hash } = req.query;
40
38
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
41
39
  if (hash !== correctHash) {
42
- res.writeHead(403);
43
- res.end('Token hash invalid for current owner');
40
+ res.status(403).send('Token hash invalid for current owner');
44
41
  return;
45
42
  }
46
43
 
@@ -57,13 +54,12 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
57
54
  res.status(200);
58
55
  res.setHeader('Content-Type', 'application/vnd.apple.pkpass');
59
56
  res.setHeader('Content-Disposition', `attachment; filename=${tokenId}.pkpass`);
60
- res.end(uint8View);
57
+ res.send(uint8View);
61
58
  return;
62
59
  } catch (e) {
63
- console.error(e);
60
+ logger.error(e);
64
61
  }
65
- res.writeHead(500);
66
- res.end();
62
+ res.status(500).end();
67
63
  return;
68
64
  }
69
65
 
@@ -83,8 +79,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
83
79
  (pass.meta.rawData as any)._id || (pass.meta.rawData as any).tokenId,
84
80
  )
85
81
  ) {
86
- res.writeHead(401);
87
- res.end();
82
+ res.status(401).end();
88
83
  return;
89
84
  }
90
85
 
@@ -98,13 +93,11 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
98
93
  );
99
94
 
100
95
  if (!newRegistration) {
101
- res.writeHead(200);
102
- res.end();
96
+ res.status(200).end();
103
97
  return;
104
98
  }
105
99
 
106
- res.writeHead(201);
107
- res.end();
100
+ res.status(201).end();
108
101
  return;
109
102
  }
110
103
  } else if (req.method === 'GET') {
@@ -122,21 +115,11 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
122
115
  const serialNumbers = passes.map((t) => t.meta.serialNumber);
123
116
 
124
117
  if (serialNumbers?.length) {
125
- res.writeHead(200, {
126
- 'Content-Type': 'application/json',
127
- });
128
- res.write(
129
- JSON.stringify({
130
- serialNumbers,
131
- lastUpdated,
132
- }),
133
- );
134
- res.end();
118
+ res.status(200).send({ serialNumbers, lastUpdated });
135
119
  return;
136
120
  }
137
121
 
138
- res.writeHead(204);
139
- res.end();
122
+ res.status(204).end();
140
123
  return;
141
124
  } else if (req.method === 'DELETE') {
142
125
  // Unregister Device
@@ -151,8 +134,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
151
134
  (pass.meta.rawData as any)._id || (pass.meta.rawData as any).tokenId,
152
135
  )
153
136
  ) {
154
- res.writeHead(401);
155
- res.end();
137
+ res.status(401).end();
156
138
  return;
157
139
  }
158
140
 
@@ -163,8 +145,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
163
145
  );
164
146
 
165
147
  // Unregistered
166
- res.writeHead(200);
167
- res.end();
148
+ res.status(200).end();
168
149
  return;
169
150
  }
170
151
  }
@@ -176,8 +157,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
176
157
  logger.info(log);
177
158
  }
178
159
  });
179
- res.writeHead(200);
180
- res.end();
160
+ res.status(200).end();
181
161
  return;
182
162
  } else if (endpoint === 'passes') {
183
163
  if (req.method === 'GET') {
@@ -193,8 +173,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
193
173
  (pass.meta.rawData as any)._id || (pass.meta.rawData as any).tokenId,
194
174
  )
195
175
  ) {
196
- res.writeHead(401);
197
- res.end();
176
+ res.status(401).end();
198
177
  return;
199
178
  }
200
179
 
@@ -207,8 +186,7 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
207
186
  ifModifiedSinceDate.setMilliseconds(0);
208
187
 
209
188
  if (ifModifiedSinceDate.getTime() >= lastModifiedDate.getTime()) {
210
- res.writeHead(304);
211
- res.end();
189
+ res.status(304).end();
212
190
  return;
213
191
  }
214
192
 
@@ -224,14 +202,13 @@ const appleWalletHandler = async (req: Request & { unchainedContext: TicketingAP
224
202
  'Content-Type': 'application/vnd.apple.pkpass',
225
203
  'Last-Modified': lastModifiedDate.toUTCString(),
226
204
  });
227
- res.end(uint8View);
205
+ res.send(uint8View);
228
206
  return;
229
207
  }
230
208
  }
231
209
  }
232
210
 
233
- res.writeHead(404);
234
- res.end();
211
+ res.status(404).end();
235
212
  };
236
213
 
237
214
  export default appleWalletHandler;
@@ -38,15 +38,21 @@ const appleWalletHandler: RouteHandlerMethod = async (
38
38
  });
39
39
 
40
40
  if (!token) {
41
+ logger.error('Token not found', { tokenId });
41
42
  reply.status(404);
42
- return reply.send('Token not found');
43
+ return reply.send();
43
44
  }
44
45
 
45
46
  const { hash } = req.query as Record<string, string>;
46
47
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
47
48
  if (hash !== correctHash) {
49
+ logger.error('Token hash invalid for current owner', { tokenId });
48
50
  reply.status(403);
49
- return reply.send('Token hash invalid for current owner');
51
+ return reply.send({
52
+ success: false,
53
+ message: 'Token hash invalid for current owner',
54
+ name: 'HASH_MISMATCH',
55
+ });
50
56
  }
51
57
 
52
58
  const passFile = await modules.passes.upsertAppleWalletPass(token, resolvedContext);
@@ -64,10 +70,14 @@ const appleWalletHandler: RouteHandlerMethod = async (
64
70
  reply.header('Content-Disposition', `attachment; filename=${tokenId}.pkpass`);
65
71
  return reply.send(uint8View);
66
72
  } catch (e) {
67
- console.error(e);
73
+ logger.error(e);
74
+ reply.status(500);
75
+ return reply.send({
76
+ success: false,
77
+ message: 'Error generating pass',
78
+ name: 'PASS_GENERATION_ERROR',
79
+ });
68
80
  }
69
- reply.status(500);
70
- return reply.send();
71
81
  }
72
82
 
73
83
  const [, apiVersion, endpoint, ...pathComponents] = path.split("/"); /* eslint-disable-line */
@@ -86,6 +96,7 @@ const appleWalletHandler: RouteHandlerMethod = async (
86
96
  (pass.meta.rawData as any)._id || (pass.meta.rawData as any).tokenId,
87
97
  )
88
98
  ) {
99
+ logger.error('Unauthorized', { passTypeIdentifier, serialNumber });
89
100
  reply.status(401);
90
101
  return reply.send();
91
102
  }
@@ -101,11 +112,15 @@ const appleWalletHandler: RouteHandlerMethod = async (
101
112
 
102
113
  if (!newRegistration) {
103
114
  reply.status(200);
104
- return reply.send();
115
+ return reply.send({
116
+ success: true,
117
+ });
105
118
  }
106
119
 
107
120
  reply.status(201);
108
- return reply.send();
121
+ return reply.send({
122
+ success: true,
123
+ });
109
124
  }
110
125
  } else if (req.method === 'GET') {
111
126
  // Get the List of Updatable Passes
@@ -124,17 +139,15 @@ const appleWalletHandler: RouteHandlerMethod = async (
124
139
 
125
140
  if (serialNumbers?.length) {
126
141
  reply.status(200);
127
- reply.header('content-type', 'application/json');
128
- return reply.send(
129
- JSON.stringify({
130
- serialNumbers,
131
- lastUpdated,
132
- }),
133
- );
142
+ return reply.send({
143
+ success: true,
144
+ serialNumbers,
145
+ lastUpdated,
146
+ });
134
147
  }
135
148
 
136
149
  reply.status(204);
137
- return reply.send();
150
+ return reply.send({ success: true });
138
151
  } else if (req.method === 'DELETE') {
139
152
  // Unregister Device
140
153
  const [deviceLibraryIdentifier, , passTypeIdentifier, serialNumber] = pathComponents;
@@ -148,8 +161,13 @@ const appleWalletHandler: RouteHandlerMethod = async (
148
161
  (pass.meta.rawData as any)._id || (pass.meta.rawData as any).tokenId,
149
162
  )
150
163
  ) {
164
+ logger.error('Unauthorized', { passTypeIdentifier, serialNumber });
151
165
  reply.status(401);
152
- return reply.send();
166
+ return reply.send({
167
+ success: false,
168
+ message: 'Unauthorized',
169
+ name: 'UNAUTHORIZED',
170
+ });
153
171
  }
154
172
 
155
173
  await modules.passes.unregisterDeviceForAppleWalletPass(
@@ -160,7 +178,9 @@ const appleWalletHandler: RouteHandlerMethod = async (
160
178
 
161
179
  // Unregistered
162
180
  reply.status(200);
163
- return reply.send();
181
+ return reply.send({
182
+ success: true,
183
+ });
164
184
  }
165
185
  }
166
186
  } else if (endpoint === 'log') {
@@ -172,7 +192,9 @@ const appleWalletHandler: RouteHandlerMethod = async (
172
192
  }
173
193
  });
174
194
  reply.status(200);
175
- return reply.send();
195
+ return reply.send({
196
+ success: true,
197
+ });
176
198
  } else if (endpoint === 'passes') {
177
199
  if (req.method === 'GET') {
178
200
  // Get an updated Pass
@@ -187,8 +209,13 @@ const appleWalletHandler: RouteHandlerMethod = async (
187
209
  (pass.meta.rawData as any)._id || (pass.meta.rawData as any).tokenId,
188
210
  )
189
211
  ) {
212
+ logger.error('Unauthorized', { passTypeIdentifier, serialNumber });
190
213
  reply.status(401);
191
- return reply.send();
214
+ return reply.send({
215
+ success: false,
216
+ message: 'Unauthorized',
217
+ name: 'UNAUTHORIZED',
218
+ });
192
219
  }
193
220
 
194
221
  const { updated, created } = pass;
@@ -201,7 +228,11 @@ const appleWalletHandler: RouteHandlerMethod = async (
201
228
 
202
229
  if (ifModifiedSinceDate.getTime() >= lastModifiedDate.getTime()) {
203
230
  reply.status(304);
204
- return reply.send();
231
+ return reply.send({
232
+ success: true,
233
+ message: 'Not modified',
234
+ name: 'NOT_MODIFIED',
235
+ });
205
236
  }
206
237
 
207
238
  const fileUploadAdapter = getFileAdapter();
@@ -1,4 +1,4 @@
1
- import apn from '@hyperlink/node-apn';
1
+ import apn from '@parse/node-apn';
2
2
  import { Readable } from 'node:stream';
3
3
 
4
4
  export const pushToApplePushNotificationService = async (deviceTokens) => {
@@ -17,8 +17,7 @@ export const googleWalletHandler = async (
17
17
  const [, , tokenId] = req.path.split('/');
18
18
 
19
19
  if (!tokenId) {
20
- res.writeHead(404);
21
- res.end();
20
+ res.status(404).end();
22
21
  return;
23
22
  }
24
23
 
@@ -27,16 +26,14 @@ export const googleWalletHandler = async (
27
26
  });
28
27
 
29
28
  if (!token) {
30
- res.writeHead(404);
31
- res.end('Token not found');
29
+ res.status(404).send('Token not found');
32
30
  return;
33
31
  }
34
32
 
35
33
  const { hash } = req.query;
36
34
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
37
35
  if (hash !== correctHash) {
38
- res.writeHead(403);
39
- res.end('Token hash invalid for current owner');
36
+ res.status(403).send('Token hash invalid for current owner');
40
37
  return;
41
38
  }
42
39
 
@@ -45,14 +42,12 @@ export const googleWalletHandler = async (
45
42
  res.redirect(await pass.asURL());
46
43
  return;
47
44
  } catch (e) {
48
- console.error(e);
45
+ logger.error(e);
49
46
  }
50
- res.writeHead(500);
51
- res.end();
47
+ res.status(500).end();
52
48
  return;
53
49
  }
54
- res.writeHead(404);
55
- res.end();
50
+ res.status(404).end();
56
51
  };
57
52
 
58
53
  export default googleWalletHandler;
@@ -31,24 +31,34 @@ const googleWalletHandler: RouteHandlerMethod = async (
31
31
  });
32
32
 
33
33
  if (!token) {
34
+ logger.error('Token not found', { tokenId });
34
35
  reply.status(404);
35
- return reply.send('Token not found');
36
+ return reply.send();
36
37
  }
37
38
 
38
39
  const { hash } = req.query as Record<string, string>;
39
40
  const correctHash = await modules.warehousing.buildAccessKeyForToken(tokenId);
40
41
  if (hash !== correctHash) {
42
+ logger.error('Token hash invalid for current owner', { tokenId });
41
43
  reply.status(403);
42
- return reply.send('Token hash invalid for current owner');
44
+ return reply.send({
45
+ success: false,
46
+ message: 'Token hash invalid for current owner',
47
+ name: 'HASH_MISMATCH',
48
+ });
43
49
  }
44
50
 
45
51
  const pass = await modules.passes.upsertGoogleWalletPass(token, resolvedContext);
46
52
  return reply.redirect(await pass.asURL());
47
53
  } catch (e) {
48
- console.error(e);
54
+ logger.error(e);
55
+ reply.status(500);
56
+ return reply.send({
57
+ success: false,
58
+ message: 'Error generating pass',
59
+ name: 'PASS_GENERATION_ERROR',
60
+ });
49
61
  }
50
- reply.status(500);
51
- return reply.send();
52
62
  }
53
63
  reply.status(404);
54
64
  return reply.send();
package/src/module.ts CHANGED
@@ -188,7 +188,10 @@ const configurePasses = async ({ db }: ModuleInput<Record<string, never>>) => {
188
188
  const buildMagicKey = async (orderId: string) => {
189
189
  const msgUint8 = new TextEncoder().encode([orderId, process.env.UNCHAINED_SECRET].join(''));
190
190
  const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
191
- return Buffer.from(hashBuffer).toString('hex');
191
+ // Convert ArrayBuffer to hex string without using Buffer
192
+ return Array.from(new Uint8Array(hashBuffer))
193
+ .map((b) => b.toString(16).padStart(2, '0'))
194
+ .join('');
192
195
  };
193
196
 
194
197
  const cancelTicket = async (tokenId: string) => {
@@ -4,6 +4,10 @@ import { Context } from '@unchainedshop/api';
4
4
  import { RendererTypes, getRenderer } from '../template-registry.js';
5
5
  import type { Request, Response } from 'express';
6
6
 
7
+ import { createLogger } from '@unchainedshop/logger';
8
+
9
+ const logger = createLogger('unchained:ticketing');
10
+
7
11
  export async function printTicketsHandler(req: Request & { unchainedContext: Context }, res: Response) {
8
12
  const { variant, orderId, otp } = req.query || {};
9
13
 
@@ -22,9 +26,8 @@ export async function printTicketsHandler(req: Request & { unchainedContext: Con
22
26
  res.setHeader('Content-Type', 'application/pdf');
23
27
  pdfStream.pipe(res);
24
28
  } catch (error) {
25
- console.error(error);
26
- res.status(403);
27
- res.end();
29
+ logger.error(error);
30
+ res.status(403).end();
28
31
  }
29
32
  }
30
33
 
@@ -3,6 +3,9 @@ import { actions } from '@unchainedshop/api/lib/roles/index.js';
3
3
  import { RendererTypes, getRenderer } from '../template-registry.js';
4
4
  import { TicketingAPI } from '../types.js';
5
5
  import type { FastifyRequest, RouteHandlerMethod } from 'fastify';
6
+ import { createLogger } from '@unchainedshop/logger';
7
+
8
+ const logger = createLogger('unchained:ticketing:print-handler');
6
9
 
7
10
  const printTicketsHandler: RouteHandlerMethod = async (
8
11
  req: FastifyRequest & {
@@ -27,9 +30,13 @@ const printTicketsHandler: RouteHandlerMethod = async (
27
30
  reply.header('content-type', 'application/pdf');
28
31
  return reply.send(pdfStream);
29
32
  } catch (error) {
30
- console.error(error);
33
+ logger.error(error);
31
34
  reply.status(403);
32
- return reply.send();
35
+ return reply.send({
36
+ success: false,
37
+ message: 'Error generating PDF',
38
+ name: 'PDF_GENERATION_ERROR',
39
+ });
33
40
  }
34
41
  };
35
42