This commit is contained in:
2026-03-10 15:33:36 +03:30
parent 47cc944e70
commit 40826b9381
5 changed files with 1 additions and 79 deletions
@@ -1,5 +0,0 @@
import { SetMetadata } from '@nestjs/common';
export const PERMISSIONS_KEY = 'permissions';
export const Permissions = (...permissions: string[]) => SetMetadata(PERMISSIONS_KEY, permissions);
@@ -1,7 +0,0 @@
import { createParamDecorator, type ExecutionContext } from '@nestjs/common';
import type { Request } from 'express';
export const BusinessSlug = createParamDecorator((data: unknown, ctx: ExecutionContext): string => {
const request = ctx.switchToHttp().getRequest<Request & { slug?: string }>();
return request.slug || '';
});
-63
View File
@@ -1,63 +0,0 @@
/**
* Permission names enum
* All permission names used in the system should be defined here
*/
export enum Permission {
MANAGE_PAGER = 'manage_pager',
// Food Management
MANAGE_FOODS = 'manage_foods',
MANAGE_CATEGORIES = 'manage_categories',
// Order Management
MANAGE_ORDERS = 'manage_orders',
// User & Admin Management
MANAGE_ADMINS = 'manage_admins',
MANAGE_USERS = 'manage_users',
// Reports & Finances
VIEW_REPORTS = 'view_reports',
UPDATE_RESTAURANT = 'update_restaurant',
// Role Management
MANAGE_ROLES = 'manage_roles',
MANAGE_REVIEWS = 'manage_reviews',
MANAGE_COUPONS = 'manage_coupons',
MANAGE_PAYMENTS = 'manage_payments',
MANAGE_DELIVERY = 'manage_delivery',
MANAGE_SETTINGS = 'manage_settings',
MANAGE_SCHEDULES = 'manage_schedules',
MANAGE_REPORTS = 'manage_reports',
MANAGE_CONTACTS = 'manage_contacts',
NEW_ORDER_NOTIFICATION='new_order_notification',
PAGER_NOTIFICATION='pager_notification'
}
/**
* Permission titles mapping (Farsi)
* Maps permission names to their Farsi titles
*/
export const PermissionTitles: Record<Permission, string> = {
[Permission.MANAGE_PAGER]: 'مدیریت پیجر',
[Permission.MANAGE_FOODS]: 'مدیریت غذاها',
[Permission.MANAGE_CATEGORIES]: 'مدیریت دسته‌بندی‌ها',
[Permission.MANAGE_ORDERS]: 'مدیریت سفارشات',
[Permission.MANAGE_ADMINS]: 'مدیریت مدیران',
[Permission.MANAGE_USERS]: 'مدیریت کاربران',
[Permission.VIEW_REPORTS]: 'مشاهده گزارشات',
[Permission.UPDATE_RESTAURANT]: 'ویرایش رستوران',
[Permission.MANAGE_ROLES]: 'مدیریت نقش‌ها',
[Permission.MANAGE_REVIEWS]: 'مدیریت نظرات',
[Permission.MANAGE_COUPONS]: 'مدیریت کوپن‌ها',
[Permission.MANAGE_PAYMENTS]: 'مدیریت پرداخت‌ها',
[Permission.MANAGE_DELIVERY]: 'مدیریت تحویل',
[Permission.MANAGE_SETTINGS]: 'مدیریت تنظیمات',
[Permission.MANAGE_SCHEDULES]: 'مدیریت برنامه‌ها',
[Permission.MANAGE_REPORTS]: 'مدیریت گزارشات',
[Permission.MANAGE_CONTACTS]: 'مدیریت تماس‌های کاربران',
[Permission.NEW_ORDER_NOTIFICATION]: "نوتیف سفارش جدید",
[Permission.PAGER_NOTIFICATION]: "نوتیف پیجر جدید"
};
@@ -6,9 +6,7 @@ import { AdminAuthGuard } from 'src/modules/auth/guards/adminAuth.guard';
import { SuperAdminAuthGuard } from 'src/modules/auth/guards/superAdminAuth.guard';
import { BusinessId } from 'src/common/decorators';
import { AdminId } from 'src/common/decorators/admin-id.decorator';
import { Permission } from 'src/common/enums/permission.enum';
import { Permissions } from 'src/common/decorators/permissions.decorator';
@ApiBearerAuth()
@ApiTags('admin')
@Controller()
@@ -1,6 +1,5 @@
import { Cascade, Collection, Entity, EntityRepositoryType,
OneToMany, OneToOne, Opt, Property, Unique } from "@mikro-orm/core";
import { BaseEntity } from "../../../common/entities/base.entity";
import { Catalogue } from "src/modules/catalogue/entities/catalogue.entity";
import { BusinessRepository } from "../repositories/business.repository";