@sphereon/ssi-sdk.data-store
Version:
46 lines (38 loc) • 1.68 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 { ImageDimensionsEntity } from './ImageDimensionsEntity'
('ImageAttributes')
export class ImageAttributesEntity extends BaseEntity {
('uuid')
id!: string
('text', { name: 'uri', nullable: true, unique: false })
(IsNonEmptyStringConstraint, { message: 'Blank image uri are not allowed' })
uri?: string
('text', { name: 'dataUri', nullable: true, unique: false })
(IsNonEmptyStringConstraint, { message: 'Blank image data uri are not allowed' })
dataUri?: string
('varchar', { name: 'mediaType', length: 255, nullable: true, unique: false })
(IsNonEmptyStringConstraint, { message: 'Blank image types are not allowed' })
mediaType?: string
('varchar', { name: 'alt', length: 255, nullable: true, unique: false })
(IsNonEmptyStringConstraint, { message: 'Blank image alts are not allowed' })
alt?: string
(() => ImageDimensionsEntity, {
cascade: true,
onDelete: 'CASCADE',
eager: true,
nullable: true,
})
({ name: 'dimensionsId' })
dimensions?: ImageDimensionsEntity
()
()
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
}
}