@sphereon/ssi-sdk.data-store
Version:
34 lines (29 loc) • 1.14 kB
text/typescript
import { validate, Validate, ValidationError } from 'class-validator'
import { BaseEntity, BeforeInsert, BeforeUpdate, Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm'
import { IsNonEmptyStringConstraint } from '../validators'
import { ImageAttributesEntity } from './ImageAttributesEntity'
('BackgroundAttributes')
export class BackgroundAttributesEntity extends BaseEntity {
('uuid')
id!: string
('varchar', { name: 'color', length: 255, nullable: true, unique: false })
(IsNonEmptyStringConstraint, { message: 'Blank background colors are not allowed' })
color?: string
(() => ImageAttributesEntity, {
cascade: true,
onDelete: 'CASCADE',
eager: true,
nullable: true,
})
({ name: 'imageId' })
image?: ImageAttributesEntity
()
()
async validate(): Promise<undefined> {
const validation: Array<ValidationError> = await validate(this)
if (validation.length > 0) {
return Promise.reject(Error(Object.values(validation[0].constraints!)[0]))
}
return
}
}