UNPKG

@memori.ai/memori-api-client

Version:

React library to integrate a Memori in your app or website

90 lines (84 loc) 2.83 kB
import { ResponseSpec, CompletionConfig } from '../types'; import { apiFetcher } from '../apiFetcher'; export default (apiUrl: string) => ({ /** * Gets a list of Completion Config objects allowed for the user. * @param {string} authToken - The login token * @param {string=} purpose - Optional filter on Completion Config purpose ("QA" for Question Answering, "IE" for Import/Export, "DT" for Deep Thought). */ getCompletionConfigs: (authToken: string, purpose?: 'QA' | 'IE' | 'DT') => apiFetcher( `/CompletionConfigs/${authToken}${purpose ? `/${purpose}` : ''}`, { apiUrl, method: 'GET', } ) as Promise< ResponseSpec & { configs: CompletionConfig[]; } >, /** * Gets the details of a Completion Config of a specific object * @param {string} authToken - The login token * @param {string} configID - The Completion Config object ID */ getCompletionConfig: (authToken: string, configID: string) => apiFetcher(`/CompletionConfig/${authToken}/${configID}`, { apiUrl, method: 'GET', }) as Promise< ResponseSpec & { config: CompletionConfig; } >, /** * Updates an existing Completion Config object. * A user can only update a Completion Config object owned by him, unless it has administrative rights. * @param {string} authToken - The login token * @param {CompletionConfig} config - The updated Completion Config object */ updateCompletionConfig: ( authToken: string, config: Partial<CompletionConfig> & { completionConfigID: string } ) => apiFetcher(`/CompletionConfig/${authToken}/${config.completionConfigID}`, { apiUrl, method: 'PATCH', body: config, }) as Promise< ResponseSpec & { config: CompletionConfig; appliedMemoriIDs?: string[]; appliedMemoriNames?: string[]; } >, /** * Deletes an existing Completion Config object. * A user can only delete a Completion Config object owned by him, unless it has administrative rights. */ deleteCompletionConfig: (authToken: string, configID: string) => apiFetcher(`/CompletionConfig/${authToken}/${configID}`, { apiUrl, method: 'DELETE', }) as Promise<ResponseSpec>, /** * Creates a new Completion Config object. * The created Completion Config object is owned by the currently logged-in user. */ createCompletionConfig: ( authToken: string, config: CompletionConfig & { completionConfigID?: string } ) => apiFetcher(`/CompletionConfig/${authToken}`, { apiUrl, method: 'POST', body: config, }) as Promise< ResponseSpec & { config: CompletionConfig; appliedMemoriIDs?: string[]; appliedMemoriNames?: string[]; } >, });