lemmy-js-client 0.11.4-rc.9 → 0.12.3-rc.2

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/README.md CHANGED
@@ -16,39 +16,31 @@ A javascript / typescript http and websocket client and type system for [Lemmy](
16
16
 
17
17
  ## Usage
18
18
 
19
- Check out the [Lemmy HTTP / websocket API](https://dev.lemmy.ml/docs/contributing_websocket_http_api.html) for all the commands.
19
+ ### Websocket Client
20
20
 
21
- ### Websocket
21
+ [LemmyWebsocket docs](classes/LemmyWebsocket.html)
22
22
 
23
- ```js
24
- import { LoginForm, LemmyWebsocket } from 'lemmy-js-client';
23
+ ```ts
24
+ import { Login, LemmyWebsocket } from 'lemmy-js-client';
25
25
 
26
26
  let client: LemmyWebsocket = new LemmyWebsocket();
27
+
28
+ let form: Login {
29
+ username_or_email: "my_email@email.tld",
30
+ password: "my_pass",
31
+ };
32
+
27
33
  this.ws.send(client.login(form));
28
34
  ```
29
35
 
30
- ### HTTP
36
+ ### HTTP Client
37
+
38
+ [LemmyHttp docs](classes/LemmyHttp.html)
31
39
 
32
- ```js
40
+ ```ts
33
41
  import { LemmyHttp } from 'lemmy-js-client';
34
42
 
35
43
  let baseUrl = 'https://lemmy.ml';
36
44
  let client: LemmyHttp = new LemmyHttp(baseUrl, headers?);
37
45
  let jwt = await client.httpLogin(loginForm).jwt;
38
46
  ```
39
-
40
- ## Support / Donate
41
-
42
- Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
43
-
44
- - [Support on Liberapay](https://liberapay.com/Lemmy).
45
- - [Support on Patreon](https://www.patreon.com/dessalines).
46
- - [Support on OpenCollective](https://opencollective.com/lemmy).
47
- - [List of Sponsors](https://dev.lemmy.ml/sponsors).
48
-
49
- ### Crypto
50
-
51
- - bitcoin: `1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK`
52
- - ethereum: `0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01`
53
- - monero: `41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV`
54
-
package/dist/http.d.ts CHANGED
@@ -1,76 +1,289 @@
1
- import { CommentResponse, CreateComment, CreateCommentLike, DeleteComment, EditComment, GetComments, GetCommentsResponse, MarkCommentAsRead, RemoveComment, SaveComment } from './interfaces/api/comment';
1
+ import { CommentReportResponse, CommentResponse, CreateComment, CreateCommentLike, CreateCommentReport, DeleteComment, EditComment, GetComments, GetCommentsResponse, ListCommentReports, ListCommentReportsResponse, MarkCommentAsRead, RemoveComment, ResolveCommentReport, SaveComment } from './interfaces/api/comment';
2
2
  import { AddModToCommunity, AddModToCommunityResponse, BanFromCommunity, BanFromCommunityResponse, BlockCommunity, BlockCommunityResponse, CommunityResponse, CreateCommunity, DeleteCommunity, EditCommunity, FollowCommunity, GetCommunity, GetCommunityResponse, ListCommunities, ListCommunitiesResponse, RemoveCommunity, TransferCommunity } from './interfaces/api/community';
3
- import { CreatePost, CreatePostLike, DeletePost, EditPost, GetPost, GetPostResponse, GetPosts, GetPostsResponse, LockPost, PostResponse, RemovePost, SavePost, StickyPost } from './interfaces/api/post';
4
- import { CreateSite, EditSite, GetModlog, GetModlogResponse, GetSite, GetSiteConfig, GetSiteConfigResponse, GetSiteResponse, SaveSiteConfig, Search, SearchResponse, SiteResponse, TransferSite } from './interfaces/api/site';
5
- import { AddAdmin, AddAdminResponse, BanPerson, BanPersonResponse, CreatePrivateMessage, DeleteAccount, DeletePrivateMessage, EditPrivateMessage, GetCaptchaResponse, GetPrivateMessages, GetReplies, GetRepliesResponse, GetPersonDetails, GetPersonDetailsResponse, GetPersonMentions, GetPersonMentionsResponse, Login, LoginResponse, MarkAllAsRead, MarkPrivateMessageAsRead, MarkPersonMentionAsRead, PasswordChange, PasswordReset, PasswordResetResponse, PrivateMessageResponse, PrivateMessagesResponse, Register, SaveUserSettings, ChangePassword, PersonMentionResponse, BlockPerson, BlockPersonResponse } from './interfaces/api/person';
3
+ import { CreatePost, CreatePostLike, DeletePost, EditPost, GetPost, GetPostResponse, GetPosts, GetPostsResponse, GetSiteMetadata, GetSiteMetadataResponse, LockPost, CreatePostReport, PostReportResponse, PostResponse, RemovePost, SavePost, StickyPost, ResolvePostReport, ListPostReports, ListPostReportsResponse } from './interfaces/api/post';
4
+ import { CreateSite, EditSite, GetModlog, GetModlogResponse, GetSite, GetSiteConfig, GetSiteConfigResponse, GetSiteResponse, ResolveObject, ResolveObjectResponse, SaveSiteConfig, Search, SearchResponse, SiteResponse, TransferSite } from './interfaces/api/site';
5
+ import { AddAdmin, AddAdminResponse, BanPerson, BanPersonResponse, CreatePrivateMessage, DeleteAccount, DeletePrivateMessage, EditPrivateMessage, GetCaptchaResponse, GetPrivateMessages, GetReplies, GetRepliesResponse, GetPersonDetails, GetPersonDetailsResponse, GetPersonMentions, GetPersonMentionsResponse, Login, LoginResponse, MarkAllAsRead, MarkPrivateMessageAsRead, MarkPersonMentionAsRead, PasswordChange, PasswordReset, PasswordResetResponse, PrivateMessageResponse, PrivateMessagesResponse, Register, SaveUserSettings, ChangePassword, PersonMentionResponse, BlockPerson, BlockPersonResponse, GetReportCount, GetReportCountResponse } from './interfaces/api/person';
6
+ /**
7
+ * Helps build lemmy HTTP requests.
8
+ */
6
9
  export declare class LemmyHttp {
7
10
  private apiUrl;
8
11
  private headers;
9
12
  /**
10
- * Generates a new instance of LemmyHttp
13
+ * Generates a new instance of LemmyHttp.
11
14
  * @param baseUrl the base url, without the vX version: https://lemmy.ml -> goes to https://lemmy.ml/api/vX
12
- * @param headers optional headers. Should contain x-real-ip and x-forwarded-for
15
+ * @param headers optional headers. Should contain `x-real-ip` and `x-forwarded-for` .
13
16
  */
14
17
  constructor(baseUrl: string, headers?: {
15
18
  [key: string]: string;
16
19
  });
20
+ /**
21
+ * Gets the site, and your user data.
22
+ */
17
23
  getSite(form: GetSite): Promise<GetSiteResponse>;
24
+ /**
25
+ * Create your site.
26
+ */
18
27
  createSite(form: CreateSite): Promise<SiteResponse>;
28
+ /**
29
+ * Edit your site.
30
+ */
19
31
  editSite(form: EditSite): Promise<SiteResponse>;
32
+ /**
33
+ * Transfer your site to another user.
34
+ */
20
35
  transferSite(form: TransferSite): Promise<GetSiteResponse>;
36
+ /**
37
+ * Get your site configuration.
38
+ */
21
39
  getSiteConfig(form: GetSiteConfig): Promise<GetSiteConfigResponse>;
40
+ /**
41
+ * Save your site config.
42
+ */
22
43
  saveSiteConfig(form: SaveSiteConfig): Promise<GetSiteConfigResponse>;
44
+ /**
45
+ * Get the modlog.
46
+ */
23
47
  getModlog(form: GetModlog): Promise<GetModlogResponse>;
48
+ /**
49
+ * Search lemmy.
50
+ */
24
51
  search(form: Search): Promise<SearchResponse>;
52
+ /**
53
+ * Fetch a non-local / federated object.
54
+ */
55
+ resolveObject(form: ResolveObject): Promise<ResolveObjectResponse>;
56
+ /**
57
+ * Create a new community.
58
+ */
25
59
  createCommunity(form: CreateCommunity): Promise<CommunityResponse>;
60
+ /**
61
+ * Get / fetch a community.
62
+ */
26
63
  getCommunity(form: GetCommunity): Promise<GetCommunityResponse>;
64
+ /**
65
+ * Edit a community.
66
+ */
27
67
  editCommunity(form: EditCommunity): Promise<CommunityResponse>;
68
+ /**
69
+ * List communities, with various filters.
70
+ */
28
71
  listCommunities(form: ListCommunities): Promise<ListCommunitiesResponse>;
72
+ /**
73
+ * Follow / subscribe to a community.
74
+ */
29
75
  followCommunity(form: FollowCommunity): Promise<CommunityResponse>;
76
+ /**
77
+ * Block a community.
78
+ */
30
79
  blockCommunity(form: BlockCommunity): Promise<BlockCommunityResponse>;
80
+ /**
81
+ * Delete a community.
82
+ */
31
83
  deleteCommunity(form: DeleteCommunity): Promise<CommunityResponse>;
84
+ /**
85
+ * A moderator remove for a community.
86
+ */
32
87
  removeCommunity(form: RemoveCommunity): Promise<CommunityResponse>;
88
+ /**
89
+ * Transfer your community to an existing moderator.
90
+ */
33
91
  transferCommunity(form: TransferCommunity): Promise<GetCommunityResponse>;
92
+ /**
93
+ * Ban a user from a community.
94
+ */
34
95
  banFromCommunity(form: BanFromCommunity): Promise<BanFromCommunityResponse>;
96
+ /**
97
+ * Add a moderator to your community.
98
+ */
35
99
  addModToCommunity(form: AddModToCommunity): Promise<AddModToCommunityResponse>;
100
+ /**
101
+ * Create a post.
102
+ */
36
103
  createPost(form: CreatePost): Promise<PostResponse>;
104
+ /**
105
+ * Get / fetch a post.
106
+ */
37
107
  getPost(form: GetPost): Promise<GetPostResponse>;
108
+ /**
109
+ * Edit a post.
110
+ */
38
111
  editPost(form: EditPost): Promise<PostResponse>;
112
+ /**
113
+ * Delete a post.
114
+ */
39
115
  deletePost(form: DeletePost): Promise<PostResponse>;
116
+ /**
117
+ * A moderator remove for a post.
118
+ */
40
119
  removePost(form: RemovePost): Promise<PostResponse>;
120
+ /**
121
+ * A moderator can lock a post ( IE disable new comments ).
122
+ */
41
123
  lockPost(form: LockPost): Promise<PostResponse>;
124
+ /**
125
+ * A moderator can sticky a post ( IE stick it to the top of a community ).
126
+ */
42
127
  stickyPost(form: StickyPost): Promise<PostResponse>;
128
+ /**
129
+ * Get / fetch posts, with various filters.
130
+ */
43
131
  getPosts(form: GetPosts): Promise<GetPostsResponse>;
132
+ /**
133
+ * Like / vote on a post.
134
+ */
44
135
  likePost(form: CreatePostLike): Promise<PostResponse>;
136
+ /**
137
+ * Save a post.
138
+ */
45
139
  savePost(form: SavePost): Promise<PostResponse>;
140
+ /**
141
+ * Report a post.
142
+ */
143
+ createPostReport(form: CreatePostReport): Promise<PostReportResponse>;
144
+ /**
145
+ * Resolve a post report. Only a mod can do this.
146
+ */
147
+ resolvePostReport(form: ResolvePostReport): Promise<PostReportResponse>;
148
+ /**
149
+ * List post reports.
150
+ */
151
+ listPostReports(form: ListPostReports): Promise<ListPostReportsResponse>;
152
+ /**
153
+ * Fetch metadata for any given site.
154
+ */
155
+ getSiteMetadata(form: GetSiteMetadata): Promise<GetSiteMetadataResponse>;
156
+ /**
157
+ * Create a comment.
158
+ */
46
159
  createComment(form: CreateComment): Promise<CommentResponse>;
160
+ /**
161
+ * Edit a comment.
162
+ */
47
163
  editComment(form: EditComment): Promise<CommentResponse>;
164
+ /**
165
+ * Delete a comment.
166
+ */
48
167
  deleteComment(form: DeleteComment): Promise<CommentResponse>;
168
+ /**
169
+ * A moderator remove for a comment.
170
+ */
49
171
  removeComment(form: RemoveComment): Promise<CommentResponse>;
172
+ /**
173
+ * Mark a comment as read.
174
+ */
50
175
  markCommentAsRead(form: MarkCommentAsRead): Promise<CommentResponse>;
176
+ /**
177
+ * Like / vote on a comment.
178
+ */
51
179
  likeComment(form: CreateCommentLike): Promise<CommentResponse>;
180
+ /**
181
+ * Save a comment.
182
+ */
52
183
  saveComment(form: SaveComment): Promise<CommentResponse>;
184
+ /**
185
+ * Get / fetch comments.
186
+ */
53
187
  getComments(form: GetComments): Promise<GetCommentsResponse>;
188
+ /**
189
+ * Report a comment.
190
+ */
191
+ createCommentReport(form: CreateCommentReport): Promise<CommentReportResponse>;
192
+ /**
193
+ * Resolve a comment report. Only a mod can do this.
194
+ */
195
+ resolveCommentReport(form: ResolveCommentReport): Promise<CommentReportResponse>;
196
+ /**
197
+ * List comment reports.
198
+ */
199
+ listCommentReports(form: ListCommentReports): Promise<ListCommentReportsResponse>;
200
+ /**
201
+ * Get / fetch private messages.
202
+ */
54
203
  getPrivateMessages(form: GetPrivateMessages): Promise<PrivateMessagesResponse>;
204
+ /**
205
+ * Create a private message.
206
+ */
55
207
  createPrivateMessage(form: CreatePrivateMessage): Promise<PrivateMessageResponse>;
208
+ /**
209
+ * Edit a private message.
210
+ */
56
211
  editPrivateMessage(form: EditPrivateMessage): Promise<PrivateMessageResponse>;
212
+ /**
213
+ * Delete a private message.
214
+ */
57
215
  deletePrivateMessage(form: DeletePrivateMessage): Promise<PrivateMessageResponse>;
216
+ /**
217
+ * Mark a private message as read.
218
+ */
58
219
  markPrivateMessageAsRead(form: MarkPrivateMessageAsRead): Promise<PrivateMessageResponse>;
220
+ /**
221
+ * Register a new user.
222
+ */
59
223
  register(form: Register): Promise<LoginResponse>;
224
+ /**
225
+ * Log into lemmy.
226
+ */
60
227
  login(form: Login): Promise<LoginResponse>;
228
+ /**
229
+ * Get the details for a person.
230
+ */
61
231
  getPersonDetails(form: GetPersonDetails): Promise<GetPersonDetailsResponse>;
232
+ /**
233
+ * Get mentions for your user.
234
+ */
62
235
  getPersonMentions(form: GetPersonMentions): Promise<GetPersonMentionsResponse>;
236
+ /**
237
+ * Mark a person mention as read.
238
+ */
63
239
  markPersonMentionAsRead(form: MarkPersonMentionAsRead): Promise<PersonMentionResponse>;
240
+ /**
241
+ * Get comment replies.
242
+ */
64
243
  getReplies(form: GetReplies): Promise<GetRepliesResponse>;
244
+ /**
245
+ * Ban a person from your site.
246
+ */
65
247
  banPerson(form: BanPerson): Promise<BanPersonResponse>;
248
+ /**
249
+ * Block a person.
250
+ */
66
251
  blockPerson(form: BlockPerson): Promise<BlockPersonResponse>;
252
+ /**
253
+ * Fetch a Captcha.
254
+ */
67
255
  getCaptcha(): Promise<GetCaptchaResponse>;
256
+ /**
257
+ * Delete your account.
258
+ */
68
259
  deleteAccount(form: DeleteAccount): Promise<LoginResponse>;
260
+ /**
261
+ * Reset your password.
262
+ */
69
263
  passwordReset(form: PasswordReset): Promise<PasswordResetResponse>;
264
+ /**
265
+ * Change your password from an email / token based reset.
266
+ */
70
267
  passwordChange(form: PasswordChange): Promise<LoginResponse>;
268
+ /**
269
+ * Mark all replies as read.
270
+ */
71
271
  markAllAsRead(form: MarkAllAsRead): Promise<GetRepliesResponse>;
272
+ /**
273
+ * Save your user settings.
274
+ */
72
275
  saveUserSettings(form: SaveUserSettings): Promise<LoginResponse>;
276
+ /**
277
+ * Change your user password.
278
+ */
73
279
  changePassword(form: ChangePassword): Promise<LoginResponse>;
280
+ /**
281
+ * Get counts for your reports
282
+ */
283
+ getReportCount(form: GetReportCount): Promise<GetReportCountResponse>;
284
+ /**
285
+ * Add an admin to your site.
286
+ */
74
287
  addAdmin(form: AddAdmin): Promise<AddAdminResponse>;
75
288
  private buildFullUrl;
76
289
  private wrapper;