diff options
Diffstat (limited to 'catalog-ui/src/app/models/component-metadata.ts')
-rw-r--r-- | catalog-ui/src/app/models/component-metadata.ts | 177 |
1 files changed, 128 insertions, 49 deletions
diff --git a/catalog-ui/src/app/models/component-metadata.ts b/catalog-ui/src/app/models/component-metadata.ts index 0f0a30d529..8a4b257f55 100644 --- a/catalog-ui/src/app/models/component-metadata.ts +++ b/catalog-ui/src/app/models/component-metadata.ts @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -18,65 +18,135 @@ * ============LICENSE_END========================================================= */ -import {IMainCategory} from "./category"; +import { CapabilitiesGroup, RequirementsGroup } from 'app/models'; +import { ComponentType } from 'app/utils'; +import { IMainCategory } from './category'; /** * Created by obarda on 4/18/2017. */ -export class ComponentMetadata { - - public abstract:string; - public uniqueId:string; - public uuid:string; - public invariantUUID:string; - public name:string; - public version:string; - public creationDate:number; - public lastUpdateDate:number; - public description:string; - public lifecycleState:string; - public tags:Array<string>; - public icon:string; - public contactId:string; - public allVersions:any; - public creatorUserId:string; - public creatorFullName:string; - public lastUpdaterUserId:string; - public lastUpdaterFullName:string; - public componentType:string; - public categories:Array<IMainCategory>; - public highestVersion:boolean; - public normalizedName:string; - public systemName:string; - public archived:boolean; +export interface IComponentMetadata { + + abstract: string; + uniqueId: string; + uuid: string; + invariantUUID: string; + name: string; + version: string; + creationDate: number; + lastUpdateDate: number; + description: string; + lifecycleState: string; + tags: string[]; + icon: string; + contactId: string; + allVersions: any; + creatorUserId: string; + creatorFullName: string; + lastUpdaterUserId: string; + lastUpdaterFullName: string; + componentType: string; + categories: IMainCategory[]; + highestVersion: boolean; + normalizedName: string; + systemName: string; + archived: boolean; + vspArchived: boolean; + selectedCategory: string; + filterTerm: string; + + // Resource only + resourceType: string; + csarUUID: string; + csarVersion: string; + derivedList: string[]; + vendorName: string; + vendorRelease: string; + derivedFrom: string[]; + resourceVendorModelNumber: string; + csarPackageType: string; + packageId: string; + iconSprite: string; + + // Service only + serviceFunction: string; + distributionStatus: string; + ecompGeneratedNaming: boolean; + namingPolicy: string; + serviceType: string; + serviceRole: string; + environmentContext: string; + instantiationType: string; + + // backend lifecycleState + state: string; + + capabilities: CapabilitiesGroup; + requirements: RequirementsGroup; + +} + +export class ComponentMetadata implements IComponentMetadata { + + public abstract: string; + public uniqueId: string; + public uuid: string; + public invariantUUID: string; + public name: string; + public version: string; + public creationDate: number; + public lastUpdateDate: number; + public description: string; + public lifecycleState: string; + public tags: string[]; + public icon: string; + public contactId: string; + public allVersions: any; + public creatorUserId: string; + public creatorFullName: string; + public lastUpdaterUserId: string; + public lastUpdaterFullName: string; + public componentType: string; + public categories: IMainCategory[]; + public highestVersion: boolean; + public normalizedName: string; + public systemName: string; + public archived: boolean; public vspArchived: boolean; public toscaResourceName: string; + public selectedCategory: string; + public filterTerm: string; - //Resource only + // Resource only public resourceType: string; - public csarUUID:string; - public csarVersion:string; + public csarUUID: string; + public csarVersion: string; public derivedList: string[]; - public vendorName:string; - public vendorRelease:string; - public derivedFrom: Array<string>; - public resourceVendorModelNumber:string; - - //Service only - public projectCode:string; - public distributionStatus:string; + public vendorName: string; + public vendorRelease: string; + public derivedFrom: string[]; + public resourceVendorModelNumber: string; + public csarPackageType: string; + public packageId: string; + public iconSprite: string; + + // Service only + public serviceFunction: string; + public distributionStatus: string; public ecompGeneratedNaming: boolean; public namingPolicy: string; - public serviceType:string; - public serviceRole:string; - public environmentContext:string; - public instantiationType:string; - + public serviceType: string; + public serviceRole: string; + public environmentContext: string; + public instantiationType: string; + // backend lifecycleState + public state: string; - //backend lifecycleState - public state:string; + // requirements + public capabilities; + public requirements; - deserialize (response): ComponentMetadata { + deserialize(response): ComponentMetadata { this.abstract = response.abstract; this.uniqueId = response.uniqueId; this.uuid = response.uuid; @@ -104,7 +174,7 @@ export class ComponentMetadata { this.derivedList = response.derivedList; this.normalizedName = response.normalizedName; this.systemName = response.systemName; - this.projectCode = response.projectCode; + this.serviceFunction = response.serviceFunction; this.resourceType = response.resourceType; this.csarUUID = response.csarUUID; this.csarVersion = response.csarVersion; @@ -120,7 +190,16 @@ export class ComponentMetadata { this.instantiationType = response.instantiationType; this.vspArchived = response.vspArchived; this.toscaResourceName = response.toscaResourceName; + this.capabilities = response.capabilities; + this.requirements = response.requirements; return this; } + public isService = (): boolean => { + return this.componentType === ComponentType.SERVICE; + } + + public getTypeUrl(): string { + return this.componentType === ComponentType.RESOURCE ? 'resources/' : 'services/'; + } } |