UNPKG

@finbourne/lusid-sdk-angular18

Version:

An Angular (18) SDK for secure access to the LUSID® by FINBOURNE web API

331 lines (330 loc) 22.3 kB
import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { Observable } from 'rxjs'; import { AccessMetadataOperation } from '../model/accessMetadataOperation'; import { AccessMetadataValue } from '../model/accessMetadataValue'; import { DeletedEntityResponse } from '../model/deletedEntityResponse'; import { InvestmentAccount } from '../model/investmentAccount'; import { ResourceListOfInvestmentAccount } from '../model/resourceListOfInvestmentAccount'; import { ResourceListOfRelationship } from '../model/resourceListOfRelationship'; import { UpsertInvestmentAccountRequest } from '../model/upsertInvestmentAccountRequest'; import { UpsertInvestmentAccountsResponse } from '../model/upsertInvestmentAccountsResponse'; import { Configuration } from '../configuration'; import * as i0 from "@angular/core"; export interface DeleteInvestmentAccountRequestParams { /** Code of the investment account identifier type. */ identifierType: string; /** Code of the investment account under specified identifier type\&#39;s scope and code. */ identifierValue: string; /** The scope of the investment account entity. */ scope: string; /** Scope of the investment account identifier type. */ identifierScope: string; } export interface DeleteInvestmentAccountAccessMetadataRequestParams { /** Code of the investment account identifier type. */ identifierType: string; /** Code of the investment account under specified identifier type\&#39;s scope and code. */ identifierValue: string; /** Key of the metadata entry to delete */ metadataKey: string; /** The scope of the investment account entity. */ scope: string; /** Scope of the investment account identifier type. */ identifierScope: string; /** The effective date to delete at, if this is not supplied, it will delete all data found */ effectiveAt?: string; /** The effective date until which the delete is valid. If not supplied this will be valid indefinitely, or until the next \&#39;effectiveAt\&#39; date of the Access Metadata */ effectiveUntil?: string; } export interface GetAllInvestmentAccountAccessMetadataRequestParams { /** Code of the investment account identifier type. */ identifierType: string; /** Code of the investment account under specified identifier type\&#39;s scope and code. */ identifierValue: string; /** The scope of the investment account entity. */ scope: string; /** Scope of the investment account identifier type. */ identifierScope: string; /** The effectiveAt datetime at which to retrieve the Access Metadata */ effectiveAt?: string; /** The asAt datetime at which to retrieve the Access Metadata */ asAt?: string; } export interface GetInvestmentAccountRequestParams { /** Code of the investment account identifier type. */ identifierType: string; /** Code of the investment account under specified identifier type\&#39;s scope and code. */ identifierValue: string; /** The scope of the investment account entity. */ scope: string; /** Scope of the investment account identifier type. */ identifierScope: string; /** A list of property keys or identifier types (as property keys) from the \&quot;InvestmentAccount\&quot; domain to include for found investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \&quot;InvestmentAccount/ContactDetails/Address\&quot;. */ propertyKeys?: Array<string>; /** The effective datetime or cut label at which to retrieve the investment account. Defaults to the current LUSID system datetime if not specified. */ effectiveAt?: string; /** The asAt datetime at which to retrieve the investment account. Defaults to return the latest version of the investment account if not specified. */ asAt?: string; /** A list of relationship definitions that are used to decorate related entities onto the investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}. */ relationshipDefinitionIds?: Array<string>; } export interface GetInvestmentAccountRelationshipsRequestParams { /** Code of the investment account identifier type. */ identifierType: string; /** Code of the investment account under specified identifier type\&#39;s scope and code. */ identifierValue: string; /** The scope of the investment account entity. */ scope: string; /** Scope of the investment account identifier type. */ identifierScope: string; /** The effective datetime or cut label at which to get relationships. Defaults to the current LUSID system datetime if not specified. */ effectiveAt?: string; /** The asAt datetime at which to retrieve relationships. Defaults to return the latest LUSID AsAt time if not specified. */ asAt?: string; /** Expression to filter relationships. Users should provide null or empty string for this field until further notice. */ filter?: string; /** Identifier types (as property keys) used for referencing Persons or Legal Entities. These can be specified from the \&#39;Person\&#39; or \&#39;LegalEntity\&#39; domains and have the format {domain}/{scope}/{code}, for example \&#39;Person/CompanyDetails/Role\&#39;. An Empty array may be used to return all related Entities. */ identifierTypes?: Array<string>; } export interface ListAllInvestmentAccountsRequestParams { /** The effective datetime or cut label at which to list the investment accounts. Defaults to the current LUSID system datetime if not specified. */ effectiveAt?: string; /** The asAt datetime at which to list the investment accounts. Defaults to return the latest version of each investment accounts if not specified. */ asAt?: string; /** The pagination token to use to continue listing investment accounts from a previous call to list investment accounts. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request. */ page?: string; /** When paginating, limit the number of returned results to this many. Defaults to 5000 if not specified. */ limit?: number; /** Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */ filter?: string; /** A list of field names or properties to sort by, each suffixed by \&quot; ASC\&quot; or \&quot; DESC\&quot;. */ sortBy?: Array<string>; /** A list of property keys or identifier types (as property keys) from the \&quot;InvestmentAccount\&quot; domain to include for each investment account, or from any domain that supports relationships to decorate onto related entities. These take the format {domain}/{scope}/{code} e.g. \&quot;InvestmentAccount/ContactDetails/Address\&quot;. */ propertyKeys?: Array<string>; /** A list of relationship definitions that are used to decorate related entities onto each investment account in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}. */ relationshipDefinitionIds?: Array<string>; } export interface PatchInvestmentAccountAccessMetadataRequestParams { /** Code of the investment account identifier type. */ identifierType: string; /** Code of the investment account under specified identifier type\&#39;s scope and code. */ identifierValue: string; /** The scope of the investment account entity. */ scope: string; /** Scope of the investment account identifier type. */ identifierScope: string; /** The Json Patch document */ accessMetadataOperation: Array<AccessMetadataOperation>; /** The effectiveAt datetime at which to upsert the Access Metadata */ effectiveAt?: string; /** The effective datetime until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next \&#39;effectiveAt\&#39; datetime of the Access Metadata */ effectiveUntil?: string; } export interface UpsertInvestmentAccountsRequestParams { /** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial */ successMode: string; /** A collection of requests to create or update Investment Accounts. */ requestBody: { [key: string]: UpsertInvestmentAccountRequest; }; } export declare class InvestmentAccountsService { protected httpClient: HttpClient; protected basePath: string; defaultHeaders: HttpHeaders; configuration: Configuration; encoder: HttpParameterCodec; constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration); private addToHttpParams; private addToHttpParamsRecursive; /** * [EXPERIMENTAL] DeleteInvestmentAccount: Delete Investment Account * Delete an investment account. Deletion will be valid from the investment account\&#39;s creation datetime. This means that the investment account will no longer exist at any effective datetime from the asAt datetime of deletion. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ deleteInvestmentAccount(requestParameters?: DeleteInvestmentAccountRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<DeletedEntityResponse>; deleteInvestmentAccount(requestParameters?: DeleteInvestmentAccountRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<DeletedEntityResponse>>; deleteInvestmentAccount(requestParameters?: DeleteInvestmentAccountRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<DeletedEntityResponse>>; /** * [EXPERIMENTAL] DeleteInvestmentAccountAccessMetadata: Delete an Investment Account Access Metadata entry. * Deletes the Investment Account Access Metadata entry that exactly matches the provided identifier parts. It is important to always check to verify success (or failure). * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ deleteInvestmentAccountAccessMetadata(requestParameters?: DeleteInvestmentAccountAccessMetadataRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<DeletedEntityResponse>; deleteInvestmentAccountAccessMetadata(requestParameters?: DeleteInvestmentAccountAccessMetadataRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<DeletedEntityResponse>>; deleteInvestmentAccountAccessMetadata(requestParameters?: DeleteInvestmentAccountAccessMetadataRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<DeletedEntityResponse>>; /** * [EXPERIMENTAL] GetAllInvestmentAccountAccessMetadata: Get Access Metadata rules for an Investment Account. * Pass the Scope and Code of the Investment Account identifier along with the identifier value parameter to retrieve the associated Access Metadata. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ getAllInvestmentAccountAccessMetadata(requestParameters?: GetAllInvestmentAccountAccessMetadataRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<{ [key: string]: Array<AccessMetadataValue>; }>; getAllInvestmentAccountAccessMetadata(requestParameters?: GetAllInvestmentAccountAccessMetadataRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<{ [key: string]: Array<AccessMetadataValue>; }>>; getAllInvestmentAccountAccessMetadata(requestParameters?: GetAllInvestmentAccountAccessMetadataRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<{ [key: string]: Array<AccessMetadataValue>; }>>; /** * [EXPERIMENTAL] GetInvestmentAccount: Get Investment Account * Retrieve the definition of an investment account. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ getInvestmentAccount(requestParameters?: GetInvestmentAccountRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<InvestmentAccount>; getInvestmentAccount(requestParameters?: GetInvestmentAccountRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<InvestmentAccount>>; getInvestmentAccount(requestParameters?: GetInvestmentAccountRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<InvestmentAccount>>; /** * [EARLY ACCESS] GetInvestmentAccountRelationships: Get Investment Account relationships * Get relationships for a particular Investment Account. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ getInvestmentAccountRelationships(requestParameters?: GetInvestmentAccountRelationshipsRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<ResourceListOfRelationship>; getInvestmentAccountRelationships(requestParameters?: GetInvestmentAccountRelationshipsRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<ResourceListOfRelationship>>; getInvestmentAccountRelationships(requestParameters?: GetInvestmentAccountRelationshipsRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<ResourceListOfRelationship>>; /** * [EXPERIMENTAL] ListAllInvestmentAccounts: List Investment Accounts * List all investment accounts which the user is entitled to see. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ listAllInvestmentAccounts(requestParameters?: ListAllInvestmentAccountsRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<ResourceListOfInvestmentAccount>; listAllInvestmentAccounts(requestParameters?: ListAllInvestmentAccountsRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<ResourceListOfInvestmentAccount>>; listAllInvestmentAccounts(requestParameters?: ListAllInvestmentAccountsRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<ResourceListOfInvestmentAccount>>; /** * [EXPERIMENTAL] PatchInvestmentAccountAccessMetadata: Patch Access Metadata rules for an Investment Account. * Patch Investment Account Access Metadata Rules in a single scope. The behaviour is defined by the JSON Patch specification. Currently only \&#39;add\&#39; is a supported operation on the patch document Currently only valid metadata keys are supported paths on the patch document The response will return any affected Investment Account Access Metadata rules or a failure message if unsuccessful. It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched. * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ patchInvestmentAccountAccessMetadata(requestParameters?: PatchInvestmentAccountAccessMetadataRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<{ [key: string]: Array<AccessMetadataValue>; }>; patchInvestmentAccountAccessMetadata(requestParameters?: PatchInvestmentAccountAccessMetadataRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<{ [key: string]: Array<AccessMetadataValue>; }>>; patchInvestmentAccountAccessMetadata(requestParameters?: PatchInvestmentAccountAccessMetadataRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<{ [key: string]: Array<AccessMetadataValue>; }>>; /** * [EXPERIMENTAL] UpsertInvestmentAccounts: Upsert Investment Accounts * Creates or updates a collection of Investment Accounts * @param requestParameters * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ upsertInvestmentAccounts(requestParameters?: UpsertInvestmentAccountsRequestParams, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<UpsertInvestmentAccountsResponse>; upsertInvestmentAccounts(requestParameters?: UpsertInvestmentAccountsRequestParams, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpResponse<UpsertInvestmentAccountsResponse>>; upsertInvestmentAccounts(requestParameters?: UpsertInvestmentAccountsRequestParams, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; transferCache?: boolean; }): Observable<HttpEvent<UpsertInvestmentAccountsResponse>>; static ɵfac: i0.ɵɵFactoryDeclaration<InvestmentAccountsService, [null, { optional: true; }, { optional: true; }]>; static ɵprov: i0.ɵɵInjectableDeclaration<InvestmentAccountsService>; }