UNPKG

@sphereon/ssi-sdk.data-store

Version:

45 lines (34 loc) 1.74 kB
import { typeOrmDateTime } from '@sphereon/ssi-sdk.agent-config' import { IsNotEmpty } from 'class-validator' import { BaseEntity, BeforeInsert, BeforeUpdate, Column, CreateDateColumn, Entity, Index, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm' @Entity('DcqlQueryItem') @Index(['version'], { unique: false }) export class DcqlQueryItemEntity extends BaseEntity { @PrimaryGeneratedColumn('uuid') id!: string @Column({ name: 'query_id', length: 255, type: 'varchar', nullable: false, unique: false }) @IsNotEmpty({ message: 'A blank query id field is not allowed' }) queryId!: string @Column({ name: 'version', length: 255, type: 'varchar', nullable: false, unique: false }) @IsNotEmpty({ message: 'A blank version field is not allowed' }) version!: string @Column({ name: 'tenant_id', length: 255, type: 'varchar', nullable: true, unique: false }) tenantId?: string @Column({ name: 'purpose', length: 255, type: 'varchar', nullable: true, unique: false }) purpose?: string @Column({ name: 'name', length: 255, type: 'varchar', nullable: true, unique: false }) name?: string @Column({ name: 'query', type: 'text', nullable: false, unique: false }) @IsNotEmpty({ message: 'A blank dcql query payload field is not allowed' }) query!: string @CreateDateColumn({ name: 'created_at', nullable: false, type: typeOrmDateTime() }) createdAt!: Date @UpdateDateColumn({ name: 'last_updated_at', nullable: false, type: typeOrmDateTime() }) lastUpdatedAt!: Date // By default, @UpdateDateColumn in TypeORM updates the timestamp only when the entity's top-level properties change. @BeforeInsert() @BeforeUpdate() updateUpdatedDate(): void { this.lastUpdatedAt = new Date() } }