mirror of
https://github.com/sergeyyarkov/educt-server.git
synced 2026-10-11 10:19:20 +03:00
feat: user management search
This commit is contained in:
parent
cded256d0f
commit
0eb55c6be4
@ -6,6 +6,7 @@ enum StatusCodeEnum {
|
||||
UNAUTHORIZED = 401,
|
||||
FORBIDDEN = 403,
|
||||
NOT_FOUND = 404,
|
||||
CONFLICT = 409,
|
||||
INTERNAL_SERVER = 500,
|
||||
SERVICE_UNAVAILABLE = 503,
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ export default class UserRepository {
|
||||
const query = this.User.query();
|
||||
|
||||
if (email) {
|
||||
query.preload('contacts').whereHas('contacts', q => q.where('email', 'like', `%${email}%`));
|
||||
query.where('email', 'like', `%${email}%`);
|
||||
}
|
||||
|
||||
if (login) {
|
||||
@ -83,17 +83,17 @@ export default class UserRepository {
|
||||
query.where('last_name', 'like', `%${last_name}%`);
|
||||
}
|
||||
|
||||
if (role) {
|
||||
query.whereHas('roles', q => q.where('slug', role));
|
||||
if (search) {
|
||||
query
|
||||
.orWhere('first_name', 'like', `%${search}%`)
|
||||
.orWhere('last_name', 'like', `%${search}%`)
|
||||
.orWhereRaw(`CONCAT(first_name, ' ', last_name) = ?`, [search])
|
||||
.orWhere('email', 'like', `${search}`)
|
||||
.orWhere('id', 'like', `${search}`);
|
||||
}
|
||||
|
||||
// TODO fix search when gets params "serach" and "role"
|
||||
if (search && role) {
|
||||
query
|
||||
.where('first_name', 'like', `%${search}%`)
|
||||
.orWhere('last_name', 'like', `%${search}%`)
|
||||
.orWhere('email', 'like', `%${search}%`)
|
||||
.andWhereHas('roles', q => q.where('slug', role));
|
||||
if (role) {
|
||||
query.whereHas('roles', q => q.where('slug', role));
|
||||
}
|
||||
|
||||
const data = await query.preload('contacts').preload('roles').orderBy('created_at', 'desc').paginate(page, limit);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user