Skip to content

Commit

Permalink
refactor: ♻️ Move validation and "retriability" to FE
Browse files Browse the repository at this point in the history
  • Loading branch information
Kio-td committed Jul 10, 2024
1 parent 76be55f commit 63fdfc0
Showing 2 changed files with 22 additions and 22 deletions.
35 changes: 14 additions & 21 deletions src/main.ts
Original file line number Diff line number Diff line change
@@ -306,28 +306,11 @@ export class AgeVerificationSystem {
this.accountsOpen[ws.data.identity].stripe?.id ?? "",
);

if (data.code === "session_cancelled") {
return;
}

if (errorSession.last_error?.code === "consent_declined") {
await this.handleConsentDeclined(ws);
}

if (errorSession.last_error?.code === "under_supported_age") {
await this.handleUnsupportedAge(ws);
}
}

private handleConsentDeclined(ws: WebSocketType): void {
this.sendMessage(ws, {
type: MessageTypes.VerificationFailed,
data: {
reason: "noconsent",
},
});
}

/**
* Handles user under age errors
* @param ws - The WebSocket connection
@@ -371,7 +354,17 @@ export class AgeVerificationSystem {
session: Stripe.Identity.VerificationSession,
): Promise<void> {
const ws = this.accountsOpen[session.metadata.identity].ws;
this.sendMessage(ws, {
type: MessageTypes.VerificationComplete,
data: {
verificationId: session.id,
},
});
await this.stripe.identity.verificationSessions.redact(session.id);
this.sendMessage(ws, {
type: MessageTypes.VerificationCompleteStep,
data: "redact",
});
const user = await this.getUserInfo(
session.metadata.identity.replace("M_", ""),
);
@@ -380,11 +373,11 @@ export class AgeVerificationSystem {
}
await this.updateUserNote(user, `ADM-ID/Verified - ${session.id}`);
this.sendMessage(ws, {
type: MessageTypes.VerificationComplete,
data: {
verificationId: session.id,
},
type: MessageTypes.VerificationCompleteStep,
data: "redact",
});
this.accountsOpen[session.metadata.identity].stripe = undefined;
ws.close();
}

/**
9 changes: 8 additions & 1 deletion src/messages.ts
Original file line number Diff line number Diff line change
@@ -10,13 +10,19 @@ export enum MessageTypes {
Identify = "identify",
Identification = "identification",
FailedIdentification = "failedIdentification",
VerificationCompleteStep = "verificationCompleteStep",
}

export interface MessageStructure {
type: MessageTypes;
data?: unknown;
}

export interface VerificationCompleteStep extends MessageStructure {
type: MessageTypes.VerificationCompleteStep;
data: "redact" | "unban";
}

export interface FailedIdentification extends MessageStructure {
type: MessageTypes.FailedIdentification;
data: null;
@@ -87,4 +93,5 @@ export type WebSocketMessage =
| VerificationCompleteMessage
| IdentifyMessage
| IdentificationMessage
| FailedIdentification;
| FailedIdentification
| VerificationCompleteStep;

0 comments on commit 63fdfc0

Please sign in to comment.