@inv2/common
Version:
A common module for v2
278 lines (277 loc) • 7.76 kB
TypeScript
import { RawAxiosRequestHeaders } from 'axios';
import { ZanibalCustomerCreateDto } from '../../_dtos/zanibal-customer-create.dto';
export declare class ZanibalService {
headers: RawAxiosRequestHeaders;
init(): Promise<this>;
createUpdateCustomer: (user: ZanibalCustomerCreateDto) => Promise<{
success: boolean;
status: number;
data: any;
}>;
createPortfolio: ({ customerId, label, portfolioType }: {
customerId: number;
label: string;
portfolioType: string;
}) => Promise<{
success: boolean;
status: number;
message: string;
}>;
fetchCustomer: (zanibalId: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
searchCustomerByBvn: (bvn: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getSecurities: ({ exchange, secType, security_type, page, size }: {
exchange?: string;
secType?: string;
security_type?: any;
page?: any;
size?: any;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getCashAccount: (id: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getAllFunds: () => Promise<{
success: boolean;
status: number;
data: any;
}>;
createFundTransaction: (data: any) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getContractNote: ({ zanibalId, portfolioId, startDate, endDate, page, size }: {
zanibalId: number | string;
portfolioId: number | string;
startDate: Date;
endDate: Date;
page: number;
size: number;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
postFundTransaction: (txn_id: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getPortfolioBalance: (portfolioId: string | number, uParams: {
startDate: Date;
endDate: Date;
currency: string;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getCustomerBalance: (zanibalId: string | number, uParams: {
startDate: Date;
endDate: Date;
currency: string;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getFundTransactions: ({ zanibalId, portfolioId, startDate, endDate, status, fundId, page, size }: {
zanibalId: string | number;
portfolioId: string | number;
startDate: Date;
endDate: Date;
status: string;
fundId: string | number;
page: number;
size: number;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
deleteFundTransaction: (transactionId: string | number) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getSecurityOverview: ({ market, security }: {
market: string;
security: string;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getSecurityDetail: ({ market, security }: {
market: string;
security: string;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getCustomerPortfolio: (customerZanibalId: string | number) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getCustomerPurchasingPower: (id: string | number) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getPortfolioPurchasingPower: (id: string | number) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getChartData: ({ market, name, date, interval }: {
market: string;
name: string;
date: Date;
interval: number;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getOrderTerms: () => Promise<{
success: boolean;
status: number;
data: any;
}>;
getTopGainersLoosers: ({ market, secType, secSubType, type, page, size }: {
market?: string;
secType?: string;
secSubType?: string;
type?: string;
page?: number;
size?: number;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getPortfolioDistribution: (id: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getCustomerPortfolios: (customerId: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getPortfolioHoldings: (portfolioId: number | string) => Promise<{
success: boolean;
status: number;
data: any;
}>;
getTradeOrders: (id: number, filters: {
page: number;
size: number;
orderStatus: string;
startDate: Date;
endDate: Date;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
cancelTradeOrders: (id: string | number) => Promise<{
success: boolean;
status: number;
data: any;
}>;
validateTradeOrder: (data: any) => Promise<{
success: boolean;
status: number;
data: any;
}>;
createTradeOrder: (data: any) => Promise<{
success: boolean;
status: number;
data: any;
}>;
createCashTransaction: (data: any) => Promise<{
success: boolean;
status: number;
data: any;
}>;
postCashTransaction: (transaction_id: string | number) => Promise<{
success: boolean;
status: number;
data: any;
}>;
createCashTransResolver: ({ zanibalId, portfolioId, cashAccountId, amount, currency, options }: {
zanibalId: string | number;
portfolioId: string | number;
cashAccountId: string | number;
amount: number;
currency: string | number;
options: any;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
postCashTransactionCheck: (createCashTransResponse: any, post?: boolean) => Promise<{
success: boolean;
message: string;
data: any;
}>;
createAndPostCashTxn: (createCashTransResponse: any, post?: boolean) => Promise<{
success: boolean;
message: string;
data: any;
}>;
calculatePrice: (orderType: string, quantity: number, marketPrice: number, limitPrice: number, priceType: string) => Promise<{
orderType: string;
fees: number;
consideration: number;
totalConsideration: number;
amount: number;
}>;
fundCashAccount: ({ cashAccountId, amount, user, cashBalance }: {
cashAccountId: string | number;
amount: number;
user: any;
cashBalance: number;
}) => Promise<{
status: boolean;
message: string;
}>;
getMarketNews: ({ marketId, security, page, size, startDate }: {
marketId?: string;
security?: any;
page?: any;
size?: any;
startDate?: any;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
updateZanibalCSCSAndCHN: ({ zanibalId, cscs, chn }: {
zanibalId: number | string;
cscs: string;
chn: string;
}) => Promise<{
success: boolean;
status: number;
data: any;
}>;
}