From f7a34dedfab06484c5f61248ea5a238d57e42a69 Mon Sep 17 00:00:00 2001 From: adrinr Date: Tue, 28 Mar 2023 09:13:57 +0100 Subject: [PATCH] Use generic types instead of overrides --- packages/backend-core/src/configs/configs.ts | 6 +++-- packages/types/src/documents/global/config.ts | 26 +++++++------------ 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/packages/backend-core/src/configs/configs.ts b/packages/backend-core/src/configs/configs.ts index d38f02a10e..83fcb1d51d 100644 --- a/packages/backend-core/src/configs/configs.ts +++ b/packages/backend-core/src/configs/configs.ts @@ -6,6 +6,7 @@ import { OIDCConfig, OIDCInnerConfig, SCIMConfig, + SCIMInnerConfig, SettingsConfig, SettingsInnerConfig, SMTPConfig, @@ -244,6 +245,7 @@ export async function getSMTPConfig( } } -export async function getSCIMConfig(): Promise { - return getConfig(ConfigType.SCIM) +export async function getSCIMConfig(): Promise { + const config = await getConfig(ConfigType.SCIM) + return config?.config } diff --git a/packages/types/src/documents/global/config.ts b/packages/types/src/documents/global/config.ts index 751006f01c..bebb4ae14f 100644 --- a/packages/types/src/documents/global/config.ts +++ b/packages/types/src/documents/global/config.ts @@ -1,8 +1,8 @@ import { Document } from "../document" -export interface Config extends Document { +export interface Config extends Document { type: ConfigType - config: any + config: T } export interface SMTPInnerConfig { @@ -18,9 +18,7 @@ export interface SMTPInnerConfig { connectionTimeout?: any } -export interface SMTPConfig extends Config { - config: SMTPInnerConfig -} +export interface SMTPConfig extends Config {} /** * Accessible only via pro. @@ -50,9 +48,7 @@ export interface SettingsInnerConfig { isSSOEnforced?: boolean } -export interface SettingsConfig extends Config { - config: SettingsInnerConfig -} +export interface SettingsConfig extends Config {} export type SSOConfigType = ConfigType.GOOGLE | ConfigType.OIDC export type SSOConfig = GoogleInnerConfig | OIDCInnerConfig @@ -67,9 +63,7 @@ export interface GoogleInnerConfig { callbackURL?: string } -export interface GoogleConfig extends Config { - config: GoogleInnerConfig -} +export interface GoogleConfig extends Config {} export interface OIDCStrategyConfiguration { issuer: string @@ -96,9 +90,7 @@ export interface OIDCInnerConfig { scopes: string[] } -export interface OIDCConfig extends Config { - config: OIDCConfigs -} +export interface OIDCConfig extends Config {} export interface OIDCWellKnownConfig { issuer: string @@ -107,10 +99,12 @@ export interface OIDCWellKnownConfig { userinfo_endpoint: string } -export interface SCIMConfig extends Config { - config: { enabled: boolean } +export interface SCIMInnerConfig { + enabled: boolean } +export interface SCIMConfig extends Config {} + export const isSettingsConfig = (config: Config): config is SettingsConfig => config.type === ConfigType.SETTINGS