feat: removed unused inviteSignup flag

This commit is contained in:
Akhil Mohan
2024-02-22 13:09:51 +05:30
parent 97d2a15d3e
commit fed022ed09
10 changed files with 10 additions and 40 deletions
@@ -6,19 +6,12 @@ export async function up(knex: Knex): Promise<void> {
const isTablePresent = await knex.schema.hasTable(TableName.SuperAdmin); const isTablePresent = await knex.schema.hasTable(TableName.SuperAdmin);
if (isTablePresent) { if (isTablePresent) {
await knex.schema.alterTable(TableName.SuperAdmin, (t) => { await knex.schema.alterTable(TableName.SuperAdmin, (t) => {
t.boolean("inviteOnlySignUp").defaultTo(false);
t.string("allowedSignUpDomain"); t.string("allowedSignUpDomain");
}); });
} }
} }
export async function down(knex: Knex): Promise<void> { export async function down(knex: Knex): Promise<void> {
if (await knex.schema.hasColumn(TableName.SuperAdmin, "inviteOnlySignUp")) {
await knex.schema.alterTable(TableName.SuperAdmin, (t) => {
t.dropColumn("inviteOnlySignUp");
});
}
if (await knex.schema.hasColumn(TableName.SuperAdmin, "allowedSignUpDomain")) { if (await knex.schema.hasColumn(TableName.SuperAdmin, "allowedSignUpDomain")) {
await knex.schema.alterTable(TableName.SuperAdmin, (t) => { await knex.schema.alterTable(TableName.SuperAdmin, (t) => {
t.dropColumn("allowedSignUpDomain"); t.dropColumn("allowedSignUpDomain");
-1
View File
@@ -13,7 +13,6 @@ export const SuperAdminSchema = z.object({
allowSignUp: z.boolean().default(true).nullable().optional(), allowSignUp: z.boolean().default(true).nullable().optional(),
createdAt: z.date(), createdAt: z.date(),
updatedAt: z.date(), updatedAt: z.date(),
inviteOnlySignUp: z.boolean().default(false).nullable().optional(),
allowedSignUpDomain: z.string().nullable().optional() allowedSignUpDomain: z.string().nullable().optional()
}); });
+1 -1
View File
@@ -9,7 +9,7 @@ export async function seed(knex: Knex): Promise<void> {
await knex(TableName.Users).del(); await knex(TableName.Users).del();
await knex(TableName.UserEncryptionKey).del(); await knex(TableName.UserEncryptionKey).del();
await knex(TableName.SuperAdmin).del(); await knex(TableName.SuperAdmin).del();
await knex(TableName.SuperAdmin).insert([{ initialized: true, allowSignUp: true, inviteOnlySignUp: false }]); await knex(TableName.SuperAdmin).insert([{ initialized: true, allowSignUp: true }]);
// Inserts seed entries // Inserts seed entries
const [user] = await knex(TableName.Users) const [user] = await knex(TableName.Users)
.insert([ .insert([
+1 -2
View File
@@ -32,8 +32,7 @@ export const registerAdminRouter = async (server: FastifyZodProvider) => {
schema: { schema: {
body: z.object({ body: z.object({
allowSignUp: z.boolean().optional(), allowSignUp: z.boolean().optional(),
inviteOnlySignUp: z.boolean().optional(), allowedSignUpDomain: z.string().optional().nullable()
allowedSignUpDomain: z.string().optional()
}), }),
response: { response: {
200: z.object({ 200: z.object({
@@ -187,13 +187,6 @@ export const registerSignupRouter = async (server: FastifyZodProvider) => {
if (!userAgent) throw new Error("user agent header is required"); if (!userAgent) throw new Error("user agent header is required");
const appCfg = getConfig(); const appCfg = getConfig();
const serverCfg = await getServerCfg();
if (!serverCfg.allowSignUp) {
throw new BadRequestError({
message: "Sign up is disabled!"
});
}
const { user, accessToken, refreshToken } = await server.services.signup.completeAccountInvite({ const { user, accessToken, refreshToken } = await server.services.signup.completeAccountInvite({
...req.body, ...req.body,
ip: req.realIp, ip: req.realIp,
@@ -33,7 +33,7 @@ export const superAdminServiceFactory = ({
const serverCfg = await serverCfgDAL.findOne({}); const serverCfg = await serverCfgDAL.findOne({});
if (serverCfg) return; if (serverCfg) return;
const newCfg = await serverCfgDAL.create({ initialized: false, allowSignUp: true, inviteOnlySignUp: false }); const newCfg = await serverCfgDAL.create({ initialized: false, allowSignUp: true });
return newCfg; return newCfg;
}; };
+1 -2
View File
@@ -1,8 +1,7 @@
export type TServerConfig = { export type TServerConfig = {
initialized: boolean; initialized: boolean;
allowSignUp: boolean; allowSignUp: boolean;
inviteOnlySignUp: boolean; allowedSignUpDomain?: string | null;
allowedSignUpDomain?: string;
isMigrationModeOn?: boolean; isMigrationModeOn?: boolean;
}; };
@@ -2,7 +2,6 @@ export type ServerStatus = {
date: string; date: string;
message: string; message: string;
emailConfigured: boolean; emailConfigured: boolean;
inviteOnlySignup: boolean;
secretScanningConfigured: boolean secretScanningConfigured: boolean
redisConfigured: boolean redisConfigured: boolean
}; };
@@ -226,7 +226,7 @@ export const InitialStep = ({ setStep, email, setEmail, password, setPassword }:
</Button> </Button>
</div> </div>
{!isLoading && loginError && <Error text={t("login.error-login") ?? ""} />} {!isLoading && loginError && <Error text={t("login.error-login") ?? ""} />}
{config.allowSignUp && !config.inviteOnlySignUp ? ( {config.allowSignUp ? (
<div className="mt-6 flex flex-row text-sm text-bunker-400"> <div className="mt-6 flex flex-row text-sm text-bunker-400">
<Link href="/signup"> <Link href="/signup">
<span className="cursor-pointer duration-200 hover:text-bunker-200 hover:underline hover:decoration-primary-700 hover:underline-offset-4"> <span className="cursor-pointer duration-200 hover:text-bunker-200 hover:underline hover:decoration-primary-700 hover:underline-offset-4">
@@ -28,21 +28,12 @@ enum TabSections {
enum SignUpModes { enum SignUpModes {
Disabled = "disabled", Disabled = "disabled",
InviteOnly = "invite-only",
Anyone = "anyone" Anyone = "anyone"
} }
const getSignUpMode = (isSignUpEnabled: boolean, isInviteOnly: boolean) => {
if (isSignUpEnabled) {
if (isInviteOnly) return SignUpModes.InviteOnly;
return SignUpModes.Anyone;
}
return SignUpModes.Disabled;
};
const formSchema = z.object({ const formSchema = z.object({
signUpMode: z.nativeEnum(SignUpModes), signUpMode: z.nativeEnum(SignUpModes),
allowedSignUpDomain: z.string().optional() allowedSignUpDomain: z.string().optional().nullable()
}); });
type TDashboardForm = z.infer<typeof formSchema>; type TDashboardForm = z.infer<typeof formSchema>;
@@ -55,13 +46,12 @@ export const AdminDashboardPage = () => {
control, control,
handleSubmit, handleSubmit,
watch, watch,
getValues,
formState: { isSubmitting, isDirty } formState: { isSubmitting, isDirty }
} = useForm<TDashboardForm>({ } = useForm<TDashboardForm>({
resolver: zodResolver(formSchema), resolver: zodResolver(formSchema),
values: { values: {
// eslint-disable-next-line // eslint-disable-next-line
signUpMode: getSignUpMode(config.allowSignUp, config.inviteOnlySignUp), signUpMode: config.allowSignUp ? SignUpModes.Anyone : SignUpModes.Disabled,
allowedSignUpDomain: config.allowedSignUpDomain allowedSignUpDomain: config.allowedSignUpDomain
} }
}); });
@@ -91,8 +81,7 @@ export const AdminDashboardPage = () => {
const { signUpMode, allowedSignUpDomain } = formData; const { signUpMode, allowedSignUpDomain } = formData;
await updateServerConfig({ await updateServerConfig({
allowSignUp: signUpMode !== SignUpModes.Disabled, allowSignUp: signUpMode !== SignUpModes.Disabled,
inviteOnlySignUp: signUpMode === SignUpModes.InviteOnly, allowedSignUpDomain: signUpMode === SignUpModes.Anyone ? allowedSignUpDomain : null
allowedSignUpDomain: signUpMode === SignUpModes.Anyone ? allowedSignUpDomain : ""
}); });
createNotification({ createNotification({
text: "Successfully changed sign up setting.", text: "Successfully changed sign up setting.",
@@ -107,7 +96,6 @@ export const AdminDashboardPage = () => {
} }
}; };
console.log(isDirty,getValues());
return ( return (
<div className="container mx-auto max-w-7xl px-4 pb-12 text-white dark:[color-scheme:dark]"> <div className="container mx-auto max-w-7xl px-4 pb-12 text-white dark:[color-scheme:dark]">
<div className="mx-auto mb-6 w-full max-w-7xl pt-6"> <div className="mx-auto mb-6 w-full max-w-7xl pt-6">
@@ -152,7 +140,6 @@ export const AdminDashboardPage = () => {
{...field} {...field}
> >
<SelectItem value={SignUpModes.Disabled}>Disabled</SelectItem> <SelectItem value={SignUpModes.Disabled}>Disabled</SelectItem>
<SelectItem value={SignUpModes.InviteOnly}>Invite Only</SelectItem>
<SelectItem value={SignUpModes.Anyone}>Anyone</SelectItem> <SelectItem value={SignUpModes.Anyone}>Anyone</SelectItem>
</Select> </Select>
</FormControl> </FormControl>
@@ -177,6 +164,7 @@ export const AdminDashboardPage = () => {
> >
<Input <Input
{...field} {...field}
value={field.value || ""}
placeholder="domain.com, domain2.com" placeholder="domain.com, domain2.com"
leftIcon={<FontAwesomeIcon icon={faAt} />} leftIcon={<FontAwesomeIcon icon={faAt} />}
/> />