UNPKG

likeminds-chat-beta

Version:

LikeMinds Javascript SDK for chat APIs

2 lines (1 loc) 17.7 kB
import{getDatabase as e,ref as t,onValue as r}from"firebase/database";import{initializeApp as o}from"firebase/app";import n from"axios";import*as a from"aws-sdk";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},i.apply(this,arguments)}function s(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,c(e,t)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}var u,h="https://betaauth.likeminds.community",d="/community/tag",m="/conversation",f="/conversation/reaction",l="/community/member/profile",p="/community/dm/status",k="/community/member",y="/chatroom/participants",b="/community/member/state",_="/conversation",g=/*#__PURE__*/function(){function e(){this.accessToken=void 0,this.refreshToken=void 0,this.accessToken=null,this.refreshToken=null}var t=e.prototype;return t.setAccessToken=function(e){this.accessToken=e},t.getAccessToken=function(){return this.accessToken},t.setRefreshToken=function(e){this.refreshToken=e},t.getRefreshToken=function(){return this.refreshToken},t.refreshAccessToken=function(){try{var e=this;if(!e.refreshToken)throw new Error("Refresh token is not set.");return Promise.resolve(function(t,r){try{var o=Promise.resolve(n.post(h+"/user/refresh",{refreshToken:e.refreshToken})).then(function(t){console.log("DL access=> ",t);var r=t.data.data||t.data;return e.accessToken=r.access_token,e.setRefreshToken(r.refresh_token),e.setAccessToken(r.access_token),r.access_token})}catch(e){return r(e)}return o&&o.then?o.then(void 0,r):o}(0,function(e){throw console.error("Failed to refresh access token:",e),e}))}catch(e){return Promise.reject(e)}},e}(),v=/*#__PURE__*/function(){function e(e,t,r){this.data=void 0,this.errorMessage=void 0,this.success=void 0,this.data=e,this.errorMessage=t,this.success=r}var t=e.prototype;return t.getData=function(){return this.data},t.getErrorMessage=function(){return this.errorMessage},t.getStatus=function(){return this.success},e}(),w=/*#__PURE__*/function(){function e(){this.tokenManager=void 0,this.xApiKey=void 0,this.xVersionCode=void 0,this.xPlatformCode=void 0,this.tokenManager=new g}var t=e.prototype;return t.setAccessToken=function(e){this.tokenManager.setAccessToken(e)},t.setRefreshToken=function(e){this.tokenManager.setRefreshToken(e)},t.setApiKey=function(e){this.xApiKey=e},t.getApiKey=function(){return this.xApiKey},t.setPlatformCode=function(e){this.xPlatformCode=e},t.getPlatformCode=function(){return this.xPlatformCode},t.setVersionCode=function(e){this.xVersionCode=e},t.getVersionCode=function(){return this.xVersionCode},t.makeRequest=function(e,t){try{return Promise.resolve(n.request(i({url:e},t)))}catch(e){return Promise.reject(e)}},t.makeAuthenticatedRequest=function(e,t){try{var r=this,o=i({},t,{headers:i({},null==t?void 0:t.headers,{"x-sdk-source":"chat"})}),n=e.includes("initiate");return e.includes("refresh"),o.headers["Content-Type"]="application/json",o.headers["x-platform-code"]=r.xPlatformCode,o.headers["x-version-code"]=r.xVersionCode,e.includes("community/feed")&&(o.headers["x-accept-version"]="v2"),e.includes("mark_read")&&(o.headers["Content-Type"]="application/x-www-form-urlencoded"),r.tokenManager.getAccessToken&&!n&&(o.headers.Authorization="Bearer "+r.tokenManager.getAccessToken()),n&&(o.headers["x-api-key"]=r.xApiKey),Promise.resolve(function(t,n){try{var a=Promise.resolve(r.makeRequest(e,o)).then(function(t){var n;function a(e){var r;return n?e:new v(null==t||null==(r=t.data)?void 0:r.data,null,!0)}var i=function(){if(401===t.status)return Promise.resolve(r.tokenManager.refreshAccessToken()).then(function(){o.headers.Authorization="Bearer "+r.tokenManager.refreshAccessToken();var t=r.makeRequest(e,o).then(function(e){return new v(e.data.data,null,!0)}).catch(function(e){return console.error("Failed to make authenticated request:",e),new v(null,e.message,!1)});return n=1,t})}();return i&&i.then?i.then(a):a(i)})}catch(e){return n(e)}return a&&a.then?a.then(void 0,n):a}(0,function(e){return console.error("Failed to make authenticated request:",e),new v(null,e.message,!1)}))}catch(e){return Promise.reject(e)}},e}(),A=function(e){this.xApiKey=void 0,this.xPlatformCode=void 0,this.xVersionCode=void 0,this.xSdkSource=void 0,this.networkLibrary=new w,this.xApiKey=e.xApiKey,this.xPlatformCode=e.xPlatformCode,this.xVersionCode=e.xVersionCode,this.networkLibrary.setApiKey(this.xApiKey),this.networkLibrary.setPlatformCode(this.xPlatformCode),this.networkLibrary.setVersionCode(this.xVersionCode)},L=e(o({apiKey:"AIzaSyBWjDQEiYKdQbQNvoiVvvOn_cbufQzvWuo",authDomain:"collabmates-beta.firebaseapp.com",databaseURL:"https://collabmates-beta.firebaseio.com",projectId:"collabmates-beta",storageBucket:"collabmates-beta.appspot.com",messagingSenderId:"983690302378",appId:"1:983690302378:web:b2fa2c58f2351d5c1b91d3",measurementId:"G-R2PXYC9F4S"})),q=/*#__PURE__*/function(e){function o(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).networkLibrary=new w,t}s(o,e);var n=o.prototype;return n.getHomeFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/mine?page="+e.page)},n.getInvites=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/channel/invites?channel_type="+e.channelType+"&page="+e.page+"&page_size="+e.pageSize)},n.sendInvites=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+h+y,{method:"POST",data:{chatroom_id:e.chatroomId,is_secret:e.isSecret,chatroom_participants:e.chatroomParticipants}})},n.registerDevice=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/user/device/push",{method:"POST",data:{token:e.token}})},n.inviteAction=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/channel/invite",{method:"PUT",data:{channel_id:e.channelId,invite_status:e.inviteStatus}})},n.fbInstance=function(){return L},n.homeFeedListener=function(e,o){var n=t(L,o);return r(n,function(t){t.exists()&&e(t.val())})},o}(A),R=/*#__PURE__*/function(e){function t(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).networkLibrary=new w,t}s(t,e);var r=t.prototype;return r.getChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom?chatroom_id="+e.chatroomId).then(function(e){return e.data})},r.followChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/follow",{method:"PUT",data:{collabcard_id:e.collabcardId,member_id:e.memberId,value:e.value}})},r.muteChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/mute",{method:"PUT",data:{chatroom_id:e.chatroomId,value:e.value}})},r.markReadChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/mark_read",{method:"POST",data:{chatroom_id:e.chatroomId}})},r.shareChatroomUrl=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/share?chatroom_id="+e.chatroomId+"&domain="+e.domain)},r.setChatroomTopic=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/conversation/topic",{method:"PUT",data:{chatroom_id:e.chatroomId,conversation_id:e.conversationId}})},r.getTaggingList=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.chatroomId?e.isSecret?""+h+d+"?chatroom_id="+e.chatroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize+"&is_secret="+e.isSecret:""+h+d+"?chatroom_id="+e.chatroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize:e.isSecret?""+h+d+"?feedroom_id="+e.feedroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize+"&is_secret="+e.isSecret:""+h+d+"?feedroom_id="+e.feedroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize)},r.getConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.scrollDirection||e.conversationID?""+h+m+"?chatroom_id="+e.chatroomID+"&paginate_by="+e.paginateBy+"&conversation_id="+e.conversationID+"&scroll_direction="+e.scrollDirection:""+h+m+"?chatroom_id="+e.chatroomID+"&paginate_by="+e.paginateBy)},r.postConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m,{method:"POST",data:{chatroom_id:e.chatroomId,temporary_id:e.temporaryId,text:e.text,has_files:e.hasFiles,attachment_count:e.attachmentCount,replied_conversation_id:e.repliedConversationId,share_link:e.shareLink,og_tags:e.ogTags}})},r.editConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m,{method:"PUT",data:{conversation_id:e.conversationId,text:e.text,share_link:e.shareLink,og_tags:e.ogTags}})},r.deleteConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m,{method:"DELETE",data:{conversation_ids:e.conversationIds,reason:e.reason}})},r.putReaction=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+f,{method:"PUT",data:{chatroom_id:e.chatroomId,conversation_id:e.conversationId,reaction:e.reaction}})},r.deleteReaction=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+f,{method:"DELETE",data:{chatroom_id:e.chatroomId,conversation_id:e.conversationId,reaction:e.reaction}})},r.getAWS=function(){return a.config.region="ap-south-1",a.config.credentials=new a.CognitoIdentityCredentials({IdentityPoolId:"ap-south-1:181963ba-f2db-450b-8199-964a941b38c2"}),new a.S3({apiVersion:"2006-03-01",params:{Bucket:"beta-likeminds-media"}})},r.uploadMedia=function(e){return this.getAWS().upload({Key:"files/collabcard/"+e.chatroomId+"/conversation/"+e.messageId+"/"+e.file.name,Bucket:"beta-likeminds-media",Body:e.file,ACL:"public-read-write",ContentType:e.file.type}).promise()},r.putMultimedia=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/helper/media/upload",{method:"POST",data:{conversation_id:e.conversationId,url:e.url,type:e.type,files_count:e.filesCount,index:e.index,height:e.height,width:e.width,meta:e.meta,name:e.name,thumbnail_url:e.thumbnailUrl}})},r.decodeUrl=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/helper/url?url="+e.url)},r.postPollConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m+"?chatroom_id="+e.chatroomId)},r.getPollUsers=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m+"?chatroom_id="+e.chatroomId)},r.addPollOption=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m+"?chatroom_id="+e.chatroomId)},r.submitPoll=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+m+"?chatroom_id="+e.chatroomId)},r.getReportTags=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/report/tag?type="+e.type)},r.pushReport=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/report",{method:"POST",data:{conversation_id:e.conversationId,tag_id:e.tagId,reason:e.reason,reported_member_id:e.reportedMemberId}})},r.leaveSecretChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+y,{method:"DELETE",data:{chatroom_id:e.chatroomId,member_id:e.memberId}})},r.profileData=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+b+"?community_id="+e.community_id+"&member_id="+e.member_id)},r.viewParticipants=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.page?""+h+y+"?chatroom_id="+e.chatroom_id+"&is_secret="+e.is_secret+"&page="+e.page+"&page_size="+e.page_size:""+h+y+"?chatroom_id="+e.chatroom_id+"&is_secret="+e.is_secret)},r.conversationsFetch=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.chatroom_id?""+h+_+"?chatroom_id="+e.chatroom_id+"&conversation_id="+e.conversation_id:""+h+_+"?conversation_id="+e.conversation_id)},r.fetchChatroomHome=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/home?chatroom_id="+e.chatroom_id)},r.crSeenFn=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/seen",{method:"PUT",data:{collabcard_id:e.collabcardId,member_id:e.memberId,collabcard_type:e.collabcardType}})},t}(A),I=/*#__PURE__*/function(e){function t(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).networkLibrary=new w,t}s(t,e);var r=t.prototype;return r.initiateUser=function(e){var t=this;return this.networkLibrary.makeAuthenticatedRequest(h+"/sdk/initiate",{method:"POST",data:{is_guest:null==e?void 0:e.isGuest,user_unique_id:null==e?void 0:e.userUniqueId,user_name:null==e?void 0:e.userName}}).then(function(e){return t.networkLibrary.setAccessToken(e.data.access_token),t.networkLibrary.setRefreshToken(e.data.access_token),{data:null==e?void 0:e.data,errorMessage:null,success:!0}}).catch(function(e){console.log({data:null,errorMessage:e.error_message,success:!1})})},r.getProfile=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+l+"?user_id="+e.userId)},r.getMemberChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/member/chatroom?user_id="+e.userId+"&state="+e.state+"&page="+e.page)},r.getQuestions=function(){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/questions").then(function(e){return e})},r.getMemberState=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+b+"?member_id="+e.memberId).then(function(e){return e})},r.editProfile=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+l,{method:"PUT",data:{user_name:e.userName,user_unique_id:e.userUniqueId,image_url:e.imageUrl}})},r.searchMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/member/search?search="+e.search+"&search_type="+e.search_type+"&page="+e.page+"&page_size="+e.page_size)},r.allMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+k+"?community_id="+e.community_id+"&chatroom_id="+e.chatroom_id+"&page="+e.page)},r.getAllMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.memberState?""+h+k+"?chatroom_id="+e.chatroomId+"&member_state="+e.memberState+"&page="+e.page:""+h+k+"?chatroom_id="+e.chatroomId+"&page="+e.page)},r.dmAllMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/member?community_id="+e.community_id+"&member_state="+e.member_state+"&page="+e.page)},t}(A),T=/*#__PURE__*/function(e){function t(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).networkLibrary=new w,t}s(t,e);var r=t.prototype;return r.fetchDMFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/dm?page="+e.page)},r.checkDMStatus=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+h+p+"?req_from="+e.requestFrom)},r.checkDMLimit=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/dm/limit?member_id="+e.memberId)},r.createDMChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/dm/create",{method:"POST",data:{member_id:e.memberId}})},r.sendDMRequest=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/dm/request",{method:"POST",data:{chatroom_id:e.chatroomId,chat_request_state:e.chatRequestState,text:e.text}})},r.blockMember=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/dm/block",{method:"POST",data:{chatroom_id:e.chatroomId,status:e.status}})},r.checkDMTab=function(){return this.networkLibrary.makeAuthenticatedRequest(h+"/home/dm/meta")},r.getDMFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/dm/feed?community_id="+e.community_id)},r.canDmFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.chatroom_id?""+h+p+"?community_id="+e.community_id+"&req_from="+e.req_from+"&member_id="+e.member_id+"&chatroom_id="+e.chatroom_id:""+h+p+"?community_id="+e.community_id+"&req_from="+e.req_from+"&member_id="+e.member_id)},t}(A),P=/*#__PURE__*/function(e){function t(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).networkLibrary=new w,t}return s(t,e),t.prototype.searchChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/chatroom/search?follow_status="+e.followStatus+"&page="+e.page+"&page_size="+e.pageSize+"&search="+e.search+"&search_type="+e.searchType)},t}(A),x=/*#__PURE__*/function(e){function t(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).networkLibrary=new w,t}return s(t,e),t.prototype.getExploreFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(h+"/community/feed?order_type="+e.orderType+"&page="+e.page)},t}(A),C=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return s(t,e),t.setApiKey=function(e){return this.xApiKey=e,this},t.setPlatformCode=function(e){return this.xPlatformCode=e,this},t.setVersionCode=function(e){return this.xVersionCode=e,this},t.build=function(){return new t({xApiKey:this.xApiKey,xPlatformCode:this.xPlatformCode,xVersionCode:this.xVersionCode,xSdkSource:this.xSdkSource})},t}(A);C.xApiKey=void 0,C.xPlatformCode=void 0,C.xVersionCode=void 0,C.xSdkSource=void 0,u=C,[q,R,x,I,T,P].forEach(function(e){Object.getOwnPropertyNames(e.prototype).forEach(function(t){Object.defineProperty(u.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t)||Object.create(null))})});export{C as default};