sidechat.js 2.6.5 → 2.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classes/SidechatAPIClient.d.ts.map +1 -1
- package/dist/index.cjs +75 -57
- package/dist/index.mjs +75 -57
- package/docs/sidechat.js/2.6.6/SidechatAPIClient.html +3 -0
- package/docs/sidechat.js/2.6.6/SidechatAPIError.html +3 -0
- package/docs/sidechat.js/2.6.6/SidechatColorList.html +3 -0
- package/docs/sidechat.js/2.6.6/classes_SidechatAPIClient.js.html +1447 -0
- package/docs/sidechat.js/2.6.6/classes_SidechatAPIError.js.html +16 -0
- package/docs/sidechat.js/2.6.6/classes_SidechatColorList.js.html +79 -0
- package/docs/sidechat.js/2.6.6/data/search.json +1 -0
- package/docs/sidechat.js/2.6.6/fonts/Inconsolata-Regular.ttf +0 -0
- package/docs/sidechat.js/2.6.6/fonts/OpenSans-Regular.ttf +0 -0
- package/docs/sidechat.js/2.6.6/fonts/WorkSans-Bold.ttf +0 -0
- package/docs/sidechat.js/2.6.6/global.html +3 -0
- package/docs/sidechat.js/2.6.6/index.html +4 -0
- package/docs/sidechat.js/2.6.6/scripts/core.js +726 -0
- package/docs/sidechat.js/2.6.6/scripts/core.min.js +23 -0
- package/docs/sidechat.js/2.6.6/scripts/resize.js +90 -0
- package/docs/sidechat.js/2.6.6/scripts/search.js +265 -0
- package/docs/sidechat.js/2.6.6/scripts/search.min.js +6 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/Apache-License-2.0.txt +202 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/fuse.js +9 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/hljs-line-num-original.js +369 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/hljs-line-num.js +1 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/hljs-original.js +5171 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/hljs.js +1 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/popper.js +5 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/tippy.js +1 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/tocbot.js +672 -0
- package/docs/sidechat.js/2.6.6/scripts/third-party/tocbot.min.js +1 -0
- package/docs/sidechat.js/2.6.6/styles/clean-jsdoc-theme-base.css +1159 -0
- package/docs/sidechat.js/2.6.6/styles/clean-jsdoc-theme-dark.css +412 -0
- package/docs/sidechat.js/2.6.6/styles/clean-jsdoc-theme-light.css +482 -0
- package/docs/sidechat.js/2.6.6/styles/clean-jsdoc-theme-scrollbar.css +30 -0
- package/docs/sidechat.js/2.6.6/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
- package/docs/sidechat.js/2.6.6/styles/clean-jsdoc-theme.min.css +1 -0
- package/docs/sidechat.js/2.6.6/tutorial-Authentication.html +14 -0
- package/docs/sidechat.js/2.6.6/tutorial-Email Registration.html +6 -0
- package/docs/sidechat.js/2.6.6/types_SidechatTypes.js.html +204 -0
- package/package.json +1 -1
- package/src/classes/SidechatAPIClient.js +75 -57
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Tutorial: Email Registration</title><!--[if lt IE 9]>
|
|
2
|
+
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
3
|
+
<![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(baseURL=(baseURL="https://micahlindley.com/sidechat.js/").replace(/https?:\/\//i,"")).substr(baseURL.indexOf("/"))</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">sidechat.js</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div><div class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><header><h2>Email Registration</h2></header><article><blockquote><p>You can only start this process once you have <a href="tutorial-Authentication.html">authenticated as a user</a>.</p></blockquote><p>Start by sending a verification email to the user:</p><pre class="prettyprint source lang-javascript"><code>const email = /* User's email address */;
|
|
4
|
+
await API.registerEmail(email);
|
|
5
|
+
</code></pre><p>Once the user has clicked the link in the verification email, verify that they've clicked it:</p><pre class="prettyprint source lang-javascript"><code>await API.checkEmailVerification();
|
|
6
|
+
</code></pre><p>You should be verified!</p></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">sidechat.js</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div><div class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Source: types/SidechatTypes.js</title><!--[if lt IE 9]>
|
|
2
|
+
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
3
|
+
<![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(baseURL=(baseURL="https://micahlindley.com/sidechat.js/").replace(/https?:\/\//i,"")).substr(baseURL.indexOf("/"))</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">sidechat.js</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div><div class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section id="source-page" class="source-page"><header><h1 id="title" class="has-anchor">types_SidechatTypes.js</h1></header><article><pre class="prettyprint source lang-js"><code>/**
|
|
4
|
+
* A user-created post or comment, depending on the "type" prop
|
|
5
|
+
* @typedef {Object} SidechatPostOrComment
|
|
6
|
+
* @prop {"post"|"comment"} type - whether this object represents a post or a comment on a post
|
|
7
|
+
* @prop {String} id - alphanumeric ID of post or comment
|
|
8
|
+
* @prop {Boolean} authored_by_user - whether or not the post or comment was created by the current user
|
|
9
|
+
* @prop {String} alias - post creator's name in-app
|
|
10
|
+
* @prop {String} group_id - alphanumeric ID of group
|
|
11
|
+
* @prop {SidechatGroup} group - group in which post or comment was created
|
|
12
|
+
* @prop {String} text - text content of post or comment
|
|
13
|
+
* @prop {String} created_at - date string of post or comment creation time
|
|
14
|
+
* @prop {Number} vote_total - sum of upvotes and downvotes
|
|
15
|
+
* @prop {SidechatVoteString} vote_status - current user's vote on post or comment
|
|
16
|
+
* @prop {SidechatSimpleAsset[]} assets - array of simple assets attached to post or comment
|
|
17
|
+
* @prop {Array} attachments - undocumented
|
|
18
|
+
* @prop {Boolean} dms_disabled - whether or not you can send a DM to creator of post
|
|
19
|
+
* @prop {String[]} tags - undocumented
|
|
20
|
+
* @prop {SidechatIdentity} identity - creator's identity information
|
|
21
|
+
* @prop {Boolean} pinned - undocumented
|
|
22
|
+
* @prop {Boolean} is_saved - whether or not the current user has saved the post
|
|
23
|
+
* @prop {"following"|"not_following"} follow_status - whether or not the current user should recieve activity notifications for the post
|
|
24
|
+
* @prop {"group"} [destination] - undocumented
|
|
25
|
+
* @prop {Number} [comment_count] - number of comments on post (only if type=post)
|
|
26
|
+
* @prop {Boolean} [comments_disabled] - whether or not you can comment on post (only if type=post)
|
|
27
|
+
* @prop {SidechatPoll} [poll] - poll attached to post (only if the post has a poll)
|
|
28
|
+
* @prop {String} [parent_post_id] - alphanumeric ID of parent post (only if type=comment)
|
|
29
|
+
* @prop {String} [reply_post_id] - alphanumeric ID of comment being replied to, falls back to parent_post_id (only if type=comment)
|
|
30
|
+
* @prop {String} [context] - text content of comment being replied to, falls back to text (only if type=comment)
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* A group object, containing metadata about a group as well as its join conditions and states. Some properties vary based on the endpoint the object came from.
|
|
35
|
+
* @typedef {Object} SidechatGroup
|
|
36
|
+
* @prop {String} id - alphanumeric ID of group
|
|
37
|
+
* @prop {String} name - human-readable name of group
|
|
38
|
+
* @prop {String} analytics_name - name to file group under
|
|
39
|
+
* @prop {"non_member"|"member"} membership_type - whether or not current user is a member of group
|
|
40
|
+
* @prop {String} color - group's theme color as hex code (e.g., #FFFFFF)
|
|
41
|
+
* @prop {"open"|"closed"|"email_domain"} group_join_type - basis on which group accepts new members
|
|
42
|
+
* @prop {"private"|"public_to_all"|"public_to_schools"} group_visibility - group's visibility setting
|
|
43
|
+
* @prop {"show"|"hide"} asset_library_visibility - whether or not group's asset library is visible
|
|
44
|
+
* @prop {Array} [roles] - undocumented
|
|
45
|
+
* @prop {String} [description] - description of group
|
|
46
|
+
* @prop {SidechatPrivateAssetURL} [icon_url] - image URL for group icon
|
|
47
|
+
* @prop {Number} [member_count] - number of users in group
|
|
48
|
+
* @prop {Boolean} [should_show_leaderboard] - undocumented
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* An asset object, containing information about an image within a post or comment
|
|
53
|
+
* @typedef {Object} SidechatSimpleAsset
|
|
54
|
+
* @prop {String} id - alphanumeric ID of asset
|
|
55
|
+
* @prop {"image"} type - undocumented
|
|
56
|
+
* @prop {"jpeg"|"png"|"gif"} content_type - file type of asset
|
|
57
|
+
* @prop {Number} width - width of asset
|
|
58
|
+
* @prop {Number} height - height of asset
|
|
59
|
+
* @prop {SidechatPrivateAssetURL} [url] - URL string of asset's location
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* An asset object, containing information about an image from the asset library
|
|
64
|
+
* @typedef {Object} SidechatLibraryAsset
|
|
65
|
+
* @prop {String} id - alphanumeric ID of asset
|
|
66
|
+
* @prop {String} created_at - date string of asset creation time
|
|
67
|
+
* @prop {SidechatAssetMetadata} metadata - metadata associated with asset
|
|
68
|
+
* @prop {SidechatPrivateAssetURL} url - URL string of asset's location
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* An asset object, containing information about an image from the asset library
|
|
73
|
+
* @typedef {Object} SidechatAssetMetadata
|
|
74
|
+
* @prop {Number} width - width of asset
|
|
75
|
+
* @prop {Number} height - height of asset
|
|
76
|
+
* @prop {"image"} type - undocumented
|
|
77
|
+
* @prop {"jpeg"|"png"|"gif"} content_type - file type of asset
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* A user's anonymous identity information
|
|
82
|
+
* @typedef {Object} SidechatIdentity
|
|
83
|
+
* @prop {String} name - representation of user's name (varies across app)
|
|
84
|
+
* @prop {Boolean} posted_with_username - undocumented
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* A conversation icon associated with a user
|
|
89
|
+
* @typedef {Object} SidechatIcon
|
|
90
|
+
* @prop {String} emoji - unicode emoji character
|
|
91
|
+
* @prop {String} color - primary hex color code
|
|
92
|
+
* @prop {String} secondary_color - secondary hex color code
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* The current user's information
|
|
97
|
+
* @typedef {Object} SidechatCurrentUser
|
|
98
|
+
* @prop {String} id - alphanumeric ID of current user
|
|
99
|
+
* @prop {String} hashedVerifiedEmail - verified email of current user in an unreadable hashed form
|
|
100
|
+
* @prop {Boolean} isGlobalModerator - whether or not user is a moderator
|
|
101
|
+
* @prop {Boolean} isGlobalAdmin - whether or not user is an admin
|
|
102
|
+
* @prop {SidechatMembership[]} memberships
|
|
103
|
+
* @prop {Array} roles - undocumented
|
|
104
|
+
* @prop {String} emailDomain - domain of verified email address on account
|
|
105
|
+
* @prop {String} wildcardEmailDomain - domain of verified email address on account, preceeded by *. to support subdomains
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* A user's public profile
|
|
110
|
+
* @typedef {Object} SidechatProfile
|
|
111
|
+
* @prop {String} id - alphanumeric ID of user
|
|
112
|
+
* @prop {String} name - public-facing username
|
|
113
|
+
* @prop {SidechatIcon} conversation_icon - icon associated with user
|
|
114
|
+
* @prop {Boolean} description - the user bio
|
|
115
|
+
* @prop {String} index_name - undocumented
|
|
116
|
+
* @prop {String} analytics_name - undocumented
|
|
117
|
+
* @prop {String} color - undocumented
|
|
118
|
+
* @prop {String} share_color_start - undocumented
|
|
119
|
+
* @prop {String} share_color_end - undocumented
|
|
120
|
+
* @prop {"account"} group_join_type - undocumented
|
|
121
|
+
* @prop {"public_to_all"} group_visibility - the profile visibility status
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Representation of a group membership
|
|
126
|
+
* @typedef {Object} SidechatMembership
|
|
127
|
+
* @prop {String} groupId - alphanumeric ID of group
|
|
128
|
+
* @prop {String} type - role of current user in group
|
|
129
|
+
*/
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* An asset URL that can only be accessed by making a request with a user's bearer token attached in the Authorization header
|
|
133
|
+
* @typedef {String} SidechatPrivateAssetURL
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* A cursor for paginating through post lists
|
|
138
|
+
* @typedef {String} SidechatCursorString
|
|
139
|
+
*/
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* A vote on a comment or post
|
|
143
|
+
* @typedef {"upvote"|"downvote"|"none"} SidechatVoteString
|
|
144
|
+
*/
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* A user's bearer authentication token needed for most requests
|
|
148
|
+
* @typedef {String} SidechatAuthToken
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* A list of posts and the associated cursor
|
|
153
|
+
* @typedef {Object} SidechatPostsAndCursor
|
|
154
|
+
* @prop {SidechatPostOrComment[]} posts
|
|
155
|
+
* @prop {SidechatCursorString} cursor
|
|
156
|
+
*/
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* A direct message thread
|
|
161
|
+
* @typedef {Object} SidechatDirectThread
|
|
162
|
+
* @prop {String} id - alphanumeric ID of thread
|
|
163
|
+
* @prop {String} group_id - alphanumeric ID of group in which the thread exists
|
|
164
|
+
* @prop {String} updated_at - date string of when the last message in the chat was sent
|
|
165
|
+
* @prop {String} post_id - post or comment from which the thread was originally sent
|
|
166
|
+
* @prop {String} post_context - the context of the DM thread (only "feed" is known at the moment)
|
|
167
|
+
* @prop {"accepted"} accept_status - whether or not the other user has accepted this DM
|
|
168
|
+
* @prop {"post"|"comment"} type - the type of the content from which the DM was originally sent
|
|
169
|
+
* @prop {SidechatDirectMessage[]} messages - array of direct message objects
|
|
170
|
+
*/
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* A single direct message
|
|
174
|
+
* @typedef {Object} SidechatDirectMessage
|
|
175
|
+
* @prop {String} created_at - time at which the message was sent
|
|
176
|
+
* @prop {String} client_id - alphanumeric ID of the device the message was sent on
|
|
177
|
+
* @prop {String} obfuscatedUserId - obfuscated version of the sender's alphanumeric ID
|
|
178
|
+
* @prop {String} text - body text of the message
|
|
179
|
+
* @prop {String} id - alphanumeric ID of the message
|
|
180
|
+
* @prop {String} chat_id - alphanumeric ID of the thread in which the message resides
|
|
181
|
+
* @prop {Boolean} authored_by_user - whether or not the current user sent the message
|
|
182
|
+
* @prop {"message"} type - undocumented
|
|
183
|
+
*/
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Represents a poll with choices
|
|
187
|
+
* @typedef {Object} SidechatPoll
|
|
188
|
+
* @prop {String} id - alphanumeric ID of poll
|
|
189
|
+
* @prop {String} post_id - alphanumeric ID of post to which poll is attached
|
|
190
|
+
* @prop {SidechatPollChoice[]} choices - array of poll choices
|
|
191
|
+
* @prop {Boolean} allows_view_results - whether or not poll results are publicly visible
|
|
192
|
+
* @prop {Number} view_results_count - number of users who have viewed poll results
|
|
193
|
+
* @prop {Boolean} participated - whether or not current user has voted in poll
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Represents a poll choice
|
|
198
|
+
* @typedef {Object} SidechatPollChoice
|
|
199
|
+
* @prop {Number} count - number of votes for choice
|
|
200
|
+
* @prop {String} text - user-visible text of choice
|
|
201
|
+
* @prop {Boolean} selected - whether or not current user has voted for choice
|
|
202
|
+
*/
|
|
203
|
+
|
|
204
|
+
export default {};</code></pre></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">sidechat.js</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div><div class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
|
package/package.json
CHANGED
|
@@ -82,7 +82,7 @@ class SidechatAPIClient {
|
|
|
82
82
|
method = "GET",
|
|
83
83
|
body = undefined,
|
|
84
84
|
headers = {},
|
|
85
|
-
stripHeaders = false
|
|
85
|
+
stripHeaders = false,
|
|
86
86
|
) => {
|
|
87
87
|
let requestHeaders = this.defaultHeaders;
|
|
88
88
|
if (stripHeaders) {
|
|
@@ -305,7 +305,7 @@ class SidechatAPIClient {
|
|
|
305
305
|
...this.defaultHeaders,
|
|
306
306
|
Authorization: `Bearer ${this.userToken}`,
|
|
307
307
|
},
|
|
308
|
-
}
|
|
308
|
+
},
|
|
309
309
|
);
|
|
310
310
|
const json = await res.json();
|
|
311
311
|
return json;
|
|
@@ -330,15 +330,16 @@ class SidechatAPIClient {
|
|
|
330
330
|
}
|
|
331
331
|
try {
|
|
332
332
|
const res = await fetch(
|
|
333
|
-
`${this.apiRoot}/v1/posts?${
|
|
334
|
-
|
|
333
|
+
`${this.apiRoot}/v1/posts?${
|
|
334
|
+
cursor ? "cursor=" + encodeURIComponent(cursor) + "&" : ""
|
|
335
|
+
}group_id=${groupID}&type=${category}&cacheBust=${Date.now()}`,
|
|
335
336
|
{
|
|
336
337
|
method: "GET",
|
|
337
338
|
headers: {
|
|
338
339
|
...this.defaultHeaders,
|
|
339
340
|
Authorization: `Bearer ${this.userToken}`,
|
|
340
341
|
},
|
|
341
|
-
}
|
|
342
|
+
},
|
|
342
343
|
);
|
|
343
344
|
const json = await res.json();
|
|
344
345
|
return json;
|
|
@@ -393,14 +394,14 @@ class SidechatAPIClient {
|
|
|
393
394
|
}
|
|
394
395
|
try {
|
|
395
396
|
const res = await fetch(
|
|
396
|
-
`${this.apiRoot}/v1/posts/get?include_deleted=${includeDeleted}&post_id=${postID}`,
|
|
397
|
+
`${this.apiRoot}/v1/posts/get?include_deleted=${includeDeleted}&post_id=${postID}&cacheBust=${Date.now()}`,
|
|
397
398
|
{
|
|
398
399
|
method: "GET",
|
|
399
400
|
headers: {
|
|
400
401
|
...this.defaultHeaders,
|
|
401
402
|
Authorization: `Bearer ${this.userToken}`,
|
|
402
403
|
},
|
|
403
|
-
}
|
|
404
|
+
},
|
|
404
405
|
);
|
|
405
406
|
const json = await res.json();
|
|
406
407
|
return json.post;
|
|
@@ -455,14 +456,14 @@ class SidechatAPIClient {
|
|
|
455
456
|
}
|
|
456
457
|
try {
|
|
457
458
|
const res = await fetch(
|
|
458
|
-
`${this.apiRoot}/v1/posts/comments/?post_id=${postID}`,
|
|
459
|
+
`${this.apiRoot}/v1/posts/comments/?post_id=${postID}&cacheBust=${Date.now()}`,
|
|
459
460
|
{
|
|
460
461
|
method: "GET",
|
|
461
462
|
headers: {
|
|
462
463
|
...this.defaultHeaders,
|
|
463
464
|
Authorization: `Bearer ${this.userToken}`,
|
|
464
465
|
},
|
|
465
|
-
}
|
|
466
|
+
},
|
|
466
467
|
);
|
|
467
468
|
const json = await res.json();
|
|
468
469
|
// Function to preprocess the comments and organize them into a nested structure
|
|
@@ -558,13 +559,16 @@ class SidechatAPIClient {
|
|
|
558
559
|
throw new SidechatAPIError("User is not authenticated.");
|
|
559
560
|
}
|
|
560
561
|
try {
|
|
561
|
-
const res = await fetch(
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
562
|
+
const res = await fetch(
|
|
563
|
+
`${this.apiRoot}/v1/groups/explore/search?term=${encodeURIComponent(query)}`,
|
|
564
|
+
{
|
|
565
|
+
method: "GET",
|
|
566
|
+
headers: {
|
|
567
|
+
...this.defaultHeaders,
|
|
568
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
569
|
+
},
|
|
566
570
|
},
|
|
567
|
-
|
|
571
|
+
);
|
|
568
572
|
const json = await res.json();
|
|
569
573
|
return await json.results;
|
|
570
574
|
} catch (err) {
|
|
@@ -675,7 +679,7 @@ class SidechatAPIClient {
|
|
|
675
679
|
body: JSON.stringify({
|
|
676
680
|
group_id: groupID,
|
|
677
681
|
}),
|
|
678
|
-
}
|
|
682
|
+
},
|
|
679
683
|
);
|
|
680
684
|
const json = await res.json();
|
|
681
685
|
return await json;
|
|
@@ -707,7 +711,7 @@ class SidechatAPIClient {
|
|
|
707
711
|
topLevelReplyID,
|
|
708
712
|
assetList = [],
|
|
709
713
|
disableDMs = false,
|
|
710
|
-
anonymous = false
|
|
714
|
+
anonymous = false,
|
|
711
715
|
) => {
|
|
712
716
|
if (!this.userToken) {
|
|
713
717
|
throw new SidechatAPIError("User is not authenticated.");
|
|
@@ -760,7 +764,7 @@ class SidechatAPIClient {
|
|
|
760
764
|
disableComments = false,
|
|
761
765
|
anonymous = false,
|
|
762
766
|
repostId = undefined,
|
|
763
|
-
pollOptions = undefined
|
|
767
|
+
pollOptions = undefined,
|
|
764
768
|
) => {
|
|
765
769
|
if (!this.userToken) {
|
|
766
770
|
throw new SidechatAPIError("User is not authenticated.");
|
|
@@ -776,13 +780,13 @@ class SidechatAPIClient {
|
|
|
776
780
|
dms_disabled: disableDMs,
|
|
777
781
|
comments_disabled: disableComments,
|
|
778
782
|
using_identity: !anonymous,
|
|
779
|
-
quote_post_id: repostId
|
|
783
|
+
quote_post_id: repostId,
|
|
780
784
|
};
|
|
781
785
|
// If pollOptions is provided and is a non-empty array, add poll_request
|
|
782
786
|
if (Array.isArray(pollOptions) && pollOptions.length > 0) {
|
|
783
787
|
body.poll_request = {
|
|
784
788
|
allows_view_results: true,
|
|
785
|
-
choices: pollOptions
|
|
789
|
+
choices: pollOptions,
|
|
786
790
|
};
|
|
787
791
|
}
|
|
788
792
|
const res = await fetch(`${this.apiRoot}/v1/posts`, {
|
|
@@ -872,16 +876,19 @@ class SidechatAPIClient {
|
|
|
872
876
|
throw new SidechatAPIError("User is not authenticated.");
|
|
873
877
|
}
|
|
874
878
|
try {
|
|
875
|
-
const res = await fetch(
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
879
|
+
const res = await fetch(
|
|
880
|
+
`${this.apiRoot}/v1/polls/view_results&cacheBust=${Date.now()}`,
|
|
881
|
+
{
|
|
882
|
+
method: "POST",
|
|
883
|
+
headers: {
|
|
884
|
+
...this.defaultHeaders,
|
|
885
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
886
|
+
},
|
|
887
|
+
body: JSON.stringify({
|
|
888
|
+
poll_id: pollId,
|
|
889
|
+
}),
|
|
880
890
|
},
|
|
881
|
-
|
|
882
|
-
poll_id: pollId,
|
|
883
|
-
}),
|
|
884
|
-
});
|
|
891
|
+
);
|
|
885
892
|
const json = await res.json();
|
|
886
893
|
return await json;
|
|
887
894
|
} catch (err) {
|
|
@@ -916,7 +923,9 @@ class SidechatAPIClient {
|
|
|
916
923
|
uri: uri,
|
|
917
924
|
});
|
|
918
925
|
|
|
919
|
-
const urlReq = await this.sendRequest(
|
|
926
|
+
const urlReq = await this.sendRequest(
|
|
927
|
+
`/v1/assets/upload_url?content_type=${imageType}`,
|
|
928
|
+
);
|
|
920
929
|
const urlJson = await urlReq.json();
|
|
921
930
|
|
|
922
931
|
try {
|
|
@@ -931,7 +940,7 @@ class SidechatAPIClient {
|
|
|
931
940
|
return `${this.apiRoot}/v1/assets/library/${urlJson.asset_id}`;
|
|
932
941
|
} else {
|
|
933
942
|
throw new SidechatAPIError(
|
|
934
|
-
`Couldn't upload image - error ${uploadReq.status}
|
|
943
|
+
`Couldn't upload image - error ${uploadReq.status}`,
|
|
935
944
|
);
|
|
936
945
|
}
|
|
937
946
|
} catch (e) {
|
|
@@ -997,7 +1006,7 @@ class SidechatAPIClient {
|
|
|
997
1006
|
Authorization: `Bearer ${this.userToken}`,
|
|
998
1007
|
},
|
|
999
1008
|
body: JSON.stringify({
|
|
1000
|
-
bio: bio
|
|
1009
|
+
bio: bio,
|
|
1001
1010
|
}),
|
|
1002
1011
|
});
|
|
1003
1012
|
const json = await res.json();
|
|
@@ -1028,7 +1037,7 @@ class SidechatAPIClient {
|
|
|
1028
1037
|
...this.defaultHeaders,
|
|
1029
1038
|
Authorization: `Bearer ${this.userToken}`,
|
|
1030
1039
|
},
|
|
1031
|
-
}
|
|
1040
|
+
},
|
|
1032
1041
|
);
|
|
1033
1042
|
if (res?.status == 200 || res?.status == 204) {
|
|
1034
1043
|
return true;
|
|
@@ -1083,13 +1092,16 @@ class SidechatAPIClient {
|
|
|
1083
1092
|
throw new SidechatAPIError("User is not authenticated.");
|
|
1084
1093
|
}
|
|
1085
1094
|
try {
|
|
1086
|
-
const res = await fetch(
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1095
|
+
const res = await fetch(
|
|
1096
|
+
`${this.apiRoot}/v1/groups/username?username=${username}&cacheBust=${Date.now()}`,
|
|
1097
|
+
{
|
|
1098
|
+
method: "GET",
|
|
1099
|
+
headers: {
|
|
1100
|
+
...this.defaultHeaders,
|
|
1101
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
1102
|
+
},
|
|
1103
|
+
},
|
|
1104
|
+
);
|
|
1093
1105
|
const json = await res.json();
|
|
1094
1106
|
return await json.group;
|
|
1095
1107
|
} catch (err) {
|
|
@@ -1110,13 +1122,16 @@ class SidechatAPIClient {
|
|
|
1110
1122
|
throw new SidechatAPIError("User is not authenticated.");
|
|
1111
1123
|
}
|
|
1112
1124
|
try {
|
|
1113
|
-
const res = await fetch(
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1125
|
+
const res = await fetch(
|
|
1126
|
+
`${this.apiRoot}/v1/users/posts?username=${username}`,
|
|
1127
|
+
{
|
|
1128
|
+
method: "GET",
|
|
1129
|
+
headers: {
|
|
1130
|
+
...this.defaultHeaders,
|
|
1131
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
1132
|
+
},
|
|
1133
|
+
},
|
|
1134
|
+
);
|
|
1120
1135
|
const json = await res.json();
|
|
1121
1136
|
return await json.posts;
|
|
1122
1137
|
} catch (err) {
|
|
@@ -1164,13 +1179,16 @@ class SidechatAPIClient {
|
|
|
1164
1179
|
throw new SidechatAPIError("User is not authenticated.");
|
|
1165
1180
|
}
|
|
1166
1181
|
try {
|
|
1167
|
-
const res = await fetch(
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1182
|
+
const res = await fetch(
|
|
1183
|
+
`${this.apiRoot}/v1/chats/explore&cacheBust=${Date.now()}`,
|
|
1184
|
+
{
|
|
1185
|
+
method: "GET",
|
|
1186
|
+
headers: {
|
|
1187
|
+
...this.defaultHeaders,
|
|
1188
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
1189
|
+
},
|
|
1172
1190
|
},
|
|
1173
|
-
|
|
1191
|
+
);
|
|
1174
1192
|
const json = await res.json();
|
|
1175
1193
|
return await json.chats;
|
|
1176
1194
|
} catch (err) {
|
|
@@ -1194,7 +1212,7 @@ class SidechatAPIClient {
|
|
|
1194
1212
|
displayName,
|
|
1195
1213
|
emoji,
|
|
1196
1214
|
primaryColor,
|
|
1197
|
-
secondaryColor
|
|
1215
|
+
secondaryColor,
|
|
1198
1216
|
) => {
|
|
1199
1217
|
if (!this.userToken) {
|
|
1200
1218
|
throw new SidechatAPIError("User is not authenticated.");
|
|
@@ -1275,7 +1293,7 @@ class SidechatAPIClient {
|
|
|
1275
1293
|
...this.defaultHeaders,
|
|
1276
1294
|
Authorization: `Bearer ${this.userToken}`,
|
|
1277
1295
|
},
|
|
1278
|
-
}
|
|
1296
|
+
},
|
|
1279
1297
|
);
|
|
1280
1298
|
const json = await res.json();
|
|
1281
1299
|
return await json.chat;
|
|
@@ -1337,7 +1355,7 @@ class SidechatAPIClient {
|
|
|
1337
1355
|
clientID,
|
|
1338
1356
|
postID,
|
|
1339
1357
|
anonymous = false,
|
|
1340
|
-
postContext = "feed"
|
|
1358
|
+
postContext = "feed",
|
|
1341
1359
|
) => {
|
|
1342
1360
|
if (!this.userToken) {
|
|
1343
1361
|
throw new SidechatAPIError("User is not authenticated.");
|
|
@@ -1385,7 +1403,7 @@ class SidechatAPIClient {
|
|
|
1385
1403
|
body: JSON.stringify({
|
|
1386
1404
|
post_id: postID,
|
|
1387
1405
|
post_context: "feed",
|
|
1388
|
-
report: false
|
|
1406
|
+
report: false,
|
|
1389
1407
|
}),
|
|
1390
1408
|
});
|
|
1391
1409
|
const json = await res.json();
|