@unchainedshop/ticketing 4.0.0-rc.15 → 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 (30) 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/pdf-tickets/print-handler-express.d.ts.map +1 -1
  18. package/lib/pdf-tickets/print-handler-express.js +4 -3
  19. package/lib/pdf-tickets/print-handler-express.js.map +1 -1
  20. package/lib/pdf-tickets/print-handler-fastify.d.ts.map +1 -1
  21. package/lib/pdf-tickets/print-handler-fastify.js +8 -2
  22. package/lib/pdf-tickets/print-handler-fastify.js.map +1 -1
  23. package/package.json +3 -3
  24. package/src/mobile-tickets/apple-handler-express.ts +18 -41
  25. package/src/mobile-tickets/apple-handler-fastify.ts +51 -20
  26. package/src/mobile-tickets/apple-wallet.ts +1 -1
  27. package/src/mobile-tickets/google-handler-express.ts +6 -11
  28. package/src/mobile-tickets/google-handler-fastify.ts +15 -5
  29. package/src/pdf-tickets/print-handler-express.ts +6 -3
  30. 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":"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.15",
3
+ "version": "4.0.0-rc.16",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "type": "module",
@@ -41,12 +41,12 @@
41
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();
@@ -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