File

lib/common/file/entity/file-metadata.entity.ts

Description

The entity stores the basic metadata of the file

Index

Properties

Properties

audio
Type : AudioFileMetadataEntity
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
@JoinColumn()
exif
Type : ExifFileMetadataEntity
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
@JoinColumn()
ext
Type : string
Decorators :
@Column('varchar', {nullable: true})
gps
Type : GpsFileMetadataEntity
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
@JoinColumn()
hash
Type : string
Decorators :
@Column('varchar', {nullable: true})
icc
Type : IccFileMetadataEntity
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
@JoinColumn()
id
Type : number
Decorators :
@PrimaryGeneratedColumn({zerofill: true})
image
Type : ImageFileMetadataEntity
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
@JoinColumn()
mime
Type : string
Decorators :
@Column('varchar', {nullable: true})
video
Type : VideoFileMetadataEntity
Decorators :
@OneToOne(undefined, t => t.id, {cascade: true, onDelete: 'CASCADE'})
@JoinColumn()
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;
}

results matching ""

    No results matching ""