diff --git a/backend/src/db/migrations/20240620142418_default-saml-ldap-org.ts b/backend/src/db/migrations/20240620142418_default-saml-ldap-org.ts index 67753b679..fec132df4 100644 --- a/backend/src/db/migrations/20240620142418_default-saml-ldap-org.ts +++ b/backend/src/db/migrations/20240620142418_default-saml-ldap-org.ts @@ -2,26 +2,26 @@ import { Knex } from "knex"; import { TableName } from "../schemas"; -const DEFAULT_ORG_ID_FIELD = "defaultOrgId"; +const DEFAULT_AUTH_ORG_ID_FIELD = "defaultAuthOrgId"; export async function up(knex: Knex): Promise { - const hasDefaultOrgColumn = await knex.schema.hasColumn(TableName.SuperAdmin, DEFAULT_ORG_ID_FIELD); + const hasDefaultOrgColumn = await knex.schema.hasColumn(TableName.SuperAdmin, DEFAULT_AUTH_ORG_ID_FIELD); await knex.schema.alterTable(TableName.SuperAdmin, (t) => { if (!hasDefaultOrgColumn) { - t.uuid(DEFAULT_ORG_ID_FIELD).nullable(); - t.foreign(DEFAULT_ORG_ID_FIELD).references("id").inTable(TableName.Organization).onDelete("SET NULL"); + t.uuid(DEFAULT_AUTH_ORG_ID_FIELD).nullable(); + t.foreign(DEFAULT_AUTH_ORG_ID_FIELD).references("id").inTable(TableName.Organization).onDelete("SET NULL"); } }); } export async function down(knex: Knex): Promise { - const hasDefaultOrgColumn = await knex.schema.hasColumn(TableName.SuperAdmin, DEFAULT_ORG_ID_FIELD); + const hasDefaultOrgColumn = await knex.schema.hasColumn(TableName.SuperAdmin, DEFAULT_AUTH_ORG_ID_FIELD); await knex.schema.alterTable(TableName.SuperAdmin, (t) => { if (hasDefaultOrgColumn) { - t.dropForeign([DEFAULT_ORG_ID_FIELD]); - t.dropColumn(DEFAULT_ORG_ID_FIELD); + t.dropForeign([DEFAULT_AUTH_ORG_ID_FIELD]); + t.dropColumn(DEFAULT_AUTH_ORG_ID_FIELD); } }); } diff --git a/backend/src/db/schemas/super-admin.ts b/backend/src/db/schemas/super-admin.ts index 1f2b6820b..29e41c78e 100644 --- a/backend/src/db/schemas/super-admin.ts +++ b/backend/src/db/schemas/super-admin.ts @@ -18,7 +18,7 @@ export const SuperAdminSchema = z.object({ trustSamlEmails: z.boolean().default(false).nullable().optional(), trustLdapEmails: z.boolean().default(false).nullable().optional(), trustOidcEmails: z.boolean().default(false).nullable().optional(), - defaultOrgId: z.string().uuid().nullable().optional() + defaultAuthOrgId: z.string().uuid().nullable().optional() }); export type TSuperAdmin = z.infer; diff --git a/backend/src/server/routes/v1/admin-router.ts b/backend/src/server/routes/v1/admin-router.ts index 59a9f064e..943161b89 100644 --- a/backend/src/server/routes/v1/admin-router.ts +++ b/backend/src/server/routes/v1/admin-router.ts @@ -22,7 +22,7 @@ export const registerAdminRouter = async (server: FastifyZodProvider) => { 200: z.object({ config: SuperAdminSchema.omit({ createdAt: true, updatedAt: true }).extend({ isMigrationModeOn: z.boolean(), - defaultOrgSlug: z.string().nullable(), + defaultAuthOrgSlug: z.string().nullable(), isSecretScanningDisabled: z.boolean() }) }) @@ -54,12 +54,12 @@ export const registerAdminRouter = async (server: FastifyZodProvider) => { trustSamlEmails: z.boolean().optional(), trustLdapEmails: z.boolean().optional(), trustOidcEmails: z.boolean().optional(), - defaultOrgSlug: z.string().optional().nullable() + defaultAuthOrgSlug: z.string().optional().nullable() }), response: { 200: z.object({ config: SuperAdminSchema.extend({ - defaultOrgSlug: z.string().nullable() + defaultAuthOrgSlug: z.string().nullable() }) }) } diff --git a/backend/src/services/super-admin/super-admin-dal.ts b/backend/src/services/super-admin/super-admin-dal.ts index 90f1004da..9fd47b9ac 100644 --- a/backend/src/services/super-admin/super-admin-dal.ts +++ b/backend/src/services/super-admin/super-admin-dal.ts @@ -10,17 +10,17 @@ export const superAdminDALFactory = (db: TDbClient) => { const findById = async (id: string) => { const config = await db(TableName.SuperAdmin) .where(`${TableName.SuperAdmin}.id`, id) - .leftJoin(TableName.Organization, `${TableName.SuperAdmin}.defaultOrgId`, `${TableName.Organization}.id`) + .leftJoin(TableName.Organization, `${TableName.SuperAdmin}.defaultAuthOrgId`, `${TableName.Organization}.id`) .select( db.ref("*").withSchema(TableName.SuperAdmin) as unknown as keyof TSuperAdmin, - db.ref("slug").withSchema(TableName.Organization).as("defaultOrgSlug") + db.ref("slug").withSchema(TableName.Organization).as("defaultAuthOrgSlug") ) .first(); return { - defaultOrgSlug: config?.defaultOrgSlug || null, + defaultAuthOrgSlug: config?.defaultAuthOrgSlug || null, ...config - } as TSuperAdmin & { defaultOrgSlug: string | null }; + } as TSuperAdmin & { defaultAuthOrgSlug: string | null }; }; return { diff --git a/backend/src/services/super-admin/super-admin-service.ts b/backend/src/services/super-admin/super-admin-service.ts index b06757984..61c7fdf21 100644 --- a/backend/src/services/super-admin/super-admin-service.ts +++ b/backend/src/services/super-admin/super-admin-service.ts @@ -28,7 +28,7 @@ type TSuperAdminServiceFactoryDep = { export type TSuperAdminServiceFactory = ReturnType; // eslint-disable-next-line -export let getServerCfg: () => Promise; +export let getServerCfg: () => Promise; const ADMIN_CONFIG_KEY = "infisical-admin-cfg"; const ADMIN_CONFIG_KEY_EXP = 60; // 60s @@ -57,7 +57,7 @@ export const superAdminServiceFactory = ({ return serverCfg; } - const keyStoreServerCfg = JSON.parse(config) as TSuperAdmin & { defaultOrgSlug: string | null }; + const keyStoreServerCfg = JSON.parse(config) as TSuperAdmin & { defaultAuthOrgSlug: string | null }; return { ...keyStoreServerCfg, // this is to allow admin router to work @@ -78,9 +78,9 @@ export const superAdminServiceFactory = ({ const updateServerCfg = async (data: TUpdateServerCfgDTO) => { let organization: TOrganizations | undefined; - if (data.defaultOrgSlug) { + if (data.defaultAuthOrgSlug) { organization = await orgDAL.findOne({ - slug: data.defaultOrgSlug + slug: data.defaultAuthOrgSlug }); if (!organization) { @@ -92,13 +92,13 @@ export const superAdminServiceFactory = ({ } const updatedServerCfg = await serverCfgDAL.updateById(ADMIN_CONFIG_DB_UUID, { - ...omit(data, ["defaultOrgSlug"]), - defaultOrgId: organization?.id || null + ...omit(data, ["defaultAuthOrgSlug"]), + defaultAuthOrgId: organization?.id || null }); const result = { ...updatedServerCfg, - defaultOrgSlug: organization?.slug || null + defaultAuthOrgSlug: organization?.slug || null }; await keyStore.setItemWithExpiry(ADMIN_CONFIG_KEY, ADMIN_CONFIG_KEY_EXP, JSON.stringify(result)); diff --git a/backend/src/services/super-admin/super-admin-types.ts b/backend/src/services/super-admin/super-admin-types.ts index 0c3789a37..94742751c 100644 --- a/backend/src/services/super-admin/super-admin-types.ts +++ b/backend/src/services/super-admin/super-admin-types.ts @@ -18,6 +18,6 @@ export type TAdminSignUpDTO = { userAgent: string; }; -export type TUpdateServerCfgDTO = Omit & { - defaultOrgSlug?: string | null; +export type TUpdateServerCfgDTO = Omit & { + defaultAuthOrgSlug?: string | null; }; diff --git a/frontend/src/hooks/api/admin/types.ts b/frontend/src/hooks/api/admin/types.ts index f1abf1a7a..524bc6ace 100644 --- a/frontend/src/hooks/api/admin/types.ts +++ b/frontend/src/hooks/api/admin/types.ts @@ -7,8 +7,8 @@ export type TServerConfig = { trustLdapEmails: boolean; trustOidcEmails: boolean; isSecretScanningDisabled: boolean; - defaultOrgSlug: string | null; - defaultOrgId: string | null; + defaultAuthOrgSlug: string | null; + defaultAuthOrgId: string | null; }; export type TCreateAdminUserDTO = { diff --git a/frontend/src/views/Login/Login.utils.tsx b/frontend/src/views/Login/Login.utils.tsx index 337a4dc10..00f6037f1 100644 --- a/frontend/src/views/Login/Login.utils.tsx +++ b/frontend/src/views/Login/Login.utils.tsx @@ -35,12 +35,12 @@ export const useNavigateToSelectOrganization = () => { const router = useRouter(); const navigate = async (cliCallbackPort?: string) => { - if (config.defaultOrgId) { + if (config.defaultAuthOrgId) { await selectOrganization.mutateAsync({ - organizationId: config.defaultOrgId + organizationId: config.defaultAuthOrgId }); - await navigateUserToOrg(router, config.defaultOrgId); + await navigateUserToOrg(router, config.defaultAuthOrgId); } queryClient.invalidateQueries(userKeys.getUser); diff --git a/frontend/src/views/Login/LoginLDAP.tsx b/frontend/src/views/Login/LoginLDAP.tsx index a8dc6c738..1e99c611d 100644 --- a/frontend/src/views/Login/LoginLDAP.tsx +++ b/frontend/src/views/Login/LoginLDAP.tsx @@ -15,7 +15,7 @@ export const LoginLDAP = () => { const passedUsername = queryParams.get("username"); const [organizationSlug, setOrganizationSlug] = useState( - config.defaultOrgSlug || passedOrgSlug || "" + config.defaultAuthOrgSlug || passedOrgSlug || "" ); const [username, setUsername] = useState(passedUsername || ""); const [password, setPassword] = useState(""); @@ -67,7 +67,7 @@ export const LoginLDAP = () => { What's your LDAP Login?

- {!config.defaultOrgSlug && !passedOrgSlug && ( + {!config.defaultAuthOrgSlug && !passedOrgSlug && (
{ - if (config.defaultOrgSlug) { - redirectToSaml(config.defaultOrgSlug); + if (config.defaultAuthOrgSlug) { + redirectToSaml(config.defaultAuthOrgSlug); } else { setStep(step); } diff --git a/frontend/src/views/admin/DashboardPage/DashboardPage.tsx b/frontend/src/views/admin/DashboardPage/DashboardPage.tsx index 917bd1c54..d863e6765 100644 --- a/frontend/src/views/admin/DashboardPage/DashboardPage.tsx +++ b/frontend/src/views/admin/DashboardPage/DashboardPage.tsx @@ -41,7 +41,6 @@ const formSchema = z.object({ trustSamlEmails: z.boolean(), trustLdapEmails: z.boolean(), trustOidcEmails: z.boolean(), - defaultOrgSlug: z.string().optional().nullable(), defaultAuthOrgSlug: z.string().optional().nullable() }); @@ -65,7 +64,6 @@ export const AdminDashboardPage = () => { trustSamlEmails: config.trustSamlEmails, trustLdapEmails: config.trustLdapEmails, trustOidcEmails: config.trustOidcEmails, - defaultOrgSlug: config.defaultOrgSlug, defaultAuthOrgSlug: config.defaultAuthOrgSlug } }); @@ -96,7 +94,6 @@ export const AdminDashboardPage = () => { trustSamlEmails, trustLdapEmails, trustOidcEmails, - defaultOrgSlug, defaultAuthOrgSlug } = formData;