@openfin/bloomberg
Version:
Connect apps running in OpenFin with the Bloomberg Terminal.
366 lines (365 loc) • 9.76 kB
TypeScript
/**
* A collection of type definitions for use when making GraphQL requests to Bloomberg’s Terminal Connect API using the `BloombergConnection.executeApiRequest` function.
*/
export declare namespace TerminalConnectApiTypes {
/**
* Entity type for an alert.
*
* @group Types
*/
interface Alert {
active?: boolean;
conditions?: AlertCondition[];
expiry?: string;
frequency?: AlertFrequency;
id?: string;
note?: string;
revision?: number;
source?: {
sourceId?: string;
}[];
timeRange?: AlertTimeRange;
}
/**
* Entity type for an {@link Alert | alert} condition.
*
* @group Types
*/
interface AlertCondition {
conditionField?: string;
conditionValue?: number;
operator?: AlertConditionOperator;
}
/**
* Possible operator values for {@link Alert | alert} conditions.
*
* @group Types
*/
type AlertConditionOperator = 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO' | 'EQUAL_TO' | 'CROSS' | 'CROSS_DOWN' | 'CROSS_UP';
/**
* Possible frequency values for {@link Alert | alerts}.
*
* @group Types
*/
type AlertFrequency = 'ONCE_PER_DAY';
/**
* Result type for the `alerts` and `alertsById` queries.
*
* @group Types
*/
interface AlertsResult {
alerts: {
edges?: {
cursor?: string;
node?: Alert;
}[];
itemCount?: number;
pageInfo?: PageInfo;
} & Error;
}
/**
* Entity type for {@link Alert | alert} time info.
*
* @group Types
*/
interface AlertTime {
hours?: number;
minutes?: number;
}
/**
* Entity type for an {@link Alert | alert} time range.
*
* @group Types
*/
interface AlertTimeRange {
end?: AlertTime;
start?: AlertTime;
timezone?: AlertTimeZone;
}
/**
* Possible time zone values for {@link Alert | alert} time ranges.
*
* @group Types
*/
type AlertTimeZone = 'PACIFIC_HONOLULU' | 'PACIFIC_PAGO_PAGO' | 'PACIFIC_NORFOLK' | 'PACIFIC_FIJI' | 'PACIFIC_APIA' | 'PACIFIC_KIRITIMATI' | 'PACIFIC_AUCKLAND' | 'ATLANTIC_CAPE_VERDE' | 'ATLANTIC_AZORES' | 'AMERICA_NORONHA' | 'AMERICA_ST_JOHNS' | 'AMERICA_ARGENTINA_BUENOS_AIRES' | 'AMERICA_SANTIAGO' | 'AMERICA_TORONTO' | 'AMERICA_PANAMA' | 'AMERICA_GUATEMALA' | 'AMERICA_DENVER' | 'AMERICA_MEXICO_CITY' | 'AMERICA_VANCOUVER' | 'AMERICA_ANCHORAGE' | 'AMERICA_LOS_ANGELES' | 'AMERICA_PHOENIX' | 'AMERICA_CHICAGO' | 'AMERICA_NEW_YORK' | 'AMERICA_PUERTO_RICO' | 'AFRICA_ABIDJAN' | 'AFRICA_JOHANNESBURG' | 'AFRICA_NAIROBI' | 'EUROPE_LISBON' | 'EUROPE_ISTANBUL' | 'EUROPE_AMSTERDAM' | 'EUROPE_BRUSSELS' | 'EUROPE_MADRID' | 'EUROPE_PARIS' | 'EUROPE_WARSAW' | 'EUROPE_ZURICH' | 'EUROPE_LONDON' | 'EUROPE_BERLIN' | 'EUROPE_MOSCOW' | 'ASIA_BAGHDAD' | 'ASIA_BEIRUT' | 'ASIA_JERUSALEM' | 'ASIA_KOLKATA' | 'ASIA_DUBAI' | 'ASIA_BANGKOK' | 'ASIA_SINGAPORE' | 'ASIA_TOKYO' | 'ASIA_HO_CHI_MINH' | 'ASIA_SHANGHAI' | 'ASIA_MACAU' | 'ASIA_HONG_KONG' | 'ASIA_SEOUL' | 'INDIAN_MALDIVES' | 'INDIAN_CHAGOS' | 'AUSTRALIA_SYDNEY';
/**
* Result type for the `appendSecuritiesToWorksheet` mutation.
*
* @group Types
*/
interface AppendSecuritiesToWorksheetResult {
appendSecuritiesToWorksheet: Worksheet & Error;
}
/**
* Result type for the `bssoToken` query.
*
* @group Types
*/
interface BssoTokenResult {
bssoToken: {
accessToken?: string;
} & Error;
}
/**
* Entity type for an individual Launchpad component window.
*
* @group Types
*/
interface Component {
compId?: string;
name?: string;
tag?: string;
title?: string;
}
/**
* Result type for the `components` query.
*
* @group Types
*/
interface ComponentsResult {
components: {
items?: Component[];
} & Error;
}
/**
* Result type for the `createLimitAlert` mutation.
*
* @group Types
*/
interface CreateAlertResult {
createLimitAlert: Alert & Error;
}
/**
* Result type for the `createWorksheet` mutation.
*
* @group Types
*/
interface CreateWorksheetResult {
createWorksheet: Worksheet & Error;
}
/**
* Result type for the `deleteAlert` mutation.
*
* @group Types
*/
interface DeleteAlertResult {
deleteAlert: {
successful?: boolean;
} & Error;
}
/**
* Entity type for a Terminal Connect operation error.
*
* @group Types
*/
interface Error {
errorCategory?: 'AUTHORIZATION' | 'ERROR' | 'INVALID_INPUT' | 'RATE_LIMIT_EXCEEDED' | 'TIMEOUT';
errorMessage?: string;
}
/**
* Entity type for an individual Launchpad group.
*
* @group Types
*/
interface Group {
id?: number;
name?: string;
type?: string;
value: string;
}
/**
* Result type for the `subscribeGroupEvents` subscription.
*
* @group Types
*/
interface GroupEvent {
subscribeGroupEvents: {
data?: string;
group?: Group;
type?: GroupEventType;
};
}
/**
* Possible values for {@link GroupEvent | group event} types.
*
* @group Types
*/
type GroupEventType = 'ANY' | 'CREATED' | 'DELETED' | 'RENAMED' | 'VALUE_CHANGED';
/**
* Result type for the `groups` query.
*
* @group Types
*/
interface GroupsResult {
groups: {
items?: Group[];
} & Error;
}
/**
* Result type for the `openInLaunchpad` mutation.
*
* @group Types
*/
interface OpenInLaunchpadResult {
openInLaunchpad: Component & Error;
}
/**
* Result type used for a number of different mutations.
*
* @group Types
*/
interface OperationResult {
details?: string;
succeeded?: boolean;
}
/**
* Entity type for paging info.
*
* @group Types
*/
interface PageInfo {
endCursor?: string;
hasNextPage?: boolean;
hasPreviousPage?: boolean;
startCursor?: string;
}
/**
* Result type for the `publishAlertEvent` mutation.
*
* @group Types
*/
interface PublishAlertEventResult {
publishAlertEvent: {
successful?: boolean;
} & Error;
}
/**
* Result type for the `removeSecuritiesFromWorksheet` mutation.
*
* @group Types
*/
interface RemoveSecuritiesFromWorksheetResult {
removeSecuritiesFromWorksheet: Worksheet & Error;
}
/**
* Result type for the `replaceSecuritiesInWorksheet` mutation.
*
* @group Types
*/
interface ReplaceSecuritiesInWorksheetResult {
replaceSecuritiesInWorksheet: Worksheet & Error;
}
/**
* Result type for the `runFunctionInPanel` mutation.
*
* @group Types
*/
interface RunFunctionInPanelResult {
runFunctionInPanel: OperationResult & Error;
}
/**
* Result type for the `runFunctionInTab` mutation.
*
* @group Types
*/
interface RunFunctionInTabResult {
runFunctionInTab: OperationResult & Error;
}
/**
* Result type for the `securities` query.
*
* @group Types
*/
interface SecuritiesResult {
securities: {
edges?: {
cursor?: string;
node?: Security;
}[];
itemCount?: number;
pageInfo?: PageInfo;
} & Error;
}
/**
* Entity type for an individual security.
*
* @group Types
*/
interface Security {
id?: string;
name?: string;
}
/**
* Result type for the `setGroupValue` mutation.
*
* @group Types
*/
interface SetGroupValueResult {
setGroupValue: {
results?: OperationResult[];
} & Error;
}
/**
* Result type for the `updateLimitAlert` mutation.
*
* @group Types
*/
interface UpdateAlertResult {
updateLimitAlert: Alert & Error;
}
/**
* Result type for the `updateComponent` mutation.
*
* @group Types
*/
interface UpdateComponentResult {
updateComponent: OperationResult & Error;
}
/**
* Entity type for an individual worksheet.
*
* @group Types
*/
interface Worksheet {
id?: string;
isOpen?: boolean;
name?: string;
securities: WorksheetSecuritiesResult;
}
/**
* Result type for the collection of securities returned in a {@link Worksheet | worksheet}.
*
* @group Types
*/
interface WorksheetSecuritiesResult {
edges?: {
cursor?: string;
node?: WorksheetSecurity;
}[];
itemCount?: number;
pageInfo?: PageInfo;
}
/**
* Entity type for an individual worksheet security.
*
* @group Types
*/
interface WorksheetSecurity {
id?: string;
}
/**
* Result type for the `worksheets` and `worksheetsById` queries.
*
* @group Types
*/
interface WorksheetsResult {
worksheets: {
edges?: {
cursor?: string;
node?: Worksheet;
}[];
itemCount?: number;
pageInfo?: PageInfo;
} & Error;
}
}