Skip to content

Commit 3c745aa

Browse files
committed
PM-1073 PR feedback
1 parent cf0aadb commit 3c745aa

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

src/api/webhooks/trolley/trolley.service.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,12 @@ export class TrolleyService {
3333
* @returns A boolean indicating whether the signature is valid.
3434
*/
3535
validateSignature(headers: Request['headers'], bodyPayload: string): boolean {
36-
if (!headers[TrolleyHeaders.signature]) {
36+
const headerSignature = headers[TrolleyHeaders.signature] ?? '';
37+
if (!headerSignature || !headerSignature.match(/t=\d+,v1=[a-f0-9]{64}/i)) {
3738
return false;
3839
}
3940

40-
const headerSignatureValues = (
41-
headers[TrolleyHeaders.signature] ?? ''
42-
).split(',');
43-
41+
const headerSignatureValues = headerSignature.split(',');
4442
const t = headerSignatureValues[0].split('=')[1];
4543
const v1 = headerSignatureValues[1].split('=')[1];
4644

@@ -59,6 +57,11 @@ export class TrolleyService {
5957
*/
6058
async validateUnique(headers: Request['headers']): Promise<boolean> {
6159
const requestId = headers[TrolleyHeaders.id];
60+
61+
if (!requestId) {
62+
return false;
63+
}
64+
6265
const whEvent = await this.prisma.trolley_webhook_log.findUnique({
6366
where: { event_id: requestId },
6467
});
@@ -126,7 +129,6 @@ export class TrolleyService {
126129
await handler(body);
127130
await this.setEventState(requestId, webhook_status.processed);
128131
} catch (e) {
129-
console.log(e);
130132
await this.setEventState(requestId, webhook_status.error, void 0, {
131133
error_message: e.message ?? e,
132134
});

src/api/webhooks/webhooks.event-handlers.provider.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ import { WEBHOOK_EVENT_METADATA_KEY } from './webhooks.decorators';
1616
* bound handler functions for those events.
1717
*/
1818
const whEventHandlersFactory = (reflector: Reflector, handlerClasses) => {
19-
const handlersMap = new Map<string, () => void>();
19+
const handlersMap = new Map<
20+
string,
21+
(eventPayload: any) => Promise<unknown>
22+
>();
2023

2124
for (const handlerClass of handlerClasses) {
2225
const prototype = Object.getPrototypeOf(handlerClass);
@@ -34,7 +37,6 @@ const whEventHandlersFactory = (reflector: Reflector, handlerClasses) => {
3437
if (eventTypes?.length > 0) {
3538
eventTypes.forEach((eventType) => {
3639
handlersMap.set(eventType, method.bind(handlerClass));
37-
console.log(`Found event handler: ${eventType} -> ${propertyName}`);
3840
});
3941
}
4042
}

0 commit comments

Comments
 (0)