UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

144 lines (138 loc) 3.19 kB
import {ModelDefinition} from './BaseModels'; import {Log} from './Log'; import {Storyline} from './Storyline'; import {Asset} from './Asset'; declare var Object: any; export interface StorypointInterface { name: string; storypointDate: Date; description?: string; relatedFiles?: Array<any>; created?: Date; modified?: Date; deleted?: Date; id?: any; storylineId?: any; assetId?: any; trackingLogs?: Log[]; storyline?: Storyline; asset?: Asset; } export class Storypoint implements StorypointInterface { name: string; storypointDate: Date; description: string; relatedFiles: Array<any>; created: Date; modified: Date; deleted: Date; id: any; storylineId: any; assetId: any; trackingLogs?: Log[]; storyline?: Storyline; asset?: Asset; constructor(data?: StorypointInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `Storypoint`. */ public static getModelName(): string { return 'Storypoint'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of Storypoint for dynamic purposes. */ public static factory(data: StorypointInterface): Storypoint{ return new Storypoint(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: 'Storypoint', plural: 'Storypoints', path: 'Storypoints', idName: 'id', properties: { name: { name: 'name', type: 'string' }, storypointDate: { name: 'storypointDate', type: 'Date' }, description: { name: 'description', type: 'string' }, relatedFiles: { name: 'relatedFiles', 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' }, storylineId: { name: 'storylineId', type: 'any' }, assetId: { name: 'assetId', type: 'any' }, }, relations: { trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, storyline: { name: 'storyline', type: 'Storyline', model: 'Storyline', relationType: 'belongsTo', keyFrom: 'storylineId', keyTo: 'id' }, asset: { name: 'asset', type: 'Asset', model: 'Asset', relationType: 'belongsTo', keyFrom: 'assetId', keyTo: 'id' }, } }; } }