UNPKG

@memori.ai/memori-api-client

Version:

React library to integrate a Memori in your app or website

98 lines 3.49 kB
import { apiFetcher } from '../apiFetcher'; function buildTextEnteredBody(params) { const { text, dateUTC, place } = params; const body = { text }; if (dateUTC != null && dateUTC !== '') { body.dateUTC = dateUTC; } if (place != null && typeof place === 'object') { const placeBody = {}; if (place.placeName != null) placeBody.placeName = place.placeName; if (place.latitude != null) placeBody.latitude = place.latitude; if (place.longitude != null) placeBody.longitude = place.longitude; if (place.uncertaintyKm != null) placeBody.uncertaintyKm = place.uncertaintyKm; if (Object.keys(placeBody).length > 0) { body.place = placeBody; } } return body; } export default (apiUrl) => ({ postTextEnteredEvent: async ({ sessionId, text, dateUTC, place, }) => apiFetcher(`/TextEnteredEvent/${sessionId}`, { method: 'POST', apiUrl, body: buildTextEnteredBody({ text, dateUTC, place }), }), postEnterTextAsync: async ({ sessionId, text, dateUTC, place, }) => apiFetcher(`/TextEnteredEventAsync/${sessionId}`, { method: 'POST', apiUrl, body: buildTextEnteredBody({ text, dateUTC, place }), }), postTextEnteredEventExtended: async ({ sessionId, text, questionsAndAnswersHistory, }) => apiFetcher(`/ExtendedTextEnteredEvent/${sessionId}`, { method: 'POST', apiUrl, body: { text, questionsAndAnswersHistory, }, }), postExtendedEnterTextAsync: async ({ sessionId, text, questionsAndAnswersHistory, }) => apiFetcher(`/ExtendedEnterTextAsync/${sessionId}`, { method: 'POST', apiUrl, body: { text, questionsAndAnswersHistory, }, }), postPlaceChangedEvent: async ({ sessionId, placeName, latitude, longitude, uncertaintyKm, }) => apiFetcher(`/PlaceChangedEvent/${sessionId}`, { method: 'POST', apiUrl, body: { placeName, latitude, longitude, uncertaintyKm, }, }), postDateChangedEvent: async (sessionId, date) => apiFetcher(`/DateChangedEvent/${sessionId}`, { method: 'POST', apiUrl, body: { date }, }), postTagChangedEvent: async (sessionId, tag) => apiFetcher(`/TagChangedEvent/${sessionId}`, { method: 'POST', apiUrl, body: { tag }, }), postTimeoutEvent: async (sessionId) => apiFetcher(`/TimeoutEvent/${sessionId}`, { method: 'POST', apiUrl, }), postMediumSelectedEvent: async (sessionId, medium) => apiFetcher(`/MediumSelectedEvent/${sessionId}`, { method: 'POST', apiUrl, body: { medium }, }), postMediumDeselectedEvent: async (sessionID, mediumID) => apiFetcher(`/MediumDeselectedEvent/${sessionID}`, { method: 'POST', apiUrl, body: { mediumID }, }), postDateSelectedEvent: async (sessionId) => apiFetcher(`/DateSelectedEvent/${sessionId}`, { method: 'GET', apiUrl, }), postPlaceSelectedEvent: async (sessionId) => apiFetcher(`/PlaceSelectedEvent/${sessionId}`, { method: 'GET', apiUrl, }), postTagSelectedEvent: async (sessionId) => apiFetcher(`/TagSelectedEvent/${sessionId}`, { method: 'GET', apiUrl, }), }); //# sourceMappingURL=dialog.js.map