Browse Source

Feature/update asset profile handling for manual data source and improve UI styling

pull/6975/head
AyushMishraa 7 days ago
parent
commit
c61eb9b471
  1. 22
      apps/api/src/app/admin/admin.service.ts
  2. 4
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss
  3. 12
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  4. 2
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

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

@ -610,6 +610,20 @@ export class AdminService {
url: url as string url: url as string
}; };
// Check if we need to delete SymbolProfileOverrides when converting to MANUAL
let deleteOverrides = false;
if (finalDataSource === 'MANUAL') {
const [renamedProfile] =
await this.symbolProfileService.getSymbolProfiles([
{
dataSource: finalDataSource,
symbol: newSymbol as string
}
]);
deleteOverrides = !!renamedProfile?.SymbolProfileOverrides;
}
const updatedSymbolProfile: Prisma.SymbolProfileUpdateInput = { const updatedSymbolProfile: Prisma.SymbolProfileUpdateInput = {
comment, comment,
currency, currency,
@ -625,9 +639,11 @@ export class AdminService {
name, name,
sectors, sectors,
url, url,
SymbolProfileOverrides: { ...(deleteOverrides && {
delete: true SymbolProfileOverrides: {
} delete: true
}
})
} }
: { : {
SymbolProfileOverrides: { SymbolProfileOverrides: {

4
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss

@ -13,9 +13,5 @@
right: 1rem; right: 1rem;
top: 0; top: 0;
} }
.text-muted {
margin: 1rem 0;
}
} }
} }

12
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts

@ -716,19 +716,19 @@ export class GfAssetProfileDialogComponent implements OnInit {
}, },
{ {
assetClass: assetClass:
this.assetProfileForm.controls.assetClass.value ?? undefined, this.assetProfileForm.controls.assetClass?.value ?? undefined,
assetSubClass: assetSubClass:
this.assetProfileForm.controls.assetSubClass.value ?? undefined, this.assetProfileForm.controls.assetSubClass?.value ?? undefined,
countries: JSON.parse( countries: JSON.parse(
this.assetProfileForm.controls.countries.value ?? '[]' this.assetProfileForm.controls.countries?.value ?? '[]'
) as Prisma.InputJsonArray, ) as Prisma.InputJsonArray,
dataSource: 'MANUAL' as DataSource, dataSource: 'MANUAL' as DataSource,
name: this.assetProfileForm.controls.name.value || undefined, name: this.assetProfileForm.controls.name?.value || undefined,
sectors: JSON.parse( sectors: JSON.parse(
this.assetProfileForm.controls.sectors.value ?? '[]' this.assetProfileForm.controls.sectors?.value ?? '[]'
) as Prisma.InputJsonArray, ) as Prisma.InputJsonArray,
symbol: uuid, symbol: uuid,
url: this.assetProfileForm.controls.url.value || undefined url: this.assetProfileForm.controls.url?.value || undefined
} }
) )
.pipe( .pipe(

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

@ -162,7 +162,7 @@
<ng-container i18n>Cancel</ng-container> <ng-container i18n>Cancel</ng-container>
</button> </button>
</form> </form>
<p class="text-muted">or</p> <p class="my-1">or</p>
<button <button
class="no-min-width px-2" class="no-min-width px-2"
color="accent" color="accent"

Loading…
Cancel
Save