laplace-api
Version:
Client library for Laplace API for the US stock market and BIST (Istanbul stock market) fundamental financial data.
75 lines (65 loc) • 1.71 kB
text/typescript
import { Client } from "./client";
export interface Politician {
id: number;
politicianName: string;
totalHoldings: number;
lastUpdated: Date;
}
export interface Holding {
politicianName: string;
symbol: string;
company: string;
holding: string;
allocation: string;
lastUpdated: Date;
}
export interface HoldingShort {
symbol: string;
company: string;
holding: string;
allocation: string;
}
export interface TopHolding {
symbol: string;
company: string;
politicians: TopHoldingPolitician[];
count: number;
}
export interface TopHoldingPolitician {
name: string;
holding: string;
allocation: string;
}
export interface PoliticianDetail {
id: number;
name: string;
holdings: HoldingShort[];
totalHoldings: number;
lastUpdated: Date;
}
export class PoliticianClient extends Client {
async getAllPolitician(): Promise<Politician[]> {
return await this.sendRequest<Politician[]>({
method: 'GET',
url: `/api/v1/politician`,
});
}
async getPoliticianHoldingBySymbol(symbol: string): Promise<Holding[]> {
return await this.sendRequest<Holding[]>({
method: 'GET',
url: `/api/v1/holding/${symbol}`
})
}
async getAllTopHoldings(): Promise<TopHolding[]> {
return await this.sendRequest<TopHolding[]>({
method: 'GET',
url: `/api/v1/top-holding`
})
}
async getPoliticianDetail(id: number): Promise<PoliticianDetail> {
return await this.sendRequest<PoliticianDetail>({
method: 'GET',
url: `/api/v1/politician/${id}`
})
}
}