Add AdminId decorator for extracting adminId from requests; refactor AdminController to utilize new decorator for fetching admin details and restaurant-specific admins; update AdminService to handle admin creation and retrieval by restaurant; remove unused role and permission entities for cleaner architecture.

This commit is contained in:
2025-11-18 16:45:44 +03:30
parent 9abab789fc
commit 8a217f6034
18 changed files with 254 additions and 206 deletions
+3 -3
View File
@@ -13,7 +13,7 @@ import { JwtService } from '@nestjs/jwt';
import { ConfigService } from '@nestjs/config';
import { IAdminTokenPayload } from '../interfaces/IToken-payload';
import { PERMISSIONS_KEY } from '../decorators/permissions.decorator';
import { AdminService } from 'src/modules/admin/providers/admin.service';
import { PermissionsService } from 'src/modules/roles/providers/permissions.service';
export interface AdminAuthRequest extends Request {
adminId: string;
@@ -31,7 +31,7 @@ export class AdminAuthGuard implements CanActivate {
private readonly configService: ConfigService,
@Inject(ConfigService)
private readonly adminService: AdminService,
private readonly permissionsService: PermissionsService,
private readonly reflector: Reflector,
) {}
@@ -62,7 +62,7 @@ export class AdminAuthGuard implements CanActivate {
if (!requiredPermissions || requiredPermissions.length === 0) return true;
const adminPermission = await this.adminService.getAdminPermissions(payload.adminId, payload.restId);
const adminPermission = await this.permissionsService.getAdminPermissions(payload.adminId, payload.restId);
if (!adminPermission || !Array.isArray(adminPermission)) {
this.logger.error('No permissions found');
throw new ForbiddenException('No permissions found');