1234567891011121314151617181920212223242526272829303132 |
- import { SearchFilter } from '../../utils/SearchFilter';
- import { Prisma } from '@prisma/client';
- import SalesRepository from '../../repository/admin/SalesRepository';
- interface GetAllSalesParams {
- page: number;
- limit: number;
- search?: string;
- sortBy: string;
- orderBy: 'asc' | 'desc';
- }
- export const getAllSalesService = async ({ page, limit, search = '', sortBy, orderBy }: GetAllSalesParams) => {
- const skip = (page - 1) * limit;
- const where: Prisma.UserWhereInput = {
- ...SearchFilter(search, ['id', 'firstname', 'lastname']),
- deletedAt: null,
- };
- const [sales, total] = await Promise.all([
- SalesRepository.findAll({
- skip,
- take: limit,
- where,
- orderBy: { [sortBy]: orderBy },
- }),
- SalesRepository.countAll(where),
- ]);
- return { sales, total };
- };
|