Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { Domain } from './domain.js';
import { Entity } from '../entity.js';
import { User } from './user.js';
import { ThemeStatus } from '../constants/theme_status.js';
export class Theme extends Entity {
protected static resourceName = 'themes';
protected static singularName = 'theme';
protected static pluralName = 'themes';
@Theme.property({type: Date})
public archived?: Date | null;
@Theme.property()
public id?: number;
@Theme.property()
public mainCssStatus?: number;
@Theme.property({type: String})
public mainCssErrorMessage?: string | null;
@Theme.property()
public emailCssStatus?: number;
@Theme.property({type: String})
public emailCssErrorMessage?: string | null;
@Theme.property()
public lastUpdated?: Date;
@Theme.property({embeddedByDefault: false, type: String})
public mainCss?: string | null;
@Theme.property({embeddedByDefault: false, type: String})
public mainCssTemplateUsing?: string | null;
@Theme.property({embeddedByDefault: false, type: String})
public mainCssTemplateEditing?: string | null;
@Theme.property({embeddedByDefault: false, type: String})
public emailCss?: string | null;
@Theme.property({embeddedByDefault: false, type: String})
public emailCssTemplateUsing?: string | null;
@Theme.property({embeddedByDefault: false, type: String})
public emailCssTemplateEditing?: string | null;
@Theme.property({type: 'Domain'})
public domain?: Domain | null;
@Theme.property({type: User})
public author?: User | null;
@Theme.property({arrayType: 'Domain'})
public domains?: Domain[];
public canBeActivated = () => {
const validStatus = ThemeStatus.VALID_BUT_NOT_UPDATED;
Iif (this.mainCssStatus === undefined || this.emailCssStatus === undefined) {
throw new Error('status is unknown');
}
return this.mainCssStatus >= validStatus &&
this.emailCssStatus >= validStatus;
};
public isActiveOnDomain = (domainId: number) => {
const domain = this.domain;
Iif (domain === undefined) {
throw new Error('domain is unknown');
}
Iif (domain === null) {
return false;
}
const activeTheme = domain.activeTheme;
Iif (activeTheme === undefined) {
throw new Error('activeTheme is unknown');
}
return domain.id == domainId && activeTheme.id === this.id;
};
}
|