Browse Source

Task/improve typings of getOrderById() functionality (#5810)

* Improve typings of getOrderById() functionality
pull/5554/merge
Harsh Santwani 4 days ago
committed by GitHub
parent
commit
9b51c2da5d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 5
      apps/api/src/app/order/order.controller.ts
  2. 8
      apps/client/src/app/services/data.service.ts
  3. 2
      libs/common/src/lib/interfaces/index.ts
  4. 3
      libs/common/src/lib/interfaces/responses/activity-response.interface.ts

5
apps/api/src/app/order/order.controller.ts

@ -11,6 +11,7 @@ import {
DATA_GATHERING_QUEUE_PRIORITY_HIGH,
HEADER_KEY_IMPERSONATION
} from '@ghostfolio/common/config';
import { ActivityResponse } from '@ghostfolio/common/interfaces';
import { permissions } from '@ghostfolio/common/permissions';
import type { DateRange, RequestWithUser } from '@ghostfolio/common/types';
@ -36,7 +37,7 @@ import { parseISO } from 'date-fns';
import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { CreateOrderDto } from './create-order.dto';
import { Activities, Activity } from './interfaces/activities.interface';
import { Activities } from './interfaces/activities.interface';
import { OrderService } from './order.service';
import { UpdateOrderDto } from './update-order.dto';
@ -157,7 +158,7 @@ export class OrderController {
public async getOrderById(
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string,
@Param('id') id: string
): Promise<Activity> {
): Promise<ActivityResponse> {
const impersonationUserId =
await this.impersonationService.validateImpersonationId(impersonationId);
const userCurrency = this.request.user.settings.settings.baseCurrency;

8
apps/client/src/app/services/data.service.ts

@ -9,10 +9,7 @@ import { CreateTagDto } from '@ghostfolio/api/app/endpoints/tags/create-tag.dto'
import { UpdateTagDto } from '@ghostfolio/api/app/endpoints/tags/update-tag.dto';
import { CreateWatchlistItemDto } from '@ghostfolio/api/app/endpoints/watchlist/create-watchlist-item.dto';
import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto';
import {
Activities,
Activity
} from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { Activities } from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto';
import { SymbolItem } from '@ghostfolio/api/app/symbol/interfaces/symbol-item.interface';
import { DeleteOwnUserDto } from '@ghostfolio/api/app/user/delete-own-user.dto';
@ -27,6 +24,7 @@ import {
AccessTokenResponse,
AccountBalancesResponse,
AccountsResponse,
ActivityResponse,
AiPromptResponse,
ApiKeyResponse,
AssetProfileIdentifier,
@ -248,7 +246,7 @@ export class DataService {
}
public fetchActivity(aActivityId: string) {
return this.http.get<Activity>(`/api/v1/order/${aActivityId}`).pipe(
return this.http.get<ActivityResponse>(`/api/v1/order/${aActivityId}`).pipe(
map((activity) => {
activity.createdAt = parseISO(activity.createdAt as unknown as string);
activity.date = parseISO(activity.date as unknown as string);

2
libs/common/src/lib/interfaces/index.ts

@ -37,6 +37,7 @@ import type { Product } from './product';
import type { AccessTokenResponse } from './responses/access-token-response.interface';
import type { AccountBalancesResponse } from './responses/account-balances-response.interface';
import type { AccountsResponse } from './responses/accounts-response.interface';
import type { ActivityResponse } from './responses/activity-response.interface';
import type { AiPromptResponse } from './responses/ai-prompt-response.interface';
import type { ApiKeyResponse } from './responses/api-key-response.interface';
import type { AssetResponse } from './responses/asset-response.interface';
@ -82,6 +83,7 @@ export {
AccountBalance,
AccountBalancesResponse,
AccountsResponse,
ActivityResponse,
AdminData,
AdminJobs,
AdminMarketData,

3
libs/common/src/lib/interfaces/responses/activity-response.interface.ts

@ -0,0 +1,3 @@
import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
export interface ActivityResponse extends Activity {}
Loading…
Cancel
Save