Browse Source

Changed as per requested Review

pull/2479/head
Manushreshta B L 2 years ago
parent
commit
2167576b56
  1. 3
      apps/api/src/app/admin/admin.controller.ts
  2. 9
      apps/api/src/app/admin/admin.service.ts
  3. 41
      apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.component.ts
  4. 23
      apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html

3
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')

9
apps/api/src/app/admin/admin.service.ts

@ -41,15 +41,16 @@ export class AdminService {
) {}
public async addAssetProfile({
currency,
dataSource,
symbol
}: UniqueAsset): Promise<SymbolProfile | never> {
}: UniqueAsset & { currency?: string }): Promise<SymbolProfile | never> {
try {
if (dataSource === 'MANUAL')
return await this.symbolProfileService.add({
symbol,
currency: DEFAULT_CURRENCY,
dataSource: 'MANUAL'
currency,
dataSource,
symbol
});
const assetProfiles = await this.dataProviderService.getAssetProfiles([

41
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 };
};

23
apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html

@ -7,24 +7,29 @@
<h1 i18n mat-dialog-title>Add Asset Profile</h1>
<div class="flex-grow-1 py-3" mat-dialog-content>
<div class="my-2">
<mat-radio-group name="radioOptions" [(ngModel)]="selectedOption">
<div class="flex">
<mat-radio-group color="primary" formControlName="selectedOption" name="radioOptions">
<mat-radio-button
i18n
name="auto"
value="auto"
[checked]="selectedOption==='auto'"
(click)="onRadioChange('auto')"
></mat-radio-button
><label for="auto">Search</label>
</div>
<div class="flex">
>
<label for="auto">
Search
</label>
<mat-radio-button
i18n
name="manual"
value="manual"
(click)="onRadioChange('manual')"
></mat-radio-button
><label for="auto">Add Manually</label>
</div>
style="margin-left: 10px;"
> </mat-radio-button
>
<label for="manual">
Add Manually
</label>
</mat-radio-group>
</div>
@ -39,7 +44,7 @@
</div>
<div *ngIf="selectedOption === 'manual'">
<mat-form-field appearance="outline" class="w-100">
<mat-label>Symbol</mat-label>
<mat-label i18n>Symbol</mat-label>
<input
formControlName="addSymbol"
matInput

Loading…
Cancel
Save