aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimamSidero <imam.hussain@est.tech>2023-08-29 11:39:37 +0100
committerVasyl Razinkov <vasyl.razinkov@est.tech>2023-09-07 13:40:17 +0000
commitec5c8fddfb0ba0e40b19cd438533114652448d0f (patch)
tree8111873e3afedb1f404a941827d897baac4aebe3
parent28e1a54e6074f50dcc06f7ea4eb3943ad873b448 (diff)
Provide UI support to upload csar to update service
Upload capability is porvided in tosca artifact to update the service Issue-ID: SDC-4605 Signed-off-by: Imam hussain <imam.hussain@est.tech> Change-Id: I075250f91e6e68f007298d1b982db86244a696db
-rw-r--r--catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.ts18
-rw-r--r--catalog-ui/src/app/ng2/pages/workspace/tosca-artifacts/tosca-artifact-page.component.ts12
-rw-r--r--catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts6
3 files changed, 27 insertions, 9 deletions
diff --git a/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.ts b/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.ts
index 00e2fd8fcd..d548d425a2 100644
--- a/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.ts
+++ b/catalog-ui/src/app/ng2/http-interceptor/headers-interceptor.ts
@@ -14,11 +14,19 @@ export class HeadersInterceptor implements HttpInterceptor {
constructor(private injector: Injector, private cookieService: Cookie2Service, private httpHelperService: HttpHelperService) {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
- let authReq = req.clone({ headers: req.headers.set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
- .set('Content-Type', 'application/json; charset=UTF-8')
- .set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
- .set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
- });
+ let authReq: HttpRequest<any>;
+ if (req.body instanceof FormData) {
+ authReq = req.clone({ headers: req.headers.set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
+ .set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
+ .set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
+ });
+ } else {
+ authReq = req.clone({ headers: req.headers.set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
+ .set('Content-Type', 'application/json; charset=UTF-8')
+ .set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
+ .set(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId())
+ });
+ }
const uuidValue = this.httpHelperService.getUuidValue(authReq.url);
if (uuidValue !== '') {
diff --git a/catalog-ui/src/app/ng2/pages/workspace/tosca-artifacts/tosca-artifact-page.component.ts b/catalog-ui/src/app/ng2/pages/workspace/tosca-artifacts/tosca-artifact-page.component.ts
index e6d820ecd5..c18d22ba07 100644
--- a/catalog-ui/src/app/ng2/pages/workspace/tosca-artifacts/tosca-artifact-page.component.ts
+++ b/catalog-ui/src/app/ng2/pages/workspace/tosca-artifacts/tosca-artifact-page.component.ts
@@ -70,11 +70,15 @@ export class ToscaArtifactPageComponent implements OnInit {
this.isLoading = true;
switch (artifactType) {
case (ArtifactType.TOSCA.TOSCA_CSAR):
- this.Notification.error({
- message: "Feature not implemented yet",
- title: "Error"
+ this.componentService.putServiceToscaModel(this.componentId, this.componentType, file).subscribe((response)=> {
+ this.Notification.success({
+ message: "Service " + response.name + " has been updated",
+ title: "Success"
+ });
+ this.isLoading = false;
+ }, () => {
+ this.isLoading = false;
});
- this.isLoading = false;
break;
case (ArtifactType.TOSCA.TOSCA_TEMPLATE):
this.componentService.putServiceToscaTemplate(this.componentId, this.componentType, file).subscribe((response)=> {
diff --git a/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts b/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts
index 0386a1577a..0af8c737de 100644
--- a/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts
+++ b/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts
@@ -80,6 +80,12 @@ export class TopologyTemplateService {
return this.http.put<any>(this.baseUrl + this.getServerTypeUrl(componentType) + componentId + '/toscaTemplate', file)
}
+ putServiceToscaModel(componentId: string, componentType: string, file) {
+ let uploadData:FormData = new FormData();
+ uploadData.append('upload', file);
+ return this.http.put<any>(this.baseUrl + this.getServerTypeUrl(componentType) + componentId + '/toscaModel', uploadData);
+ }
+
getFullComponent(componentType: string, uniqueId: string): Observable<Component> {
return this.http.get<Component>(this.baseUrl + this.getServerTypeUrl(componentType) + uniqueId);
}