Browse Source

refactor: fixed position of switch case

pull/5834/head
Vansh 3 days ago
parent
commit
116cc9ae56
  1. 57
      apps/api/src/app/endpoints/ai/ai.service.ts

57
apps/api/src/app/endpoints/ai/ai.service.ts

@ -28,36 +28,6 @@ const HOLDINGS_TABLE_COLUMNS: ({ key: string } & ColumnDescriptor)[] = [
{ key: 'ASSET_SUB_CLASS', name: 'Asset Sub Class' }
];
// Helper function to get column value for holdings table
const getColumnValue = (
key: string,
holding: {
currency: string;
name: string;
symbol: string;
assetClass?: string;
allocationInPercentage: number;
assetSubClass?: string;
}
) => {
switch (key) {
case 'CURRENCY':
return holding.currency;
case 'NAME':
return holding.name;
case 'SYMBOL':
return holding.symbol;
case 'ASSET_CLASS':
return holding.assetClass ?? '';
case 'ALLOCATION_PERCENTAGE':
return `${(holding.allocationInPercentage * 100).toFixed(3)}%`;
case 'ASSET_SUB_CLASS':
return holding.assetSubClass ?? '';
default:
return '';
}
};
@Injectable()
export class AiService {
public constructor(
@ -106,7 +76,7 @@ export class AiService {
});
const holdingsTableColumns: ColumnDescriptor[] = HOLDINGS_TABLE_COLUMNS.map(
({ name, align }) => {
({ align, name }) => {
return { name, align: align ?? 'left' };
}
);
@ -118,7 +88,30 @@ export class AiService {
.map((holding) => {
return HOLDINGS_TABLE_COLUMNS.reduce(
(row, { key, name }) => {
row[name] = getColumnValue(key, holding);
switch (key) {
case 'CURRENCY':
row[name] = holding.currency;
break;
case 'NAME':
row[name] = holding.name;
break;
case 'SYMBOL':
row[name] = holding.symbol;
break;
case 'ASSET_CLASS':
row[name] = holding.assetClass ?? '';
break;
case 'ALLOCATION_PERCENTAGE':
row[name] =
`${(holding.allocationInPercentage * 100).toFixed(3)}%`;
break;
case 'ASSET_SUB_CLASS':
row[name] = holding.assetSubClass ?? '';
break;
default:
row[name] = '';
break;
}
return row;
},
{} as Record<string, string>

Loading…
Cancel
Save