diff --git a/src/app/dashboard/partner-details/partner-details.component.html b/src/app/dashboard/partner-details/partner-details.component.html index 61a9331..6a149ec 100644 --- a/src/app/dashboard/partner-details/partner-details.component.html +++ b/src/app/dashboard/partner-details/partner-details.component.html @@ -519,7 +519,7 @@ - diff --git a/src/app/dashboard/partner-details/partner-details.component.ts b/src/app/dashboard/partner-details/partner-details.component.ts index 8e25d6f..7d3271c 100644 --- a/src/app/dashboard/partner-details/partner-details.component.ts +++ b/src/app/dashboard/partner-details/partner-details.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import * as Papa from 'papaparse'; +import { PartnerProfileService } from 'src/app/services/partner-profile.service'; import { AREAS_OF_WORK, COUNTRIES, STATES, COMMUNITIES, PREFERRED_MODE_OF_COMMUNICATION, PREFERRED_LANGUAGES, AREAS_OF_SUPPORT } from 'src/shared/data/form-options'; import { UserData, UserDataOption } from 'src/shared/structure/user'; import * as XLSX from 'xlsx' @@ -35,7 +36,8 @@ export class PartnerDetailsComponent implements OnInit { isBothData: boolean = false; constructor( - private activateRouter: ActivatedRoute + private activateRouter: ActivatedRoute, + private partnerProfileService: PartnerProfileService ) { } ngOnInit(): void { @@ -180,6 +182,19 @@ export class PartnerDetailsComponent implements OnInit { this.exportSurveyCtoData = surveyCtoData } + async save() { + + this.isFormEditable = false; + + if (this.partnerDetails) { + try { + await this.partnerProfileService.updatePartnerData(this.partnerDetails); + } catch (e) { + console.error('Could not update partner data', e); + } + } + } + exportProfileData(exportType: ExportType) { const fileTypeXLS = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8', fileTypeCSV = 'text/csv;charset=utf-8;', diff --git a/src/app/services/partner-profile.service.ts b/src/app/services/partner-profile.service.ts index 2e4d5c8..342b46b 100644 --- a/src/app/services/partner-profile.service.ts +++ b/src/app/services/partner-profile.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { lastValueFrom } from 'rxjs'; +import { UserData } from 'src/shared/structure/user'; export const BASE_URL = 'http://localhost:8001'; // http://localhost:8001 @@ -19,4 +20,13 @@ export class PartnerProfileService { return lastValueFrom(this.http.get(BASE_URL + '/user-data/?token=' + localStorage.getItem('token'))); } + async updatePartnerData(userData: UserData) { + const requestBody = { + userId: userData.portalId, + userData, + }; + + return lastValueFrom(this.http.post(BASE_URL + '/user-update/?token=' + localStorage.getItem('token'), requestBody)); + } + }