Browse Source

review change

- replace forEach with map
- adjust order of param/variable
- adjust method order
pull/2448/head
Kevin Lien 2 years ago
committed by Thomas
parent
commit
4bd719e68a
  1. 21
      apps/api/src/app/admin/admin.controller.ts
  2. 23
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  3. 6
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

21
apps/api/src/app/admin/admin.controller.ts

@ -314,11 +314,11 @@ export class AdminController {
return this.adminService.getMarketDataBySymbol({ dataSource, symbol });
}
@UseGuards(AuthGuard('jwt'))
@Post('market-data/:dataSource/:symbol')
@UseGuards(AuthGuard('jwt'))
public async updateMarketData(
@Param('dataSource') dataSourceParam: DataSource,
@Param('symbol') symbolParam: string,
@Param('dataSource') dataSource: DataSource,
@Param('symbol') symbol: string,
@Body() data: UpdateBulkMarketDataDto
) {
if (
@ -332,16 +332,17 @@ export class AdminController {
StatusCodes.FORBIDDEN
);
}
const dataBulkUpdate: Prisma.MarketDataUpdateInput[] = [];
data.marketData.forEach((entry) => {
dataBulkUpdate.push({
dataSource: dataSourceParam,
symbol: symbolParam,
const dataBulkUpdate: Prisma.MarketDataUpdateInput[] = data.marketData.map(
(entry) => ({
dataSource: dataSource,
symbol: symbol,
date: entry.date,
marketPrice: entry.marketPrice,
state: 'CLOSE'
});
});
})
);
return this.marketDataService.updateMany({
data: dataBulkUpdate
});

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

@ -45,8 +45,8 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
public countries: {
[code: string]: { name: string; value: number };
};
public isBenchmark = false;
public historicalDataAsString: string;
public isBenchmark = false;
public marketDataDetails: MarketData[] = [];
public sectors: {
[name: string]: { name: string; value: number };
@ -203,23 +203,19 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
});
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
public importHistoricalData() {
const inputHistoricalData = this.historicalDataAsString;
const inputSplittedByLine = inputHistoricalData.split('\n');
const dataBulkUpdate: UpdateMarketDataDto[] = [];
inputSplittedByLine.forEach((line) => {
const dataBulkUpdate: UpdateMarketDataDto[] = inputSplittedByLine.map(
(line) => {
const inputSplittedBySeparator = line.split(';');
const inputDate = parseISO(inputSplittedBySeparator[0]);
dataBulkUpdate.push({
return {
date: inputDate,
marketPrice: Number(inputSplittedBySeparator[1])
});
});
};
}
);
this.adminService
.postMarketData({
@ -234,4 +230,9 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
this.historicalDataAsString = '';
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();
}
}

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

@ -54,7 +54,9 @@
<div class="mt-3">
<mat-form-field appearance="outline" class="w-100">
<mat-label i18n>Historical Data</mat-label>
<mat-label>
<ng-container i18n>Historical Data</ng-container> (CSV)
</mat-label>
<textarea
cdkAutosizeMaxRows="5"
cdkTextareaAutosize
@ -68,7 +70,7 @@
</div>
<div class="d-flex justify-content-end" mat-dialog-actions>
<button color="warn" mat-flat-button (click)="importHistoricalData()">
<button color="accent" mat-flat-button (click)="importHistoricalData()">
<ng-container i18n>Import historical Data </ng-container>
</button>
</div>

Loading…
Cancel
Save