permission
This commit is contained in:
@@ -30,8 +30,9 @@ import { AdminService } from 'src/modules/admin/providers/admin.service';
|
||||
import { OrderItem } from '../entities/order-item.entity';
|
||||
import { UpdateOrderAsAdminDto } from '../dto/update-order.dto';
|
||||
import { CreatePrintFormDto } from '../dto/create-print-form.dto';
|
||||
import { Product } from 'src/modules/product/entities/product.entity';
|
||||
import { FindOrderItemsDto } from '../dto/find-order-items.dto';
|
||||
import { PermissionService } from 'src/modules/roles/providers/permissions.service';
|
||||
import { PermissionEnum } from 'src/common/enums/permission.enum';
|
||||
|
||||
|
||||
@Injectable()
|
||||
@@ -51,6 +52,7 @@ export class OrderService {
|
||||
private readonly eventEmitter: EventEmitter2,
|
||||
private readonly adminRepository: AdminRepository,
|
||||
private readonly paymentRepository: PaymentRepository,
|
||||
private readonly permissionService: PermissionService,
|
||||
) { }
|
||||
|
||||
async createOrderAsAdmin(adminId: string, dto: CreateOrderAsAdminDto) {
|
||||
@@ -83,6 +85,7 @@ export class OrderService {
|
||||
// return updateOrder
|
||||
}
|
||||
|
||||
//TODO : clean
|
||||
async updateOrderAsAdmin2(orderId: string, dto: UpdateOrderAsAdminDto) {
|
||||
const order = await this.findOrderOrFail(orderId)
|
||||
|
||||
@@ -291,8 +294,23 @@ export class OrderService {
|
||||
return orders
|
||||
}
|
||||
|
||||
async findInvoicedOrdersAsAdmin(dto: FindOrdersDto) {
|
||||
const orders = await this.orderRepository.findAllPaginated({ ...dto, isInvoiced: true, })
|
||||
async findInvoicedOrdersAsAdmin(adminId: string, dto: FindOrdersDto) {
|
||||
const canSeeAll = await this.adminService.hasPermission(adminId, PermissionEnum.VIEW_All_INVOICED_ORDERS)
|
||||
|
||||
let canSeeAsigned = false
|
||||
|
||||
if (!canSeeAll) {
|
||||
canSeeAsigned = await this.adminService.hasPermission(adminId, PermissionEnum.VIEW_MY_ASSIGNED_INVOICED_REQUESTS)
|
||||
}
|
||||
|
||||
if (!canSeeAsigned && !canSeeAll) {
|
||||
throw new BadRequestException("You dont have Permission")
|
||||
}
|
||||
|
||||
let designerId = canSeeAll ? undefined : adminId
|
||||
|
||||
const orders = await this.orderRepository.findAllPaginated({ ...dto, isInvoiced: true, designerId })
|
||||
|
||||
return orders
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user