From 2167576b560a08f675d5316d49e7c78a2b31e0a6 Mon Sep 17 00:00:00 2001 From: Manushreshta B L Date: Sun, 15 Oct 2023 23:19:29 +0530 Subject: [PATCH] Changed as per requested Review --- apps/api/src/app/admin/admin.controller.ts | 3 +- apps/api/src/app/admin/admin.service.ts | 9 ++-- .../create-asset-profile-dialog.component.ts | 41 ++++++++++--------- .../create-asset-profile-dialog.html | 23 +++++++---- 4 files changed, 41 insertions(+), 35 deletions(-) diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index 67e106ff8..ce6c4a88a 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -365,8 +365,7 @@ export class AdminController { StatusCodes.FORBIDDEN ); } - - return this.adminService.addAssetProfile({ dataSource, symbol }); + return this.adminService.addAssetProfile({ dataSource, symbol,currency:this.request.user.Settings.settings.baseCurrency} ); } @Delete('profile-data/:dataSource/:symbol') diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 608c8dcff..05151d4fa 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -41,15 +41,16 @@ export class AdminService { ) {} public async addAssetProfile({ + currency, dataSource, symbol - }: UniqueAsset): Promise { + }: UniqueAsset & { currency?: string }): Promise { try { if (dataSource === 'MANUAL') return await this.symbolProfileService.add({ - symbol, - currency: DEFAULT_CURRENCY, - dataSource: 'MANUAL' + currency, + dataSource, + symbol }); const assetProfiles = await this.dataProviderService.getAssetProfiles([ diff --git a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts index 611c2e589..50a70026b 100644 --- a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts @@ -24,6 +24,26 @@ import { AdminService } from '@ghostfolio/client/services/admin.service'; templateUrl: 'create-asset-profile-dialog.html' }) export class CreateAssetProfileDialog implements OnInit, OnDestroy { + private atLeastOneValid = (control: AbstractControl): ValidationErrors | null => { + const addSymbolControl = control.get('addSymbol'); + const searchSymbolControl = control.get('searchSymbol'); + + if (addSymbolControl.valid && searchSymbolControl.valid) { + return { atLeastOneValid: true }; + } + + if ( + !searchSymbolControl || + !addSymbolControl || + searchSymbolControl.valid || + addSymbolControl.valid + ) { + return { atLeastOneValid: false }; + } + + return { atLeastOneValid: true }; + }; + public createAssetProfileForm: FormGroup; public selectedOption: string; @@ -41,7 +61,7 @@ export class CreateAssetProfileDialog implements OnInit, OnDestroy { addSymbol: new FormControl(null, [Validators.required]) }, { - validators: atLeastOneValid + validators: this.atLeastOneValid } ); @@ -57,7 +77,6 @@ export class CreateAssetProfileDialog implements OnInit, OnDestroy { } public onSubmit() { - console.log(this.createAssetProfileForm.controls['addSymbol'].value); this.selectedOption === 'auto' ? this.dialogRef.close({ dataSource: @@ -75,22 +94,4 @@ export class CreateAssetProfileDialog implements OnInit, OnDestroy { public ngOnDestroy() {} } -const atLeastOneValid = (control: AbstractControl): ValidationErrors | null => { - const searchSymbolControl = control.get('searchSymbol'); - const addSymbolControl = control.get('addSymbol'); - - if (searchSymbolControl.valid && addSymbolControl.valid) { - return { atLeastOneValid: true }; - } - - if ( - !searchSymbolControl || - !addSymbolControl || - searchSymbolControl.valid || - addSymbolControl.valid - ) { - return null; - } - return { atLeastOneValid: true }; -}; diff --git a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html index 53cd39779..d53019453 100644 --- a/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -7,24 +7,29 @@

Add Asset Profile

- -
+ -
-
+ > + -
+ style="margin-left: 10px;" + > +
@@ -39,7 +44,7 @@
- Symbol + Symbol