/* Copyright CloudLinux Zug GmbH 2010-2017 All Rights Reserved
 *
 * Licensed under CLOUD LINUX LICENSE AGREEMENT
 * http://cloudlinux.com/docs/LICENSE.TXT
 */

import { Row } from '../../utils/row';
import { VersionStatus } from '../model';
import { Tool } from '../../model/tool';

export class VersionRow extends Row {
    version: string;
    path: string;
    appCount: number;
    status: VersionStatus;
    enabled: EnabledStatusForRow;
    buttonEnabled: boolean;
    majorVersion: string;

    get enabledToVersionStatus(): VersionStatus {
        return this.enabled === true ? 'enabled' : 'disabled';
    }

    get inProcess(): boolean {
        return ['installing', 'removing'].includes(this.status);
    }

}

export type EnabledStatusForRow = true | false | 'N/A';
