softchatjs-react-native
Version:
React native UI SDK for softchatjs-core. Create a free account at: https://www.softchatjs.com
1 lines • 3.22 kB
Source Map (JSON)
{"version":3,"sources":["../../src/api/index.tsx"],"sourcesContent":["import { Prettify, UploadContent } from \"../types\";\r\n\r\nlet API = 'https://i6h8uzuwvf.execute-api.eu-west-2.amazonaws.com/staging';\r\n\r\n\r\nenum ENDPOINTS {\r\n CONVERSATIONS = '/conversations',\r\n MESSAGES = '/messages',\r\n UPLOAD = '/upload',\r\n CREATE_SESSION = '/auth/session',\r\n EMOJIS = '/gifs/trending'\r\n}\r\n\r\nconst chatApi = async (endpoint: string, body: Object, method: 'GET' | 'POST' | 'PUT', token?: string) => {\r\n const res = await fetch(endpoint, {\r\n headers: {\r\n 'Cache-Control': 'no-cache',\r\n 'accessToken': token? token : ''\r\n },\r\n mode: 'cors',\r\n cache: 'no-cache',\r\n body: method === 'POST'? JSON.stringify(body) : null,\r\n method\r\n });\r\n const response = await res.json();\r\n if (typeof response === 'object' && response && 'success' in response) {\r\n return response\r\n }\r\n return { ...response, success: false }\r\n}\r\n\r\ntype APIResponse<R> = {\r\n success: boolean, data: R, message: string\r\n}\r\n\r\nexport async function CREATE_SESSION<Response>({ userId }: { userId: string}): Promise<APIResponse<Response>> {\r\n console.log('got')\r\n return await chatApi(`${API}${ENDPOINTS.CREATE_SESSION}`, { userId }, 'POST')\r\n}\r\n\r\nexport async function GET_CONVERSATIONS<Response>(token: string | undefined, userId: string): Promise<APIResponse<Response>> {\r\n return await chatApi(`${API}${ENDPOINTS.CONVERSATIONS}/${userId}`, {}, 'GET', token)\r\n}\r\n\r\nexport async function GET_MESSAGES<Response>(token: string | undefined, conversationId: string): Promise<APIResponse<Response>> {\r\n return await chatApi(`${API}${ENDPOINTS.MESSAGES}/${conversationId}`, {}, 'GET', token)\r\n}\r\n\r\nexport async function GET_EMOJIS<Response>(token: string | undefined): Promise<APIResponse<Response>> {\r\n return await chatApi(`${API}${ENDPOINTS.EMOJIS}`, {}, 'GET', token)\r\n}\r\n\r\nexport async function UPLOAD_MEDIA<Response>(token: string, data: Prettify<UploadContent>): Promise<APIResponse<Response>> {\r\n return await chatApi(`${API}${ENDPOINTS.UPLOAD}`, data, 'POST', token)\r\n}\r\n\r\n"],"mappings":";AAEA,IAAI,MAAM;AAWV,IAAM,UAAU,OAAO,UAAkB,MAAc,QAAgC,UAAmB;AACtG,QAAM,MAAM,MAAM,MAAM,UAAU;AAAA,IAC9B,SAAS;AAAA,MACR,iBAAiB;AAAA,MACjB,eAAe,QAAO,QAAQ;AAAA,IAC/B;AAAA,IACA,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM,WAAW,SAAQ,KAAK,UAAU,IAAI,IAAI;AAAA,IAChD;AAAA,EACJ,CAAC;AACD,QAAM,WAAW,MAAM,IAAI,KAAK;AAChC,MAAI,OAAO,aAAa,YAAY,YAAY,aAAa,UAAU;AACnE,WAAO;AAAA,EACX;AACA,SAAO,EAAE,GAAG,UAAU,SAAS,MAAM;AACzC;AAMA,eAAsB,eAAyB,EAAE,OAAO,GAAuD;AAC3G,UAAQ,IAAI,KAAK;AACjB,SAAO,MAAM,QAAQ,GAAG,GAAG,GAAG,oCAAwB,IAAI,EAAE,OAAO,GAAG,MAAM;AAChF;AAEA,eAAsB,kBAA4B,OAA2B,QAAgD;AACzH,SAAO,MAAM,QAAQ,GAAG,GAAG,GAAG,oCAAuB,IAAI,MAAM,IAAI,CAAC,GAAG,OAAO,KAAK;AACvF;AAEA,eAAsB,aAAuB,OAA2B,gBAAwD;AAC5H,SAAO,MAAM,QAAQ,GAAG,GAAG,GAAG,0BAAkB,IAAI,cAAc,IAAI,CAAC,GAAG,OAAO,KAAK;AAC1F;AAEA,eAAsB,WAAqB,OAA2D;AAClG,SAAO,MAAM,QAAQ,GAAG,GAAG,GAAG,6BAAgB,IAAI,CAAC,GAAG,OAAO,KAAK;AACtE;AAEA,eAAsB,aAAuB,OAAe,MAA+D;AACzH,SAAO,MAAM,QAAQ,GAAG,GAAG,GAAG,sBAAgB,IAAI,MAAM,QAAQ,KAAK;AACvE;","names":[]}