mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
import { Resolver, Query, Arg, Authorized } from 'type-graphql'
|
|
import { getCustomRepository } from 'typeorm'
|
|
import { UserAdmin } from '../model/UserAdmin'
|
|
import { LoginUserRepository } from '../../typeorm/repository/LoginUser'
|
|
import { RIGHTS } from '../../auth/RIGHTS'
|
|
|
|
@Resolver()
|
|
export class AdminResolver {
|
|
@Authorized([RIGHTS.SEARCH_USERS])
|
|
@Query(() => [UserAdmin])
|
|
async searchUsers(@Arg('searchText') searchText: string): Promise<UserAdmin[]> {
|
|
const loginUserRepository = getCustomRepository(LoginUserRepository)
|
|
const loginUsers = await loginUserRepository.findBySearchCriteria(searchText)
|
|
const users = loginUsers.map((loginUser) => {
|
|
const user = new UserAdmin()
|
|
user.firstName = loginUser.firstName
|
|
user.lastName = loginUser.lastName
|
|
user.email = loginUser.email
|
|
user.creation = [
|
|
(Math.floor(Math.random() * 50) + 1) * 20,
|
|
(Math.floor(Math.random() * 50) + 1) * 20,
|
|
(Math.floor(Math.random() * 50) + 1) * 20,
|
|
]
|
|
return user
|
|
})
|
|
return users
|
|
}
|
|
}
|