refactor user resolver

This commit is contained in:
Ulf Gebhardt 2023-06-14 13:44:01 +02:00
parent 0ca1f1ac29
commit e412265b3a
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9
2 changed files with 9 additions and 5 deletions

View File

@ -2110,7 +2110,7 @@ describe('UserResolver', () => {
describe('search users', () => { describe('search users', () => {
const variablesWithoutTextAndFilters = { const variablesWithoutTextAndFilters = {
searchText: '', query: '',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
filters: null, filters: null,

View File

@ -23,7 +23,7 @@ import { v4 as uuidv4 } from 'uuid'
import { CreateUserArgs } from '@arg/CreateUserArgs' import { CreateUserArgs } from '@arg/CreateUserArgs'
import { Paginated } from '@arg/Paginated' import { Paginated } from '@arg/Paginated'
import { SearchUsersArgs } from '@arg/SearchUsersArgs' import { SearchUsersFilters } from '@arg/SearchUsersFilters'
import { UnsecureLoginArgs } from '@arg/UnsecureLoginArgs' import { UnsecureLoginArgs } from '@arg/UnsecureLoginArgs'
import { UpdateUserInfosArgs } from '@arg/UpdateUserInfosArgs' import { UpdateUserInfosArgs } from '@arg/UpdateUserInfosArgs'
import { OptInType } from '@enum/OptInType' import { OptInType } from '@enum/OptInType'
@ -640,8 +640,11 @@ export class UserResolver {
@Authorized([RIGHTS.SEARCH_USERS]) @Authorized([RIGHTS.SEARCH_USERS])
@Query(() => SearchUsersResult) @Query(() => SearchUsersResult)
async searchUsers( async searchUsers(
@Arg('query', () => String) query: string,
@Arg('filters', () => SearchUsersFilters, { nullable: true })
filters: SearchUsersFilters | null | undefined,
@Args() @Args()
{ searchText, currentPage = 1, pageSize = 25, filters }: SearchUsersArgs, { currentPage = 1, pageSize = 25, order = Order.ASC }: Paginated,
@Ctx() context: Context, @Ctx() context: Context,
): Promise<SearchUsersResult> { ): Promise<SearchUsersResult> {
const clientTimezoneOffset = getClientTimezoneOffset(context) const clientTimezoneOffset = getClientTimezoneOffset(context)
@ -659,15 +662,16 @@ export class UserResolver {
userFields.map((fieldName) => { userFields.map((fieldName) => {
return 'user.' + fieldName return 'user.' + fieldName
}), }),
searchText, query,
filters ?? null, filters ?? null,
currentPage, currentPage,
pageSize, pageSize,
order,
) )
if (users.length === 0) { if (users.length === 0) {
return { return {
userCount: 0, userCount: count,
userList: [], userList: [],
} }
} }