import BaseEntity from '../../common/entities/BaseEntity'; export default abstract class File extends BaseEntity { static TYPE_IMAGE = 'TYPE_IMAGE'; protected _url: string = null; protected _extension: string = null; protected _file_size_in_bytes: number = null; get url(): string { return this._url; } set url(value: string) { this._url = value; } get extension(): string { return this._extension; } set extension(value: string) { this._extension = value; } get file_size_in_bytes(): number { return this._file_size_in_bytes; } set file_size_in_bytes(value: number) { this._file_size_in_bytes = value; } isValid(): boolean { return this.invalidFields().length === 0; } invalidFields(): Array { let fields = []; !this.url && fields.push('url'); return fields; } }