Browse Source

First try adding tag to portfolio performance analysis

pull/5027/head
Dan 2 years ago
parent
commit
a6880e1aff
  1. 27
      apps/api/src/app/order/order.service.ts
  2. 1
      apps/api/src/app/portfolio/portfolio.service.ts
  3. 9
      apps/api/src/services/tag/tag.service.ts

27
apps/api/src/app/order/order.service.ts

@ -298,13 +298,30 @@ export class OrderService {
} }
if (filtersByTag?.length > 0) { if (filtersByTag?.length > 0) {
where.tags = { where.OR = [
{
tags: {
some: {
OR: filtersByTag.map(({ id }) => {
return {
id: id
};
})
}
}
},
{
SymbolProfile: {
tags: {
some: { some: {
OR: filtersByTag.map(({ id }) => { OR: filtersByTag.map(({ id }) => {
return { id }; return { id };
}) })
} }
}; }
}
}
];
} }
if (types) { if (types) {
@ -330,7 +347,11 @@ export class OrderService {
} }
}, },
// eslint-disable-next-line @typescript-eslint/naming-convention // eslint-disable-next-line @typescript-eslint/naming-convention
SymbolProfile: true, SymbolProfile: {
include: {
tags: true
}
},
tags: true tags: true
}, },
orderBy: { date: 'asc' } orderBy: { date: 'asc' }

1
apps/api/src/app/portfolio/portfolio.service.ts

@ -1190,6 +1190,7 @@ export class PortfolioService {
dataProviderResponses[position.symbol]?.marketState ?? 'delayed', dataProviderResponses[position.symbol]?.marketState ?? 'delayed',
name: symbolProfileMap[position.symbol].name, name: symbolProfileMap[position.symbol].name,
netPerformance: position.netPerformance?.toNumber() ?? null, netPerformance: position.netPerformance?.toNumber() ?? null,
tags: symbolProfileMap[position.symbol].tags,
netPerformancePercentage: netPerformancePercentage:
position.netPerformancePercentage?.toNumber() ?? null, position.netPerformancePercentage?.toNumber() ?? null,
quantity: new Big(position.quantity).toNumber() quantity: new Big(position.quantity).toNumber()

9
apps/api/src/services/tag/tag.service.ts

@ -19,11 +19,20 @@ export class TagService {
name: 'asc' name: 'asc'
}, },
where: { where: {
OR: [
{
orders: { orders: {
some: { some: {
userId userId
} }
} }
},
{
symbolProfile: {
some: {}
}
}
]
} }
}); });
} }

Loading…
Cancel
Save