failed try to load OneToOne relation of user to userConmtact as

emailConact-attribut...  grrrrrr...
This commit is contained in:
Claus-Peter Hübner 2022-08-26 20:00:29 +02:00
parent 1184666fe2
commit 1d1de2011a
4 changed files with 9 additions and 7 deletions

View File

@ -12,13 +12,15 @@ export class User {
this.gradidoID = user.gradidoID
this.alias = user.alias
this.emailId = user.emailId
this.email = user.emailContact.email
this.emailContact = user.emailContact
if (user.emailContact) {
this.email = user.emailContact.email
this.emailContact = user.emailContact
this.emailChecked = user.emailContact.emailChecked
}
this.firstName = user.firstName
this.lastName = user.lastName
this.deletedAt = user.deletedAt
this.createdAt = user.createdAt
this.emailChecked = user.emailContact.emailChecked
this.language = user.language
this.publisherId = user.publisherId
this.isAdmin = user.isAdmin

View File

@ -5,6 +5,7 @@ import { User as DbUser } from '@entity/User'
export class UserRepository extends Repository<DbUser> {
async findByPubkeyHex(pubkeyHex: string): Promise<DbUser> {
const dbUser = await this.createQueryBuilder('user')
.leftJoinAndSelect('user.emailContact', 'emailContact')
.where('hex(user.pubKey) = :pubkeyHex', { pubkeyHex })
.getOneOrFail()
/*
@ -24,7 +25,7 @@ export class UserRepository extends Repository<DbUser> {
currentPage: number,
pageSize: number,
): Promise<[DbUser[], number]> {
const query = await this.createQueryBuilder('user')
const query = this.createQueryBuilder('user')
.select(select)
.withDeleted()
.where(

View File

@ -43,7 +43,7 @@ export class User extends BaseEntity {
@Column({ length: 255, unique: true, nullable: false, collation: 'utf8mb4_unicode_ci' })
email: string
*/
@OneToOne(() => UserContact)
@OneToOne(() => UserContact, (emailContact) => emailContact.userId)
@JoinColumn({ name: 'email_id' })
emailContact: UserContact

View File

@ -23,8 +23,7 @@ export class UserContact extends BaseEntity {
})
type: string
@OneToOne(() => User)
@JoinColumn({ name: 'user_id' })
@OneToOne(() => User, (user) => user.emailContact)
user: User
@Column({ name: 'user_id', type: 'int', unsigned: true, nullable: false })