@cranberry-money/shared-types
Version:
Shared TypeScript type definitions for Blueberry platform
63 lines • 2.16 kB
TypeScript
import type { TRADE_ACTION_BUY, TRADE_ACTION_SELL } from '@cranberry-money/shared-constants';
export type TradeAction = typeof TRADE_ACTION_BUY | typeof TRADE_ACTION_SELL;
export interface TargetTrade {
uuid: string;
targetTradesheet: string;
instrument: string;
instrumentSymbol: string;
instrumentName: string;
quantity: number;
action: TradeAction;
targetPrice: string;
status: string;
expiresAt: string | null;
createdAt: string;
updatedAt: string;
}
export interface TargetTradeSheet {
uuid: string;
portfolio: string;
status: string;
submittedAt: string | null;
createdAt: string;
updatedAt: string;
}
export interface TradeSheet {
uuid: string;
portfolio: string;
targetSheet: string;
createdAt: string;
updatedAt: string;
}
export interface Trade {
uuid: string;
tradesheet: string;
targetTrade: string | null;
instrument: string;
instrumentSymbol: string;
instrumentName: string;
quantity: number;
action: TradeAction;
executedPrice: string;
executedDate: string;
status: string;
settlementDate: string | null;
currency: string | null;
createdAt: string;
updatedAt: string;
}
export type CreateTargetTrade = Omit<TargetTrade, 'uuid' | 'instrumentSymbol' | 'instrumentName' | 'status' | 'expiresAt' | 'createdAt' | 'updatedAt'>;
export type UpdateTargetTrade = Partial<Omit<TargetTrade, 'uuid' | 'instrumentSymbol' | 'instrumentName' | 'createdAt' | 'updatedAt'>>;
export type CreateTargetTradeSheet = Omit<TargetTradeSheet, 'uuid' | 'status' | 'submittedAt' | 'createdAt' | 'updatedAt'>;
export type UpdateTargetTradeSheet = Partial<Omit<TargetTradeSheet, 'uuid' | 'createdAt' | 'updatedAt'>>;
import type { BaseOperationResponse } from '../../common/base-patterns';
export interface TargetTradeSheetApprovalResponse extends BaseOperationResponse {
status: string;
approvedAt: string;
approvedTradesCount: number;
}
export interface TargetTradeSheetCleanResponse extends BaseOperationResponse {
status: string;
deletedTradesCount: number;
}
//# sourceMappingURL=trade.d.ts.map