UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

181 lines (175 loc) 4.53 kB
import {ModelDefinition} from './BaseModels'; import {Log} from './Log'; import {Project} from './Project'; declare var Object: any; export interface ProjectOperabilitySummaryInterface { month?: Date; totalOperativeAssets?: number; connectedAssetsEndPeriod?: number; connectedAssetsStartPeriod?: number; connectedAssets?: number; disconnectedAssets?: number; createdAssets?: number; removedAssets?: number; totalOperativeHours?: number; adjustedOperativeHours?: number; maxOperativeHours?: number; operability?: number; averageOperability?: number; created?: Date; modified?: Date; deleted?: Date; id?: any; projectId?: any; trackingLogs?: Log[]; project?: Project; } export class ProjectOperabilitySummary implements ProjectOperabilitySummaryInterface { month: Date; totalOperativeAssets: number; connectedAssetsEndPeriod: number; connectedAssetsStartPeriod: number; connectedAssets: number; disconnectedAssets: number; createdAssets: number; removedAssets: number; totalOperativeHours: number; adjustedOperativeHours: number; maxOperativeHours: number; operability: number; averageOperability: number; created: Date; modified: Date; deleted: Date; id: any; projectId: any; trackingLogs?: Log[]; project?: Project; constructor(data?: ProjectOperabilitySummaryInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `ProjectOperabilitySummary`. */ public static getModelName(): string { return 'ProjectOperabilitySummary'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of ProjectOperabilitySummary for dynamic purposes. */ public static factory(data: ProjectOperabilitySummaryInterface): ProjectOperabilitySummary{ return new ProjectOperabilitySummary(data); } /** * @method getModelDefinition * @author Julien Ledun * @license MIT * This method returns an object that represents some of the model * definitions. */ public static getModelDefinition(): ModelDefinition { return { name: 'ProjectOperabilitySummary', plural: 'ProjectOperabilitySummaries', path: 'ProjectOperabilitySummaries', idName: 'id', properties: { month: { name: 'month', type: 'Date' }, totalOperativeAssets: { name: 'totalOperativeAssets', type: 'number' }, connectedAssetsEndPeriod: { name: 'connectedAssetsEndPeriod', type: 'number' }, connectedAssetsStartPeriod: { name: 'connectedAssetsStartPeriod', type: 'number' }, connectedAssets: { name: 'connectedAssets', type: 'number' }, disconnectedAssets: { name: 'disconnectedAssets', type: 'number' }, createdAssets: { name: 'createdAssets', type: 'number' }, removedAssets: { name: 'removedAssets', type: 'number' }, totalOperativeHours: { name: 'totalOperativeHours', type: 'number' }, adjustedOperativeHours: { name: 'adjustedOperativeHours', type: 'number' }, maxOperativeHours: { name: 'maxOperativeHours', type: 'number' }, operability: { name: 'operability', type: 'number' }, averageOperability: { name: 'averageOperability', type: 'number' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, id: { name: 'id', type: 'any' }, projectId: { name: 'projectId', type: 'any' }, }, relations: { trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, project: { name: 'project', type: 'Project', model: 'Project', relationType: 'belongsTo', keyFrom: 'projectId', keyTo: 'id' }, } }; } }