From 6cbf6e2108df7dfa58c59eadbabdfa94b9a863d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Mart=C3=ADn?= Date: Tue, 4 Nov 2025 22:50:07 +0100 Subject: [PATCH] Assign user role based on admin presence during user creation --- apps/api/src/app/user/user.controller.ts | 4 +--- apps/api/src/app/user/user.service.ts | 7 +++++++ 2 files changed, 8 insertions(+), 3 deletions(-) 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,