diff --git a/server/setup/setupServerAdmin.ts b/server/setup/setupServerAdmin.ts index 1f201275..6ec6784c 100644 --- a/server/setup/setupServerAdmin.ts +++ b/server/setup/setupServerAdmin.ts @@ -29,7 +29,7 @@ export async function setupServerAdmin() { const [existing] = await trx .select() .from(users) - .where(eq(users.email, email)); + .where(eq(users.serverAdmin, true)); if (existing) { const passwordChanged = !(await verifyPassword( @@ -46,41 +46,33 @@ export async function setupServerAdmin() { // this isn't using the transaction, but it's probably fine await invalidateAllSessions(existing.userId); - logger.info(`Server admin (${email}) password updated`); + logger.info(`Server admin password updated`); } - if (existing.serverAdmin) { - logger.info(`Server admin (${email}) already exists`) - return; + if (existing.email !== email) { + await trx + .update(users) + .set({ email }) + .where(eq(users.userId, existing.userId)); + + logger.info(`Server admin email updated`); } + } else { + const userId = generateId(15); await trx.update(users).set({ serverAdmin: false }); - await trx - .update(users) - .set({ - serverAdmin: true - }) - .where(eq(users.email, email)); + await db.insert(users).values({ + userId: userId, + email: email, + passwordHash, + dateCreated: moment().toISOString(), + serverAdmin: true, + emailVerified: true + }); - logger.info(`Server admin (${email}) set`); - return; + logger.info(`Server admin created`); } - - const userId = generateId(15); - - await trx.update(users).set({ serverAdmin: false }); - - await db.insert(users).values({ - userId: userId, - email: email, - passwordHash, - dateCreated: moment().toISOString(), - serverAdmin: true, - emailVerified: true - }); - - logger.info(`Server admin (${email}) created`); } catch (e) { logger.error(e); trx.rollback(); diff --git a/src/components/CopyTextBox.tsx b/src/components/CopyTextBox.tsx index 877b5a0d..6e9ba279 100644 --- a/src/components/CopyTextBox.tsx +++ b/src/components/CopyTextBox.tsx @@ -28,7 +28,7 @@ export default function CopyTextBox({ return (
svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
+    "relative w-full rounded-lg border-2 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
     {
         variants: {
             variant: {