@aneoconsultingfr/armonik.api
Version:
gRPC API to interact with ArmoniK built for the web
77 lines (74 loc) • 5.03 kB
TypeScript
import { Observable } from 'rxjs';
import { Empty } from './objects.js';
import { ListResultsRequest, ListResultsResponse, GetResultRequest, GetResultResponse, GetOwnerTaskIdRequest, GetOwnerTaskIdResponse, CreateResultsMetaDataRequest, CreateResultsMetaDataResponse, CreateResultsRequest, CreateResultsResponse, UploadResultDataRequest, UploadResultDataResponse, DownloadResultDataRequest, DownloadResultDataResponse, DeleteResultsDataRequest, DeleteResultsDataResponse, ImportResultsDataRequest, ImportResultsDataResponse, ResultsServiceConfigurationResponse, WatchResultRequest, WatchResultResponse } from './results_common.js';
import 'protobufjs/minimal.js';
import './google/protobuf/duration.js';
import './task_status.js';
import './results_filters.js';
import './filters_common.js';
import './results_fields.js';
import './result_status.js';
import './sort_direction.js';
declare const protobufPackage = "armonik.api.grpc.v1.results";
/** The ResultsService provides methods for interacting with results */
interface Results {
/** Get a results list using pagination, filters and sorting */
ListResults(request: ListResultsRequest): Promise<ListResultsResponse>;
/** Get a result by id. */
GetResult(request: GetResultRequest): Promise<GetResultResponse>;
/** Get the id of the task that should produce the result */
GetOwnerTaskId(request: GetOwnerTaskIdRequest): Promise<GetOwnerTaskIdResponse>;
/**
* Create the metadata of multiple results at once
* Data have to be uploaded separately
*/
CreateResultsMetaData(request: CreateResultsMetaDataRequest): Promise<CreateResultsMetaDataResponse>;
/** Create one result with data included in the request */
CreateResults(request: CreateResultsRequest): Promise<CreateResultsResponse>;
/** Upload data for result with stream */
UploadResultData(request: Observable<UploadResultDataRequest>): Promise<UploadResultDataResponse>;
/** Retrieve data */
DownloadResultData(request: DownloadResultDataRequest): Observable<DownloadResultDataResponse>;
/** Delete data from multiple results */
DeleteResultsData(request: DeleteResultsDataRequest): Promise<DeleteResultsDataResponse>;
/** Import existing data from the object storage into existing results */
ImportResultsData(request: ImportResultsDataRequest): Promise<ImportResultsDataResponse>;
/** Get the configuration of the service */
GetServiceConfiguration(request: Empty): Promise<ResultsServiceConfigurationResponse>;
/**
* This endpoint allows a user to watch a list of results and be notified when there is any change.
* The user sends the list of ids they want to watch.
* The submitter will then send the statuses for all requested ids immediately and keep the stream open.
* Ids not present in DB will be returned at that time with the special state NOTFOUND.
* The submitter will send updates to the client via the opened stream.
* Any reply can be implicitely chunked if there are too many event to report at the same time (or for the first reply).
* It is possible to filter out specific statuses from events.
*/
WatchResults(request: Observable<WatchResultRequest>): Observable<WatchResultResponse>;
}
declare const ResultsServiceName = "armonik.api.grpc.v1.results.Results";
declare class ResultsClientImpl implements Results {
private readonly rpc;
private readonly service;
constructor(rpc: Rpc, opts?: {
service?: string;
});
ListResults(request: ListResultsRequest): Promise<ListResultsResponse>;
GetResult(request: GetResultRequest): Promise<GetResultResponse>;
GetOwnerTaskId(request: GetOwnerTaskIdRequest): Promise<GetOwnerTaskIdResponse>;
CreateResultsMetaData(request: CreateResultsMetaDataRequest): Promise<CreateResultsMetaDataResponse>;
CreateResults(request: CreateResultsRequest): Promise<CreateResultsResponse>;
UploadResultData(request: Observable<UploadResultDataRequest>): Promise<UploadResultDataResponse>;
DownloadResultData(request: DownloadResultDataRequest): Observable<DownloadResultDataResponse>;
DeleteResultsData(request: DeleteResultsDataRequest): Promise<DeleteResultsDataResponse>;
ImportResultsData(request: ImportResultsDataRequest): Promise<ImportResultsDataResponse>;
GetServiceConfiguration(request: Empty): Promise<ResultsServiceConfigurationResponse>;
WatchResults(request: Observable<WatchResultRequest>): Observable<WatchResultResponse>;
}
interface Rpc {
request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
clientStreamingRequest(service: string, method: string, data: Observable<Uint8Array>): Promise<Uint8Array>;
serverStreamingRequest(service: string, method: string, data: Uint8Array): Observable<Uint8Array>;
bidirectionalStreamingRequest(service: string, method: string, data: Observable<Uint8Array>): Observable<Uint8Array>;
}
export { Results, ResultsClientImpl, ResultsServiceName, protobufPackage };