UNPKG

@memori.ai/memori-api-client

Version:

React library to integrate a Memori in your app or website

72 lines (66 loc) 2.55 kB
import { ResponseSpec, TrustedApplication } from '../types'; import { apiFetcher } from '../apiFetcher'; export default (apiUrl: string) => ({ /** * Creates a new TrustedApplication. * Only administrators can create TrustedApplications. * @param authToken - The login token * @param trustedApplication - The TrustedApplication specifications * @returns The created TrustedApplication object */ createTrustedApplication: ( authToken: string, trustedApplication: TrustedApplication ) => apiFetcher(`/TrustedApplication/${authToken}`, { apiUrl, body: trustedApplication, method: 'POST', }) as Promise<ResponseSpec & { trustedApplication: TrustedApplication }>, /** * Gets a TrustedApplication by ID. * @param authToken - The login token * @param trustedApplicationID - The TrustedApplication ID * @returns The TrustedApplication object */ getTrustedApplication: (authToken: string, trustedApplicationID: string) => apiFetcher(`/TrustedApplication/${authToken}/${trustedApplicationID}`, { apiUrl, }) as Promise<ResponseSpec & { trustedApplication: TrustedApplication }>, /** * Updates an existing TrustedApplication. * @param authToken - The login token * @param trustedApplicationID - The TrustedApplication ID * @param trustedApplication - The TrustedApplication specifications * @returns The updated TrustedApplication object */ updateTrustedApplication: ( authToken: string, trustedApplicationID: string, trustedApplication: TrustedApplication ) => apiFetcher(`/TrustedApplication/${authToken}/${trustedApplicationID}`, { apiUrl, method: 'PATCH', body: trustedApplication, }) as Promise<ResponseSpec & { trustedApplication: TrustedApplication }>, /** * Deletes a TrustedApplication. * @param authToken - The login token * @param trustedApplicationID - The TrustedApplication ID */ deleteTrustedApplication: (authToken: string, trustedApplicationID: string) => apiFetcher(`/TrustedApplication/${authToken}/${trustedApplicationID}`, { apiUrl, method: 'DELETE', }) as Promise<ResponseSpec>, /** * Lists all TrustedApplications for the current tenant. * @param authToken - The login token * @returns A list of TrustedApplication objects */ getTrustedApplicationsList: (authToken: string) => apiFetcher(`/TrustedApplications/${authToken}`, { apiUrl, }) as Promise<ResponseSpec & { trustedApplications: TrustedApplication[] }>, });