Files
dbx/apps/desktop/src/lib/mq/mqTokenErrors.ts
T

33 lines
1.1 KiB
TypeScript

export type MqTokenIssueErrorView =
| {
kind: "missingSigningKey";
titleKey: "mqPermissions.missingSigningKeyTitle";
messageKey: "mqPermissions.missingSigningKeyMessage";
detailKey: "mqPermissions.missingSigningKeyDetail";
}
| {
kind: "generic";
titleKey?: undefined;
messageKey?: undefined;
detailKey?: undefined;
message: string;
};
export function formatMqTokenIssueError(error: unknown): MqTokenIssueErrorView {
const message = error instanceof Error ? error.message : String(error ?? "");
if (isMissingTokenSigningConfig(message)) {
return {
kind: "missingSigningKey",
titleKey: "mqPermissions.missingSigningKeyTitle",
messageKey: "mqPermissions.missingSigningKeyMessage",
detailKey: "mqPermissions.missingSigningKeyDetail",
};
}
return { kind: "generic", message };
}
function isMissingTokenSigningConfig(message: string) {
const normalized = message.toLowerCase();
return normalized.includes("token signing is not configured") || normalized.includes("token signing key is required") || normalized.includes("broker token signing key is required");
}