Add user registration disable toggle and default admin user creation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 705f2157-ef97-4fbd-89e4-8c7f2ecaea90
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7ed01c5f-a82d-405a-b728-b2e3d127c60c/26934df9-13b2-48c7-b4c5-fdcb1c2c521b.jpg
This commit is contained in:
alphaeusmote
2025-04-10 02:59:54 +00:00
parent 7019daf6dc
commit ae6ea3e1cf
2 changed files with 79 additions and 0 deletions
+20
View File
@@ -204,10 +204,30 @@ export class DatabaseStorage implements IStorage {
return result.length > 0 ? result[0] : undefined;
}
async getRoleByName(name: string): Promise<Role | undefined> {
const result = await db.select().from(roles).where(eq(roles.name, name));
return result.length > 0 ? result[0] : undefined;
}
async getDefaultRole(): Promise<Role | undefined> {
const result = await db.select().from(roles).where(eq(roles.isDefault, true));
return result.length > 0 ? result[0] : undefined;
}
async createRole(roleData: { name: string; description?: string; isDefault?: boolean }): Promise<Role> {
const result = await db.insert(roles).values(roleData).returning();
return result[0];
}
async addPermissionToRole(roleId: number, permission: string): Promise<boolean> {
try {
await db.insert(rolePermissions).values({ roleId, permission }).returning();
return true;
} catch (error) {
console.error('Error adding permission to role:', error);
return false;
}
}
// API Token management
async getApiToken(id: number): Promise<ApiToken | undefined> {