blob: 2501f0bab59e6baf688b72d5ad973e28c66bc8ec [file] [log] [blame]
/*-
* ============LICENSE_START=======================================================
* SDC
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* 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.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*/
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;
//Resource only
public resourceType: string;
public csarUUID:string;
public csarVersion:string;
public derivedList: string[];
public vendorName:string;
public vendorRelease:string;
public derivedFrom: Array<string>;
//Service only
public projectCode:string;
public distributionStatus:string;
public ecompGeneratedNaming: boolean;
public namingPolicy: string;
//backend lifecycleState
public state:string;
deserialize (response): ComponentMetadata {
this.abstract = response.abstract;
this.uniqueId = response.uniqueId;
this.uuid = response.uuid;
this.invariantUUID = response.invariantUUID;
this.contactId = response.contactId;
this.categories = response.categories;
this.creatorUserId = response.creatorUserId;
this.creationDate = response.creationDate;
this.creatorFullName = response.creatorFullName;
this.description = response.description;
this.icon = response.icon;
this.lastUpdateDate = response.lastUpdateDate;
this.lastUpdaterUserId = response.lastUpdaterUserId;
this.lastUpdaterFullName = response.lastUpdaterFullName;
this.lifecycleState = response.lifecycleState;
this.name = response.name;
this.version = response.version;
this.tags = angular.copy(response.tags, this.tags);
this.allVersions = response.allVersions;
this.componentType = response.componentType;
this.distributionStatus = response.distributionStatus;
this.highestVersion = response.highestVersion;
this.vendorName = response.vendorName;
this.vendorRelease = response.vendorRelease;
this.derivedList = response.derivedList;
this.normalizedName = response.normalizedName;
this.systemName = response.systemName;
this.projectCode = response.projectCode;
this.resourceType = response.resourceType;
this.csarUUID = response.csarUUID;
this.csarVersion = response.version;
this.state = response.state;
this.ecompGeneratedNaming = response.ecompGeneratedNaming;
this.namingPolicy = response.namingPolicy;
this.derivedFrom = response.derivedFrom;
return this;
}
}