/** * AUTOGENERATED */ import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from 'typeorm'; import { OauthClient } from './OauthClient'; import { OauthRefreshToken } from './OauthRefreshToken'; import { Session } from './Session'; import { User } from './User'; @Entity('oauthAccessToken') export class OauthAccessToken { @PrimaryColumn('text') id: string; @Column('text', { name: 'token', nullable: true, unique: true }) token: string | null; @Column('text', { name: 'clientId' }) clientId: string; @ManyToOne(() => OauthClient, { onDelete: 'CASCADE', nullable: false }) @JoinColumn({ name: 'clientId', referencedColumnName: 'clientId' }) client: OauthClient; @Column('text', { name: 'sessionId', nullable: true }) sessionId: string | null; @ManyToOne(() => Session, { onDelete: 'SET NULL', nullable: true }) @JoinColumn({ name: 'sessionId', referencedColumnName: 'id' }) session?: Session; @Column('text', { name: 'userId', nullable: true }) userId: string | null; @ManyToOne(() => User, { onDelete: 'CASCADE', nullable: true }) @JoinColumn({ name: 'userId', referencedColumnName: 'id' }) user?: User; @Column('text', { name: 'referenceId', nullable: true }) referenceId: string | null; @Column('text', { name: 'refreshId', nullable: true }) refreshId: string | null; @ManyToOne(() => OauthRefreshToken, { onDelete: 'CASCADE', nullable: true }) @JoinColumn({ name: 'refreshId', referencedColumnName: 'id' }) refresh?: OauthRefreshToken; @Column({ type: 'timestamp', name: 'expiresAt', nullable: true }) expiresAt: Date | null; @Column({ type: 'timestamp', name: 'createdAt', nullable: true }) createdAt: Date | null; @Column('text', { name: 'scopes' }) scopes: string; }