oa_based/src/modules/auth/entities/access-token.entity.ts

41 lines
872 B
TypeScript

import {
BaseEntity,
Column,
CreateDateColumn,
Entity,
JoinColumn,
ManyToOne,
OneToOne,
PrimaryGeneratedColumn,
} from 'typeorm'
import { UserEntity } from '~/modules/user/user.entity'
import { RefreshTokenEntity } from './refresh-token.entity'
@Entity('user_access_tokens')
export class AccessTokenEntity extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
id!: string
@Column({ length: 500 })
value!: string
@Column({ comment: '令牌过期时间' })
expired_at!: Date
@CreateDateColumn({ comment: '令牌创建时间' })
created_at!: Date
@OneToOne(() => RefreshTokenEntity, refreshToken => refreshToken.accessToken, {
cascade: true,
})
refreshToken!: RefreshTokenEntity
@ManyToOne(() => UserEntity, user => user.accessTokens, {
onDelete: 'CASCADE',
})
@JoinColumn({ name: 'user_id' })
user!: UserEntity
}