import { Repository, RecordRow } from './repository'; export class Dependence { timestamp?: string; id?: number; status: DependenceStatus; type: DependenceTypes; name: string; log?: string[]; remark?: string; constructor(options: Dependence) { this.id = options.id; this.status = typeof options.status === 'number' && DependenceStatus[options.status] ? options.status : DependenceStatus.queued; this.type = options.type || DependenceTypes.nodejs; this.timestamp = new Date().toString(); this.name = options.name.trim(); this.log = options.log || []; this.remark = options.remark || ''; } } export enum DependenceStatus { 'installing', 'installed', 'installFailed', 'removing', 'removed', 'removeFailed', 'queued', 'cancelled', } export enum DependenceTypes { 'nodejs', 'python3', 'linux', } export enum versionDependenceCommandTypes { '@', '==', '=', } export type DependenceInstance = RecordRow; export const DependenceModel = new Repository('Dependence');