likeminds-chat-beta
Version:
LikeMinds Javascript SDK for chat APIs
2 lines (1 loc) • 18 kB
JavaScript
var e=require("firebase/database"),t=require("firebase/app"),r=require("axios"),o=require("aws-sdk");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,t}var i=/*#__PURE__*/n(r),s=/*#__PURE__*/a(o);function c(){return c=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},c.apply(this,arguments)}function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,d(e,t)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}var h,m="https://betaauth.likeminds.community",f="/community/tag",l="/conversation",p="/conversation/reaction",k="/community/member/profile",y="/community/dm/status",b="/community/member",_="/chatroom/participants",g="/community/member/state",v="/conversation",w=/*#__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(i.default.post(m+"/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}(),A=/*#__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}(),q=/*#__PURE__*/function(){function e(){this.tokenManager=void 0,this.xApiKey=void 0,this.xVersionCode=void 0,this.xPlatformCode=void 0,this.tokenManager=new w}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(i.default.request(c({url:e},t)))}catch(e){return Promise.reject(e)}},t.makeAuthenticatedRequest=function(e,t){try{var r=this,o=c({},t,{headers:c({},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 A(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 A(e.data.data,null,!0)}).catch(function(e){return console.error("Failed to make authenticated request:",e),new A(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 A(null,e.message,!1)}))}catch(e){return Promise.reject(e)}},e}(),L=function(e){this.xApiKey=void 0,this.xPlatformCode=void 0,this.xVersionCode=void 0,this.xSdkSource=void 0,this.networkLibrary=new q,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)},R=t.initializeApp({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"}),I=e.getDatabase(R),T=/*#__PURE__*/function(t){function r(){for(var e,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(e=t.call.apply(t,[this].concat(o))||this).networkLibrary=new q,e}u(r,t);var o=r.prototype;return o.getHomeFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/mine?page="+e.page)},o.getInvites=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/channel/invites?channel_type="+e.channelType+"&page="+e.page+"&page_size="+e.pageSize)},o.sendInvites=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+m+_,{method:"POST",data:{chatroom_id:e.chatroomId,is_secret:e.isSecret,chatroom_participants:e.chatroomParticipants}})},o.registerDevice=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/user/device/push",{method:"POST",data:{token:e.token}})},o.inviteAction=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/channel/invite",{method:"PUT",data:{channel_id:e.channelId,invite_status:e.inviteStatus}})},o.fbInstance=function(){return I},o.homeFeedListener=function(t,r){var o=e.ref(I,r);return e.onValue(o,function(e){e.exists()&&t(e.val())})},r}(L),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 q,t}u(t,e);var r=t.prototype;return r.getChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom?chatroom_id="+e.chatroomId).then(function(e){return e.data})},r.followChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/follow",{method:"PUT",data:{collabcard_id:e.collabcardId,member_id:e.memberId,value:e.value}})},r.muteChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/mute",{method:"PUT",data:{chatroom_id:e.chatroomId,value:e.value}})},r.markReadChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/mark_read",{method:"POST",data:{chatroom_id:e.chatroomId}})},r.shareChatroomUrl=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/share?chatroom_id="+e.chatroomId+"&domain="+e.domain)},r.setChatroomTopic=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/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?""+m+f+"?chatroom_id="+e.chatroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize+"&is_secret="+e.isSecret:""+m+f+"?chatroom_id="+e.chatroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize:e.isSecret?""+m+f+"?feedroom_id="+e.feedroomId+"&search_name="+e.searchName+"&page="+e.page+"&page_size="+e.pageSize+"&is_secret="+e.isSecret:""+m+f+"?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?""+m+l+"?chatroom_id="+e.chatroomID+"&paginate_by="+e.paginateBy+"&conversation_id="+e.conversationID+"&scroll_direction="+e.scrollDirection:""+m+l+"?chatroom_id="+e.chatroomID+"&paginate_by="+e.paginateBy)},r.postConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+l,{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(""+m+l,{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(""+m+l,{method:"DELETE",data:{conversation_ids:e.conversationIds,reason:e.reason}})},r.putReaction=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+p,{method:"PUT",data:{chatroom_id:e.chatroomId,conversation_id:e.conversationId,reaction:e.reaction}})},r.deleteReaction=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+p,{method:"DELETE",data:{chatroom_id:e.chatroomId,conversation_id:e.conversationId,reaction:e.reaction}})},r.getAWS=function(){return s.config.region="ap-south-1",s.config.credentials=new s.CognitoIdentityCredentials({IdentityPoolId:"ap-south-1:181963ba-f2db-450b-8199-964a941b38c2"}),new s.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(m+"/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(m+"/helper/url?url="+e.url)},r.postPollConversation=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+l+"?chatroom_id="+e.chatroomId)},r.getPollUsers=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+l+"?chatroom_id="+e.chatroomId)},r.addPollOption=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+l+"?chatroom_id="+e.chatroomId)},r.submitPoll=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+l+"?chatroom_id="+e.chatroomId)},r.getReportTags=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/community/report/tag?type="+e.type)},r.pushReport=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/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(""+m+_,{method:"DELETE",data:{chatroom_id:e.chatroomId,member_id:e.memberId}})},r.profileData=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+g+"?community_id="+e.community_id+"&member_id="+e.member_id)},r.viewParticipants=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.page?""+m+_+"?chatroom_id="+e.chatroom_id+"&is_secret="+e.is_secret+"&page="+e.page+"&page_size="+e.page_size:""+m+_+"?chatroom_id="+e.chatroom_id+"&is_secret="+e.is_secret)},r.conversationsFetch=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.chatroom_id?""+m+v+"?chatroom_id="+e.chatroom_id+"&conversation_id="+e.conversation_id:""+m+v+"?conversation_id="+e.conversation_id)},r.fetchChatroomHome=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/home?chatroom_id="+e.chatroom_id)},r.crSeenFn=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/seen",{method:"PUT",data:{collabcard_id:e.collabcardId,member_id:e.memberId,collabcard_type:e.collabcardType}})},t}(L),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 q,t}u(t,e);var r=t.prototype;return r.initiateUser=function(e){var t=this;return this.networkLibrary.makeAuthenticatedRequest(m+"/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(""+m+k+"?user_id="+e.userId)},r.getMemberChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/community/member/chatroom?user_id="+e.userId+"&state="+e.state+"&page="+e.page)},r.getQuestions=function(){return this.networkLibrary.makeAuthenticatedRequest(m+"/community/questions").then(function(e){return e})},r.getMemberState=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+g+"?member_id="+e.memberId).then(function(e){return e})},r.editProfile=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+k,{method:"PUT",data:{user_name:e.userName,user_unique_id:e.userUniqueId,image_url:e.imageUrl}})},r.searchMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/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(""+m+b+"?community_id="+e.community_id+"&chatroom_id="+e.chatroom_id+"&page="+e.page)},r.getAllMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.memberState?""+m+b+"?chatroom_id="+e.chatroomId+"&member_state="+e.memberState+"&page="+e.page:""+m+b+"?chatroom_id="+e.chatroomId+"&page="+e.page)},r.dmAllMembers=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/community/member?community_id="+e.community_id+"&member_state="+e.member_state+"&page="+e.page)},t}(L),C=/*#__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 q,t}u(t,e);var r=t.prototype;return r.fetchDMFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/dm?page="+e.page)},r.checkDMStatus=function(e){return this.networkLibrary.makeAuthenticatedRequest(""+m+y+"?req_from="+e.requestFrom)},r.checkDMLimit=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/dm/limit?member_id="+e.memberId)},r.createDMChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/dm/create",{method:"POST",data:{member_id:e.memberId}})},r.sendDMRequest=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/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(m+"/chatroom/dm/block",{method:"POST",data:{chatroom_id:e.chatroomId,status:e.status}})},r.checkDMTab=function(){return this.networkLibrary.makeAuthenticatedRequest(m+"/home/dm/meta")},r.getDMFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/community/dm/feed?community_id="+e.community_id)},r.canDmFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(e.chatroom_id?""+m+y+"?community_id="+e.community_id+"&req_from="+e.req_from+"&member_id="+e.member_id+"&chatroom_id="+e.chatroom_id:""+m+y+"?community_id="+e.community_id+"&req_from="+e.req_from+"&member_id="+e.member_id)},t}(L),S=/*#__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 q,t}return u(t,e),t.prototype.searchChatroom=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/chatroom/search?follow_status="+e.followStatus+"&page="+e.page+"&page_size="+e.pageSize+"&search="+e.search+"&search_type="+e.searchType)},t}(L),M=/*#__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 q,t}return u(t,e),t.prototype.getExploreFeed=function(e){return this.networkLibrary.makeAuthenticatedRequest(m+"/community/feed?order_type="+e.orderType+"&page="+e.page)},t}(L),O=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return u(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}(L);O.xApiKey=void 0,O.xPlatformCode=void 0,O.xVersionCode=void 0,O.xSdkSource=void 0,h=O,[T,P,M,x,C,S].forEach(function(e){Object.getOwnPropertyNames(e.prototype).forEach(function(t){Object.defineProperty(h.prototype,t,Object.getOwnPropertyDescriptor(e.prototype,t)||Object.create(null))})}),module.exports=O;