src/modules/user/entities/user.entity.ts
Properties |
Methods |
Optional avatar |
Type : string
|
Decorators :
@Column({nullable: true})
|
Defined in src/modules/user/entities/user.entity.ts:29
|
createdAt |
Type : Date
|
Decorators :
@CreateDateColumn({type: 'timestamp with time zone'})
|
Defined in src/modules/user/entities/user.entity.ts:34
|
dtoClass |
Default value : UserDto
|
Defined in src/modules/user/entities/user.entity.ts:62
|
Type : string
|
Decorators :
@Column({unique: true})
|
Defined in src/modules/user/entities/user.entity.ts:26
|
firstName |
Type : string
|
Decorators :
@Column()
|
Defined in src/modules/user/entities/user.entity.ts:20
|
lastName |
Type : string
|
Decorators :
@Column()
|
Defined in src/modules/user/entities/user.entity.ts:23
|
partner |
Type : PartnerEntity
|
Decorators :
@ManyToOne(undefined, undefined, {nullable: true, onDelete: 'CASCADE'})
|
Defined in src/modules/user/entities/user.entity.ts:55
|
updatedAt |
Type : Date
|
Decorators :
@UpdateDateColumn({type: 'timestamp with time zone', nullable: true})
|
Defined in src/modules/user/entities/user.entity.ts:40
|
userAuth |
Type : UserAuthEntity
|
Decorators :
@OneToOne(undefined, undefined)
|
Defined in src/modules/user/entities/user.entity.ts:43
|
userConfig |
Type : UserConfigEntity
|
Decorators :
@OneToOne(undefined, undefined)
|
Defined in src/modules/user/entities/user.entity.ts:49
|
Abstract dtoClass |
Inherited from
AbstractEntity
|
Defined in
AbstractEntity:13
|
id |
Type : number
|
Decorators :
@PrimaryGeneratedColumn('increment')
|
Inherited from
AbstractEntity
|
Defined in
AbstractEntity:7
|
uuid |
Type : string
|
Decorators :
@Column()
|
Inherited from
AbstractEntity
|
Defined in
AbstractEntity:11
|
emailToLowerCase |
emailToLowerCase()
|
Decorators :
@BeforeInsert()
|
Defined in src/modules/user/entities/user.entity.ts:58
|
Returns :
void
|
toDto | ||||||
toDto(options?: any)
|
||||||
Inherited from
AbstractEntity
|
||||||
Defined in
AbstractEntity:15
|
||||||
Parameters :
Returns :
T
|
import { AbstractEntity } from 'common/entities';
import { UserDto } from 'modules/user/dtos';
import { UserAuthEntity, UserConfigEntity } from 'modules/user/entities';
import { PartnerEntity } from 'modules/partner/entities';
import {
Column,
CreateDateColumn,
Entity,
OneToMany,
ManyToOne,
JoinColumn,
BeforeInsert,
OneToOne,
UpdateDateColumn,
} from 'typeorm';
@Entity({ name: 'users' })
export class UserEntity extends AbstractEntity<UserDto> {
@Column()
firstName: string;
@Column()
lastName: string;
@Column({ unique: true })
email: string;
@Column({ nullable: true })
avatar?: string;
@CreateDateColumn({
type: 'timestamp with time zone',
})
createdAt: Date;
@UpdateDateColumn({
type: 'timestamp with time zone',
nullable: true,
})
updatedAt: Date;
@OneToOne(() => UserAuthEntity, (userAuth: UserAuthEntity) => userAuth.user)
userAuth: UserAuthEntity;
@OneToOne(
() => UserConfigEntity,
(userConfig: UserConfigEntity) => userConfig.user,
)
userConfig: UserConfigEntity;
@ManyToOne(() => PartnerEntity, (parnter: PartnerEntity) => parnter.user, {
nullable: true,
onDelete: 'CASCADE',
})
partner : PartnerEntity;
@BeforeInsert()
emailToLowerCase() {
this.email = this.email.toLowerCase();
}
dtoClass = UserDto;
}