33 lines
1.1 KiB
TypeScript
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");
|
|
}
|