diff --git a/apps/api/src/app/user/user.controller.ts b/apps/api/src/app/user/user.controller.ts index e545fd335..00f4586bc 100644 --- a/apps/api/src/app/user/user.controller.ts +++ b/apps/api/src/app/user/user.controller.ts @@ -126,10 +126,8 @@ export class UserController { ); } - const hasAdmin = await this.userService.hasAdmin(); - const { accessToken, id, role } = await this.userService.createUser({ - data: { role: hasAdmin ? 'USER' : 'ADMIN' } + data: {} }); return { diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index f797270ff..23c3d868f 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -535,6 +535,13 @@ export class UserService { data.provider = 'ANONYMOUS'; } + // Check if there's already an admin user + // If not, assign ADMIN role to the first user + if (!data.role) { + const hasAdmin = await this.hasAdmin(); + data.role = hasAdmin ? 'USER' : 'ADMIN'; + } + const user = await this.prismaService.user.create({ data: { ...data,