lib/common/file/entity/file-metadata.entity.ts
The entity stores the basic metadata of the file
Properties |
audio |
Type : AudioFileMetadataEntity
|
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
|
exif |
Type : ExifFileMetadataEntity
|
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
|
ext |
Type : string
|
Decorators :
@Column('varchar', {nullable: true})
|
gps |
Type : GpsFileMetadataEntity
|
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
|
hash |
Type : string
|
Decorators :
@Column('varchar', {nullable: true})
|
icc |
Type : IccFileMetadataEntity
|
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
|
id |
Type : number
|
Decorators :
@PrimaryGeneratedColumn({zerofill: true})
|
image |
Type : ImageFileMetadataEntity
|
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
|
mime |
Type : string
|
Decorators :
@Column('varchar', {nullable: true})
|
video |
Type : VideoFileMetadataEntity
|
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
|
import {
Column,
Entity,
JoinColumn,
OneToOne,
PrimaryGeneratedColumn,
} from "typeorm";
import { FileMetadata } from "../file.types";
import { ImageFileMetadataEntity } from "./image-file-metadata.entity";
import { GpsFileMetadataEntity } from "./gps-file-metadata.entity";
import { IccFileMetadataEntity } from "./icc-file-metadata.entity";
import { ExifFileMetadataEntity } from "./exif-file-metadata.entity";
import { VideoFileMetadataEntity } from "./video-file-metadata.entity";
import { AudioFileMetadataEntity } from "./audio-file-metadata.entity";
/**
* The entity stores the basic metadata of the file
*/
@Entity("file_metadata")
export class FileMetadataEntity implements FileMetadata {
@PrimaryGeneratedColumn({ zerofill: true })
id: number;
@Column("varchar", { nullable: true })
mime: string;
@Column("varchar", { nullable: true })
ext: string;
@Column("varchar", { nullable: true })
hash: string;
@OneToOne(() => ImageFileMetadataEntity, (t) => t.id, {
cascade: true,
onDelete: "CASCADE",
})
@JoinColumn()
image: ImageFileMetadataEntity;
@OneToOne(() => GpsFileMetadataEntity, (t) => t.id, {
cascade: true,
onDelete: "CASCADE",
})
@JoinColumn()
gps: GpsFileMetadataEntity;
@OneToOne(() => IccFileMetadataEntity, (t) => t.id, {
cascade: true,
onDelete: "CASCADE",
})
@JoinColumn()
icc: IccFileMetadataEntity;
@OneToOne(() => ExifFileMetadataEntity, (t) => t.id, {
cascade: true,
onDelete: "CASCADE",
})
@JoinColumn()
exif: ExifFileMetadataEntity;
@OneToOne(() => AudioFileMetadataEntity, (t) => t.id, {
cascade: true,
onDelete: "CASCADE",
})
@JoinColumn()
audio: AudioFileMetadataEntity;
@OneToOne(() => VideoFileMetadataEntity, (t) => t.id, {
cascade: true,
onDelete: "CASCADE",
})
@JoinColumn()
video: VideoFileMetadataEntity;
}