mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
User model
This commit is contained in:
parent
9ff3632021
commit
14dbd7056f
@ -28,25 +28,4 @@ export class User extends BaseEntity {
|
|||||||
|
|
||||||
@Column()
|
@Column()
|
||||||
disabled: boolean
|
disabled: boolean
|
||||||
|
|
||||||
// Moriz: I am voting for the data mapper implementation.
|
|
||||||
// see: https://typeorm.io/#/active-record-data-mapper/what-is-the-data-mapper-pattern
|
|
||||||
// We should discuss this ASAP
|
|
||||||
static findByPubkeyHex(pubkeyHex: string): Promise<User> {
|
|
||||||
return this.createQueryBuilder('user')
|
|
||||||
.where('hex(user.pubkey) = :pubkeyHex', { pubkeyHex })
|
|
||||||
.getOneOrFail()
|
|
||||||
}
|
|
||||||
|
|
||||||
static async getUsersIndiced(userIds: number[]): Promise<User[]> {
|
|
||||||
const users = await this.createQueryBuilder('user')
|
|
||||||
.select(['user.id', 'user.firstName', 'user.lastName', 'user.email'])
|
|
||||||
.where('user.id IN (:...users)', { users: userIds })
|
|
||||||
.getMany()
|
|
||||||
const usersIndiced: User[] = []
|
|
||||||
users.forEach((value) => {
|
|
||||||
usersIndiced[value.id] = value
|
|
||||||
})
|
|
||||||
return usersIndiced
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
23
backend/src/typeorm/repository/User.ts
Normal file
23
backend/src/typeorm/repository/User.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { EntityRepository, Repository } from 'typeorm'
|
||||||
|
import { User } from '../entity/User'
|
||||||
|
|
||||||
|
@EntityRepository(User)
|
||||||
|
export class UserRepository extends Repository<User> {
|
||||||
|
async findByPubkeyHex(pubkeyHex: string): Promise<User> {
|
||||||
|
return this.createQueryBuilder('user')
|
||||||
|
.where('hex(user.pubkey) = :pubkeyHex', { pubkeyHex })
|
||||||
|
.getOneOrFail()
|
||||||
|
}
|
||||||
|
|
||||||
|
async getUsersIndiced(userIds: number[]): Promise<User[]> {
|
||||||
|
const users = await this.createQueryBuilder('user')
|
||||||
|
.select(['user.id', 'user.firstName', 'user.lastName', 'user.email'])
|
||||||
|
.where('user.id IN (:...users)', { users: userIds })
|
||||||
|
.getMany()
|
||||||
|
const usersIndiced: User[] = []
|
||||||
|
users.forEach((value) => {
|
||||||
|
usersIndiced[value.id] = value
|
||||||
|
})
|
||||||
|
return usersIndiced
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user