summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/component-metadata.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/component-metadata.ts')
-rw-r--r--catalog-ui/src/app/models/component-metadata.ts177
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/';
+ }
}