sourcebot/packages/web/src/lib/identityProviders.ts
2025-11-03 14:41:00 -08:00

30 lines
No EOL
915 B
TypeScript

import { getProviders } from "@/auth";
export interface IdentityProviderMetadata {
id: string;
name: string;
purpose: "sso" | "integration";
required: boolean;
}
export const getIdentityProviderMetadata = (): IdentityProviderMetadata[] => {
const providers = getProviders();
return providers.map((provider) => {
if (typeof provider.provider === "function") {
const providerInfo = provider.provider();
return {
id: providerInfo.id,
name: providerInfo.name,
purpose: provider.purpose,
required: provider.required ?? true,
};
} else {
return {
id: provider.provider.id,
name: provider.provider.name,
purpose: provider.purpose,
required: provider.required ?? true,
};
}
});
};