feat: add condition query for responsible area

This commit is contained in:
Methapon2001 2024-11-27 15:16:45 +07:00
parent 95ef8de6a6
commit 6d336e7e90

View file

@ -262,7 +262,25 @@ export class UserController extends Controller {
@Query() page: number = 1,
@Query() pageSize: number = 30,
@Query() status?: Status,
@Query() responsibleDistrictId?: string,
) {
const area = responsibleDistrictId
? await prisma.employmentOffice.findMany({
where: {
OR: [
{
province: { district: { some: { id: responsibleDistrictId } } },
district: { none: {} },
},
{
district: {
some: { districtId: responsibleDistrictId },
},
},
],
},
})
: null;
const where = {
OR: queryOrNot<Prisma.UserWhereInput[]>(query, [
{ code: { contains: query, mode: "insensitive" } },
@ -275,6 +293,11 @@ export class UserController extends Controller {
...whereAddressQuery(query),
]),
AND: {
responsibleArea: area
? {
some: { area: { in: area.map((v) => v.id) } },
}
: undefined,
userRole: { not: "system" },
userType,
...filterStatus(status),