update
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { EntityRepository, FilterQuery } from "@mikro-orm/postgresql";
|
||||
|
||||
import { PaginationUtils } from "../../utils/services/pagination.utils";
|
||||
import { UserListQueryDto } from "../DTO/user-list-query.dto";
|
||||
import { User } from "../entities/user.entity";
|
||||
|
||||
export class UserRepository extends EntityRepository<User> {
|
||||
async getUserListForAdmin(businessId: string, queryDto: UserListQueryDto) {
|
||||
const { limit, skip } = PaginationUtils(queryDto);
|
||||
|
||||
const whereClause: FilterQuery<User> = {
|
||||
business: { id: businessId },
|
||||
emailEnabled: true,
|
||||
deletedAt: null,
|
||||
};
|
||||
|
||||
if (queryDto.q) {
|
||||
whereClause.$or = [
|
||||
{ userName: { $like: `%${queryDto.q}%` } },
|
||||
{ emailAddress: { $like: `%${queryDto.q}%` } },
|
||||
{ displayName: { $like: `%${queryDto.q}%` } },
|
||||
];
|
||||
}
|
||||
|
||||
if (queryDto.isActive) {
|
||||
console.log(queryDto.isActive);
|
||||
|
||||
whereClause.isActive = queryDto.isActive === 1;
|
||||
}
|
||||
|
||||
return this.findAndCount(whereClause, {
|
||||
exclude: ["password"],
|
||||
populate: ["domain", "business"],
|
||||
limit,
|
||||
offset: skip,
|
||||
orderBy: { createdAt: "DESC" },
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user