sidechat.js 2.3.3 → 2.3.7
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 +39 -2
- package/dist/classes/SidechatAPIClient.d.ts.map +1 -1
- package/dist/classes/SidechatColorList.d.ts +25 -0
- package/dist/classes/SidechatColorList.d.ts.map +1 -0
- package/dist/index.cjs +247 -3
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +247 -4
- package/docs/sidechat.js/2.3.6/SidechatAPIClient.html +3 -0
- package/docs/sidechat.js/2.3.6/SidechatAPIError.html +3 -0
- package/docs/sidechat.js/2.3.6/classes_SidechatAPIClient.js.html +919 -0
- package/docs/sidechat.js/2.3.6/classes_SidechatAPIError.js.html +16 -0
- package/docs/sidechat.js/2.3.6/classes_SidechatColorList.js.html +80 -0
- package/docs/sidechat.js/2.3.6/data/search.json +1 -0
- package/docs/sidechat.js/2.3.6/fonts/Inconsolata-Regular.ttf +0 -0
- package/docs/sidechat.js/2.3.6/fonts/OpenSans-Regular.ttf +0 -0
- package/docs/sidechat.js/2.3.6/fonts/WorkSans-Bold.ttf +0 -0
- package/docs/sidechat.js/2.3.6/global.html +3 -0
- package/docs/sidechat.js/2.3.6/index.html +4 -0
- package/docs/sidechat.js/2.3.6/scripts/core.js +702 -0
- package/docs/sidechat.js/2.3.6/scripts/core.min.js +23 -0
- package/docs/sidechat.js/2.3.6/scripts/resize.js +90 -0
- package/docs/sidechat.js/2.3.6/scripts/search.js +265 -0
- package/docs/sidechat.js/2.3.6/scripts/search.min.js +6 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/Apache-License-2.0.txt +202 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/fuse.js +9 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-line-num-original.js +369 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-line-num.js +1 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-original.js +5171 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/hljs.js +1 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/popper.js +5 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/tippy.js +1 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/tocbot.js +672 -0
- package/docs/sidechat.js/2.3.6/scripts/third-party/tocbot.min.js +1 -0
- package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-base.css +975 -0
- package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-dark.css +407 -0
- package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-light.css +388 -0
- package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme.min.css +1 -0
- package/docs/sidechat.js/2.3.6/tutorial-Authentication.html +14 -0
- package/docs/sidechat.js/2.3.6/tutorial-Email Registration.html +6 -0
- package/docs/sidechat.js/2.3.6/types_SidechatTypes.js.html +134 -0
- package/jsdoc.json +2 -1
- package/package.json +1 -1
- package/src/classes/SidechatAPIClient.js +170 -3
- package/src/classes/SidechatColorList.js +77 -0
- package/src/index.js +2 -1
- package/src/tests/colorTest.js +1 -0
|
@@ -0,0 +1,134 @@
|
|
|
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">Home</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><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#SidechatColorList">SidechatColorList</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#SidechatGroup">SidechatGroup</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#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#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/offsides#README.md" 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 - undocumented
|
|
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 {Array} tags - undocumented
|
|
20
|
+
* @prop {SidechatIdentity} identity - creator's identity information
|
|
21
|
+
* @prop {Boolean} pinned - undocumented
|
|
22
|
+
* @prop {Boolean} is_saved - undocumented
|
|
23
|
+
* @prop {"following"|"not_following"} follow_status - undocumented
|
|
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 {String} [parent_post_id] - alphanumeric ID of parent post (only if type=comment)
|
|
28
|
+
* @prop {String} [reply_post_id] - alphanumeric ID of comment being replied to, falls back to parent_post_id (only if type=comment)
|
|
29
|
+
* @prop {String} [context] - text content of comment being replied to, falls back to text (only if type=comment)
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 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.
|
|
34
|
+
* @typedef {Object} SidechatGroup
|
|
35
|
+
* @prop {String} id - alphanumeric ID of group
|
|
36
|
+
* @prop {String} name - human-readable name of group
|
|
37
|
+
* @prop {String} analytics_name - name to file group under
|
|
38
|
+
* @prop {"non_member"|"member"} membership_type - whether or not current user is a member of group
|
|
39
|
+
* @prop {String} color - group's theme color as hex code (e.g., #FFFFFF)
|
|
40
|
+
* @prop {"open"|"closed"|"email_domain"} group_join_type - basis on which group accepts new members
|
|
41
|
+
* @prop {"private"|"public_to_all"|"public_to_schools"} group_visibility - group's visibility setting
|
|
42
|
+
* @prop {"show"|"hide"} asset_library_visibility - whether or not group's asset library is visible
|
|
43
|
+
* @prop {Array} [roles] - undocumented
|
|
44
|
+
* @prop {String} [description] - description of group
|
|
45
|
+
* @prop {SidechatPrivateAssetURL} [icon_url] - image URL for group icon
|
|
46
|
+
* @prop {Number} [member_count] - number of users in group
|
|
47
|
+
* @prop {Boolean} [should_show_leaderboard] - undocumented
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* An asset object, containing information about an image within a post or comment
|
|
52
|
+
* @typedef {Object} SidechatSimpleAsset
|
|
53
|
+
* @prop {String} id - alphanumeric ID of asset
|
|
54
|
+
* @prop {"image"} type - undocumented
|
|
55
|
+
* @prop {"jpeg"|"png"|"gif"} content_type - file type of asset
|
|
56
|
+
* @prop {Number} width - width of asset
|
|
57
|
+
* @prop {Number} height - height of asset
|
|
58
|
+
* @prop {SidechatPrivateAssetURL} [url] - URL string of asset's location
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* An asset object, containing information about an image from the asset library
|
|
63
|
+
* @typedef {Object} SidechatLibraryAsset
|
|
64
|
+
* @prop {String} id - alphanumeric ID of asset
|
|
65
|
+
* @prop {String} created_at - date string of asset creation time
|
|
66
|
+
* @prop {SidechatAssetMetadata} metadata - metadata associated with asset
|
|
67
|
+
* @prop {SidechatPrivateAssetURL} url - URL string of asset's location
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* An asset object, containing information about an image from the asset library
|
|
72
|
+
* @typedef {Object} SidechatAssetMetadata
|
|
73
|
+
* @prop {Number} width - width of asset
|
|
74
|
+
* @prop {Number} height - height of asset
|
|
75
|
+
* @prop {"image"} type - undocumented
|
|
76
|
+
* @prop {"jpeg"|"png"|"gif"} content_type - file type of asset
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* A user's anonymous identity information
|
|
81
|
+
* @typedef {Object} SidechatIdentity
|
|
82
|
+
* @prop {String} name - representation of user's name (varies across app)
|
|
83
|
+
* @prop {Boolean} posted_with_username - undocumented
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The current user's information
|
|
88
|
+
* @typedef {Object} SidechatCurrentUser
|
|
89
|
+
* @prop {String} id - alphanumeric ID of current user
|
|
90
|
+
* @prop {String} hashedVerifiedEmail - verified email of current user in an unreadable hashed form
|
|
91
|
+
* @prop {Boolean} isGlobalModerator - whether or not user is a moderator
|
|
92
|
+
* @prop {Boolean} isGlobalAdmin - whether or not user is an admin
|
|
93
|
+
* @prop {SidechatMembership[]} memberships
|
|
94
|
+
* @prop {Array} roles - undocumented
|
|
95
|
+
* @prop {String} emailDomain - domain of verified email address on account
|
|
96
|
+
* @prop {String} wildcardEmailDomain - domain of verified email address on account, preceeded by *. to support subdomains
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Representation of a group membership
|
|
101
|
+
* @typedef {Object} SidechatMembership
|
|
102
|
+
* @prop {String} groupId - alphanumeric ID of group
|
|
103
|
+
* @prop {String} type - role of current user in group
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* An asset URL that can only be accessed by making a request with a user's bearer token attached in the Authorization header
|
|
108
|
+
* @typedef {String} SidechatPrivateAssetURL
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* A cursor for paginating through post lists
|
|
113
|
+
* @typedef {String} SidechatCursorString
|
|
114
|
+
*/
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* A vote on a comment or post
|
|
118
|
+
* @typedef {"upvote"|"downvote"|"none"} SidechatVoteString
|
|
119
|
+
*/
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* A user's bearer authentication token needed for most requests
|
|
123
|
+
* @typedef {String} SidechatAuthToken
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* A list of posts and the associated cursor
|
|
128
|
+
* @typedef {Object} SidechatPostsAndCursor
|
|
129
|
+
* @prop {SidechatPostOrComment[]} posts
|
|
130
|
+
* @prop {SidechatCursorString} cursor
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
export default {};
|
|
134
|
+
</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">Home</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" 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><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#SidechatColorList">SidechatColorList</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#SidechatGroup">SidechatGroup</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#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#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/jsdoc.json
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
"README.md",
|
|
7
7
|
"src/types/SidechatTypes.js",
|
|
8
8
|
"src/classes/SidechatAPIClient.js",
|
|
9
|
-
"src/classes/SidechatAPIError.js"
|
|
9
|
+
"src/classes/SidechatAPIError.js",
|
|
10
|
+
"src/classes/SidechatColorList.js"
|
|
10
11
|
],
|
|
11
12
|
"includePattern": ".js$",
|
|
12
13
|
"excludePattern": "(node_modules/|docs)"
|
package/package.json
CHANGED
|
@@ -21,7 +21,7 @@ class SidechatAPIClient {
|
|
|
21
21
|
defaultHeaders = {
|
|
22
22
|
Accept: "application/json",
|
|
23
23
|
"Content-Type": "application/json",
|
|
24
|
-
"App-Version": "
|
|
24
|
+
"App-Version": "6.0.0",
|
|
25
25
|
Dnt: 1,
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -373,6 +373,41 @@ class SidechatAPIClient {
|
|
|
373
373
|
}
|
|
374
374
|
};
|
|
375
375
|
|
|
376
|
+
/**
|
|
377
|
+
* Fetches the posts or comments that the user has created
|
|
378
|
+
* @method
|
|
379
|
+
* @since 2.3.5
|
|
380
|
+
* @param {"posts"|"comments"} contentType - type of user content to fetch
|
|
381
|
+
* @returns {SidechatPostOrComment[]} post object
|
|
382
|
+
*/
|
|
383
|
+
getUserContent = async (contentType) => {
|
|
384
|
+
if (!this.userToken) {
|
|
385
|
+
throw new SidechatAPIError("User is not authenticated.");
|
|
386
|
+
}
|
|
387
|
+
if (contentType == "posts") {
|
|
388
|
+
contentType = "my_posts";
|
|
389
|
+
} else if (contentType == "comments") {
|
|
390
|
+
contentType = "my_comments";
|
|
391
|
+
}
|
|
392
|
+
try {
|
|
393
|
+
const res = await fetch(
|
|
394
|
+
`https://api.sidechat.lol/v1/posts&type=${contentType}`,
|
|
395
|
+
{
|
|
396
|
+
method: "GET",
|
|
397
|
+
headers: {
|
|
398
|
+
...this.defaultHeaders,
|
|
399
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
400
|
+
},
|
|
401
|
+
}
|
|
402
|
+
);
|
|
403
|
+
const json = await res.json();
|
|
404
|
+
return json.posts;
|
|
405
|
+
} catch (err) {
|
|
406
|
+
console.error(err);
|
|
407
|
+
throw new SidechatAPIError(`Failed to get content from user.`);
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
|
|
376
411
|
/**
|
|
377
412
|
* Get all the commments on a post
|
|
378
413
|
* @method
|
|
@@ -613,6 +648,7 @@ class SidechatAPIClient {
|
|
|
613
648
|
* @param {SidechatSimpleAsset[]} [assetList] - list of assets to attach.
|
|
614
649
|
* @param {Boolean} [disableDMs] - prevent direct messages from being sent to post's author
|
|
615
650
|
* @param {Boolean} [disableComments] - whether or not comments should be disabled on post
|
|
651
|
+
* @param {Boolean} [anonymous] - whether or not to hide user's name and icon on post
|
|
616
652
|
* @returns {SidechatPostOrComment} the created post
|
|
617
653
|
*/
|
|
618
654
|
createPost = async (
|
|
@@ -620,7 +656,8 @@ class SidechatAPIClient {
|
|
|
620
656
|
groupID,
|
|
621
657
|
assetList = [],
|
|
622
658
|
disableDMs = false,
|
|
623
|
-
disableComments = false
|
|
659
|
+
disableComments = false,
|
|
660
|
+
anonymous = false
|
|
624
661
|
) => {
|
|
625
662
|
if (!this.userToken) {
|
|
626
663
|
throw new SidechatAPIError("User is not authenticated.");
|
|
@@ -640,6 +677,7 @@ class SidechatAPIClient {
|
|
|
640
677
|
attachments: [],
|
|
641
678
|
dms_disabled: disableDMs,
|
|
642
679
|
comments_disabled: disableComments,
|
|
680
|
+
using_identity: !anonymous,
|
|
643
681
|
}),
|
|
644
682
|
});
|
|
645
683
|
const json = await res.json();
|
|
@@ -683,7 +721,7 @@ class SidechatAPIClient {
|
|
|
683
721
|
* Sets the conversation icon of the current user
|
|
684
722
|
* @method
|
|
685
723
|
* @since 2.2.1
|
|
686
|
-
* @param {String} userID - alphanumeric ID of
|
|
724
|
+
* @param {String} userID - alphanumeric ID of user
|
|
687
725
|
* @param {String} emoji - emoji to set as icon
|
|
688
726
|
* @param {String} primaryColor - hex string (including #) of primary color
|
|
689
727
|
* @param {String} secondaryColor - hex string (including #) of secondary color
|
|
@@ -697,6 +735,7 @@ class SidechatAPIClient {
|
|
|
697
735
|
method: "PATCH",
|
|
698
736
|
headers: {
|
|
699
737
|
...this.defaultHeaders,
|
|
738
|
+
"App-Version": "0",
|
|
700
739
|
Authorization: `Bearer ${this.userToken}`,
|
|
701
740
|
},
|
|
702
741
|
body: JSON.stringify({
|
|
@@ -716,6 +755,69 @@ class SidechatAPIClient {
|
|
|
716
755
|
}
|
|
717
756
|
};
|
|
718
757
|
|
|
758
|
+
/**
|
|
759
|
+
* Checks if user can set their username to a string
|
|
760
|
+
* @method
|
|
761
|
+
* @since 2.3.6
|
|
762
|
+
* @param {String} username - string to check
|
|
763
|
+
* @returns {Boolean} whether or not username is valid and unused
|
|
764
|
+
*/
|
|
765
|
+
checkUsername = async (username) => {
|
|
766
|
+
if (!this.userToken) {
|
|
767
|
+
throw new SidechatAPIError("User is not authenticated.");
|
|
768
|
+
}
|
|
769
|
+
try {
|
|
770
|
+
const res = await fetch(
|
|
771
|
+
`https://api.sidechat.lol/v1/users/username?username=${username}`,
|
|
772
|
+
{
|
|
773
|
+
method: "GET",
|
|
774
|
+
headers: {
|
|
775
|
+
...this.defaultHeaders,
|
|
776
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
777
|
+
},
|
|
778
|
+
}
|
|
779
|
+
);
|
|
780
|
+
if (res?.status == 200 || res?.status == 204) {
|
|
781
|
+
return true;
|
|
782
|
+
} else {
|
|
783
|
+
return false;
|
|
784
|
+
}
|
|
785
|
+
} catch (err) {
|
|
786
|
+
console.error(err);
|
|
787
|
+
throw new SidechatAPIError(`Failed to check username.`);
|
|
788
|
+
}
|
|
789
|
+
};
|
|
790
|
+
|
|
791
|
+
/**
|
|
792
|
+
* Changes the username of the current user
|
|
793
|
+
* @method
|
|
794
|
+
* @since 2.3.6
|
|
795
|
+
* @param {String} userID - alphanumeric ID of user
|
|
796
|
+
* @param {String} username - new username to set
|
|
797
|
+
*/
|
|
798
|
+
setUsername = async (userID, username) => {
|
|
799
|
+
if (!this.userToken) {
|
|
800
|
+
throw new SidechatAPIError("User is not authenticated.");
|
|
801
|
+
}
|
|
802
|
+
try {
|
|
803
|
+
const res = await fetch(`https://api.sidechat.lol/v1/users/${userID}`, {
|
|
804
|
+
method: "PATCH",
|
|
805
|
+
headers: {
|
|
806
|
+
...this.defaultHeaders,
|
|
807
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
808
|
+
},
|
|
809
|
+
body: JSON.stringify({
|
|
810
|
+
username: username,
|
|
811
|
+
}),
|
|
812
|
+
});
|
|
813
|
+
const json = await res.json();
|
|
814
|
+
return await json.user;
|
|
815
|
+
} catch (err) {
|
|
816
|
+
console.error(err);
|
|
817
|
+
throw new SidechatAPIError(`Failed to set icon.`);
|
|
818
|
+
}
|
|
819
|
+
};
|
|
820
|
+
|
|
719
821
|
/**
|
|
720
822
|
* Marks an activity item as read
|
|
721
823
|
* @method
|
|
@@ -744,6 +846,71 @@ class SidechatAPIClient {
|
|
|
744
846
|
throw new SidechatAPIError(`Failed to mark activity as read.`);
|
|
745
847
|
}
|
|
746
848
|
};
|
|
849
|
+
|
|
850
|
+
/**
|
|
851
|
+
* Retrieves joinable group chats
|
|
852
|
+
* @method
|
|
853
|
+
* @since 2.3.5
|
|
854
|
+
*/
|
|
855
|
+
getGroupChats = async () => {
|
|
856
|
+
if (!this.userToken) {
|
|
857
|
+
throw new SidechatAPIError("User is not authenticated.");
|
|
858
|
+
}
|
|
859
|
+
try {
|
|
860
|
+
const res = await fetch(`https://api.sidechat.lol/v1/chats/explore`, {
|
|
861
|
+
method: "GET",
|
|
862
|
+
headers: {
|
|
863
|
+
...this.defaultHeaders,
|
|
864
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
865
|
+
},
|
|
866
|
+
});
|
|
867
|
+
const json = await res.json();
|
|
868
|
+
return await json.chats;
|
|
869
|
+
} catch (err) {
|
|
870
|
+
console.error(err);
|
|
871
|
+
throw new SidechatAPIError(`Failed to get groupchats.`);
|
|
872
|
+
}
|
|
873
|
+
};
|
|
874
|
+
|
|
875
|
+
/**
|
|
876
|
+
* Joins a group chat
|
|
877
|
+
* @method
|
|
878
|
+
* @since 2.3.5
|
|
879
|
+
*/
|
|
880
|
+
joinGroupChat = async (
|
|
881
|
+
groupChatID,
|
|
882
|
+
displayName,
|
|
883
|
+
emoji,
|
|
884
|
+
primaryColor,
|
|
885
|
+
secondaryColor
|
|
886
|
+
) => {
|
|
887
|
+
if (!this.userToken) {
|
|
888
|
+
throw new SidechatAPIError("User is not authenticated.");
|
|
889
|
+
}
|
|
890
|
+
try {
|
|
891
|
+
const res = await fetch(`https://api.sidechat.lol/v1/chats/groups/join`, {
|
|
892
|
+
method: "GET",
|
|
893
|
+
headers: {
|
|
894
|
+
...this.defaultHeaders,
|
|
895
|
+
Authorization: `Bearer ${this.userToken}`,
|
|
896
|
+
},
|
|
897
|
+
body: JSON.stringify({
|
|
898
|
+
chat_id: groupChatID,
|
|
899
|
+
identity: {
|
|
900
|
+
display_name: displayName,
|
|
901
|
+
emoji: emoji,
|
|
902
|
+
secondary_color: secondaryColor,
|
|
903
|
+
color: primaryColor,
|
|
904
|
+
},
|
|
905
|
+
}),
|
|
906
|
+
});
|
|
907
|
+
const json = await res.json();
|
|
908
|
+
return await json;
|
|
909
|
+
} catch (err) {
|
|
910
|
+
console.error(err);
|
|
911
|
+
throw new SidechatAPIError(`Failed to join groupchat.`);
|
|
912
|
+
}
|
|
913
|
+
};
|
|
747
914
|
}
|
|
748
915
|
|
|
749
916
|
export default SidechatAPIClient;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef SidechatColor
|
|
3
|
+
* @prop {String} primary - hex code of primary color
|
|
4
|
+
* @prop {String} secondary - hex code of secondary color
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* List of colors compatible with user conversation icons
|
|
9
|
+
* @constant
|
|
10
|
+
* @type {{ colors: SidechatColor[] }}
|
|
11
|
+
*/
|
|
12
|
+
const SidechatColorList = {
|
|
13
|
+
colors: [
|
|
14
|
+
{
|
|
15
|
+
primary: "#74DEEE",
|
|
16
|
+
secondary: "#239EAB",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
primary: "#15FF46",
|
|
20
|
+
secondary: "#3FC0FF",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
primary: "#D9FB8A",
|
|
24
|
+
secondary: "#B1FD00",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
primary: "#FC40FF",
|
|
28
|
+
secondary: "#0DD5B2",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
primary: "#3E973C",
|
|
32
|
+
secondary: "#0F430E",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
primary: "#FFD305",
|
|
36
|
+
secondary: "#F4B320",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
primary: "#8483FF",
|
|
40
|
+
secondary: "#5857FF",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
primary: "#FA81FF",
|
|
44
|
+
secondary: "#722DFF",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
primary: "#00CBFE",
|
|
48
|
+
secondary: "#0D13D5",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
primary: "#FF7B51",
|
|
52
|
+
secondary: "#B2431F",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
primary: "#FF47CC",
|
|
56
|
+
secondary: "#69004C",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
primary: "#00EE6E",
|
|
60
|
+
secondary: "#0C75E6",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
primary: "#FF1885",
|
|
64
|
+
secondary: "#FA81FF",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
primary: "#D8DC44",
|
|
68
|
+
secondary: "#228B3F",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
primary: "#0968E5",
|
|
72
|
+
secondary: "#091970",
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export default SidechatColorList;
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "./types/SidechatTypes.js";
|
|
2
2
|
import SidechatAPIClient from "./classes/SidechatAPIClient.js";
|
|
3
3
|
import SidechatAPIError from "./classes/SidechatAPIError.js";
|
|
4
|
+
import SidechatColorList from "./classes/SidechatColorList.js";
|
|
4
5
|
|
|
5
|
-
export { SidechatAPIClient, SidechatAPIError };
|
|
6
|
+
export { SidechatAPIClient, SidechatAPIError, SidechatColorList };
|