This commit is contained in:
2026-06-28 22:43:08 +03:30
parent 322c9018da
commit 127c1eaf78
14 changed files with 500 additions and 0 deletions
@@ -5,6 +5,7 @@ import { Permission } from './entities/permission.entity';
import { UserPermission } from './entities/user-permission.entity';
import { CustomerPolicy } from './policies/customer.policy';
import { SalonPolicy } from './policies/salon.policy';
import { ServicePolicy } from './policies/service.policy';
import { StylistPolicy } from './policies/stylist.policy';
@Module({
@@ -12,12 +13,14 @@ import { StylistPolicy } from './policies/stylist.policy';
providers: [
AuthorizationService,
SalonPolicy,
ServicePolicy,
CustomerPolicy,
StylistPolicy,
],
exports: [
AuthorizationService,
SalonPolicy,
ServicePolicy,
CustomerPolicy,
StylistPolicy,
],
@@ -10,4 +10,7 @@ export enum PermissionCode {
STYLISTS_READ = 'stylists:read',
STYLISTS_WRITE = 'stylists:write',
STYLISTS_DELETE = 'stylists:delete',
SERVICES_READ = 'services:read',
SERVICES_WRITE = 'services:write',
SERVICES_DELETE = 'services:delete',
}
@@ -0,0 +1,12 @@
import { Injectable } from '@nestjs/common';
import { AuthUser } from '../../auth/interfaces/auth-user.interface';
import { AuthorizationService } from '../authorization.service';
@Injectable()
export class ServicePolicy {
constructor(private readonly authorizationService: AuthorizationService) {}
canManage(user: AuthUser): boolean {
return this.authorizationService.isAdmin(user);
}
}