UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

157 lines (151 loc) 3.52 kB
import {ModelDefinition} from './BaseModels'; import {Log} from './Log'; import {Tool} from './Tool'; declare var Object: any; export interface ToolkitTemplateInterface { name?: string; description?: string; logo?: string; sector?: string; module: string; keywords?: Array<any>; created?: Date; modified?: Date; deleted?: Date; id?: any; adminToolIds?: Array<any>; toolIds?: Array<any>; trackingLogs?: Log[]; adminTools?: Tool[]; tools?: Tool[]; } export class ToolkitTemplate implements ToolkitTemplateInterface { name: string; description: string; logo: string; sector: string; module: string; keywords: Array<any>; created: Date; modified: Date; deleted: Date; id: any; adminToolIds: Array<any> = []; toolIds: Array<any> = []; trackingLogs?: Log[]; adminTools?: Tool[]; tools?: Tool[]; constructor(data?: ToolkitTemplateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `ToolkitTemplate`. */ public static getModelName(): string { return 'ToolkitTemplate'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of ToolkitTemplate for dynamic purposes. */ public static factory(data: ToolkitTemplateInterface): ToolkitTemplate{ return new ToolkitTemplate(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: 'ToolkitTemplate', plural: 'ToolkitTemplates', path: 'ToolkitTemplates', idName: 'id', properties: { name: { name: 'name', type: 'string' }, description: { name: 'description', type: 'string' }, logo: { name: 'logo', type: 'string' }, sector: { name: 'sector', type: 'string' }, module: { name: 'module', type: 'string' }, keywords: { name: 'keywords', type: 'Array&lt;any&gt;' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, id: { name: 'id', type: 'any' }, adminToolIds: { name: 'adminToolIds', type: 'Array&lt;any&gt;', default: [] }, toolIds: { name: 'toolIds', type: 'Array&lt;any&gt;', default: [] }, }, relations: { trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, adminTools: { name: 'adminTools', type: 'Tool[]', model: 'Tool', relationType: 'referencesMany', keyFrom: 'adminToolIds', keyTo: 'id' }, tools: { name: 'tools', type: 'Tool[]', model: 'Tool', relationType: 'referencesMany', keyFrom: 'toolIds', keyTo: 'id' }, } }; } }