lemmy-js-client 0.17.0-rc.9 → 0.17.2-rc.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,15 +6,17 @@ export interface LocalUserSettings {
6
6
  theme: string;
7
7
  default_sort_type: number;
8
8
  default_listing_type: number;
9
- lang: string;
9
+ interface_language: string;
10
10
  show_avatars: boolean;
11
11
  send_notifications_to_email: boolean;
12
+ validator_time: string;
12
13
  show_bot_accounts: boolean;
13
14
  show_scores: boolean;
14
15
  show_read_posts: boolean;
15
16
  show_new_post_notifs: boolean;
16
17
  email_verified: boolean;
17
18
  accepted_application: boolean;
19
+ totp_url?: string;
18
20
  }
19
21
  export interface PersonSafe {
20
22
  id: number;
@@ -30,11 +32,12 @@ export interface PersonSafe {
30
32
  banner?: string;
31
33
  deleted: boolean;
32
34
  inbox_url: string;
33
- shared_inbox_url: string;
35
+ shared_inbox_url?: string;
34
36
  matrix_user_id?: string;
35
37
  admin: boolean;
36
38
  bot_account: boolean;
37
39
  ban_expires?: string;
40
+ instance_id: number;
38
41
  }
39
42
  export interface Site {
40
43
  id: number;
@@ -42,22 +45,65 @@ export interface Site {
42
45
  sidebar?: string;
43
46
  published: string;
44
47
  updated?: string;
45
- enable_downvotes: boolean;
46
- open_registration: boolean;
47
- enable_nsfw: boolean;
48
48
  icon?: string;
49
49
  banner?: string;
50
50
  description?: string;
51
+ actor_id: string;
52
+ last_refreshed_at: string;
53
+ inbox_url: string;
54
+ private_key?: string;
55
+ public_key: string;
56
+ instance_id: number;
57
+ }
58
+ export declare enum RegistrationMode {
59
+ Closed = "closed",
60
+ RequireApplication = "requireapplication",
61
+ Open = "open"
62
+ }
63
+ export interface LocalSite {
64
+ id: number;
65
+ site_id: number;
66
+ site_setup: boolean;
67
+ enable_downvotes: boolean;
68
+ registration_mode: RegistrationMode;
69
+ enable_nsfw: boolean;
51
70
  community_creation_admin_only: boolean;
52
71
  require_email_verification: boolean;
53
- require_application: boolean;
54
72
  application_question?: string;
55
73
  private_instance: boolean;
56
74
  default_theme: string;
57
- actor_id: string;
58
- last_refreshed_at: string;
59
- inbox_url: string;
60
- public_key: string;
75
+ default_post_listing_type: string;
76
+ legal_information?: string;
77
+ hide_modlog_mod_names: boolean;
78
+ application_email_admins: boolean;
79
+ reports_email_admins: boolean;
80
+ slur_filter_regex?: string;
81
+ actor_name_max_length: number;
82
+ federation_enabled: boolean;
83
+ federation_debug: boolean;
84
+ federation_worker_count: number;
85
+ captcha_enabled: boolean;
86
+ captcha_difficulty: string;
87
+ published: string;
88
+ updated?: string;
89
+ }
90
+ export interface LocalSiteRateLimit {
91
+ id: number;
92
+ local_site_id: number;
93
+ message: number;
94
+ message_per_second: number;
95
+ post: number;
96
+ post_per_second: number;
97
+ register: number;
98
+ register_per_second: number;
99
+ image: number;
100
+ image_per_second: number;
101
+ comment: number;
102
+ comment_per_second: number;
103
+ search: number;
104
+ search_per_second: number;
105
+ published: string;
106
+ updated?: string;
61
107
  }
62
108
  export interface PrivateMessage {
63
109
  id: number;
@@ -97,13 +143,15 @@ export interface Post {
97
143
  updated?: string;
98
144
  deleted: boolean;
99
145
  nsfw: boolean;
100
- stickied: boolean;
101
146
  embed_title?: string;
102
147
  embed_description?: string;
103
- embed_html?: string;
148
+ embed_video_url?: string;
104
149
  thumbnail_url?: string;
105
150
  ap_id: string;
106
151
  local: boolean;
152
+ language_id: number;
153
+ featured_community: boolean;
154
+ featured_local: boolean;
107
155
  }
108
156
  export interface PasswordResetRequest {
109
157
  id: number;
@@ -126,11 +174,12 @@ export interface ModLockPost {
126
174
  locked?: boolean;
127
175
  when_: string;
128
176
  }
129
- export interface ModStickyPost {
177
+ export interface ModFeaturePost {
130
178
  id: number;
131
179
  mod_person_id: number;
132
180
  post_id: number;
133
- stickied?: boolean;
181
+ featured: boolean;
182
+ is_featured_community: boolean;
134
183
  when_: string;
135
184
  }
136
185
  export interface ModRemoveComment {
@@ -192,6 +241,32 @@ export interface ModAdd {
192
241
  removed?: boolean;
193
242
  when_: string;
194
243
  }
244
+ export interface AdminPurgePerson {
245
+ id: number;
246
+ admin_person_id: number;
247
+ reason?: string;
248
+ when_: string;
249
+ }
250
+ export interface AdminPurgeCommunity {
251
+ id: number;
252
+ admin_person_id: number;
253
+ reason?: string;
254
+ when_: string;
255
+ }
256
+ export interface AdminPurgePost {
257
+ id: number;
258
+ admin_person_id: number;
259
+ community_id: number;
260
+ reason?: string;
261
+ when_: string;
262
+ }
263
+ export interface AdminPurgeComment {
264
+ id: number;
265
+ admin_person_id: number;
266
+ post_id: number;
267
+ reason?: string;
268
+ when_: string;
269
+ }
195
270
  export interface CommunitySafe {
196
271
  id: number;
197
272
  name: string;
@@ -206,7 +281,9 @@ export interface CommunitySafe {
206
281
  local: boolean;
207
282
  icon?: string;
208
283
  banner?: string;
284
+ hidden: boolean;
209
285
  posting_restricted_to_mods: boolean;
286
+ instance_id: number;
210
287
  }
211
288
  export interface CommentReport {
212
289
  id: number;
@@ -223,15 +300,16 @@ export interface Comment {
223
300
  id: number;
224
301
  creator_id: number;
225
302
  post_id: number;
226
- parent_id?: number;
227
303
  content: string;
228
304
  removed: boolean;
229
- read: boolean;
230
305
  published: string;
231
306
  updated?: string;
232
307
  deleted: boolean;
233
308
  ap_id: string;
234
309
  local: boolean;
310
+ path: string;
311
+ distinguished: boolean;
312
+ language_id: number;
235
313
  }
236
314
  export interface PersonMention {
237
315
  id: number;
@@ -240,6 +318,13 @@ export interface PersonMention {
240
318
  read: boolean;
241
319
  published: string;
242
320
  }
321
+ export interface CommentReply {
322
+ id: number;
323
+ recipient_id: number;
324
+ comment_id: number;
325
+ read: boolean;
326
+ published: string;
327
+ }
243
328
  export interface RegistrationApplication {
244
329
  id: number;
245
330
  local_user_id: number;
@@ -248,3 +333,26 @@ export interface RegistrationApplication {
248
333
  deny_reason?: string;
249
334
  published: string;
250
335
  }
336
+ export interface Language {
337
+ id: number;
338
+ code: string;
339
+ name: string;
340
+ }
341
+ export interface PrivateMessageReport {
342
+ id: number;
343
+ creator_id: number;
344
+ private_message_id: number;
345
+ original_pm_text: string;
346
+ reason: string;
347
+ resolved: boolean;
348
+ resolver_id?: number;
349
+ published: string;
350
+ updated?: string;
351
+ }
352
+ export interface Tagline {
353
+ id: number;
354
+ local_site_id: number;
355
+ content: string;
356
+ published: string;
357
+ updated?: string;
358
+ }
@@ -1,2 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegistrationMode = void 0;
4
+ var RegistrationMode;
5
+ (function (RegistrationMode) {
6
+ RegistrationMode["Closed"] = "closed";
7
+ RegistrationMode["RequireApplication"] = "requireapplication";
8
+ RegistrationMode["Open"] = "open";
9
+ })(RegistrationMode = exports.RegistrationMode || (exports.RegistrationMode = {}));
@@ -1,5 +1,6 @@
1
1
  import { CommentAggregates, CommunityAggregates, PersonAggregates, PostAggregates, SiteAggregates } from "./aggregates";
2
- import { Comment, CommentReport, CommunitySafe, LocalUserSettings, ModAdd, ModAddCommunity, ModBan, ModBanFromCommunity, ModLockPost, ModRemoveComment, ModRemoveCommunity, ModRemovePost, ModStickyPost, ModTransferCommunity, PersonMention, PersonSafe, Post, PostReport, PrivateMessage, RegistrationApplication, Site } from "./source";
2
+ import { SubscribedType } from "./others";
3
+ import { AdminPurgeComment, AdminPurgeCommunity, AdminPurgePerson, AdminPurgePost, Comment, CommentReply, CommentReport, CommunitySafe, LocalSite, LocalSiteRateLimit, LocalUserSettings, ModAdd, ModAddCommunity, ModBan, ModBanFromCommunity, ModFeaturePost, ModLockPost, ModRemoveComment, ModRemoveCommunity, ModRemovePost, ModTransferCommunity, PersonMention, PersonSafe, Post, PostReport, PrivateMessage, PrivateMessageReport, RegistrationApplication, Site, Tagline } from "./source";
3
4
  export interface PersonViewSafe {
4
5
  person: PersonSafe;
5
6
  counts: PersonAggregates;
@@ -13,7 +14,7 @@ export interface PersonMentionView {
13
14
  recipient: PersonSafe;
14
15
  counts: CommentAggregates;
15
16
  creator_banned_from_community: boolean;
16
- subscribed: boolean;
17
+ subscribed: SubscribedType;
17
18
  saved: boolean;
18
19
  creator_blocked: boolean;
19
20
  my_vote?: number;
@@ -25,6 +26,9 @@ export interface LocalUserSettingsView {
25
26
  }
26
27
  export interface SiteView {
27
28
  site: Site;
29
+ local_site: LocalSite;
30
+ local_site_rate_limit: LocalSiteRateLimit;
31
+ taglines?: Tagline[];
28
32
  counts: SiteAggregates;
29
33
  }
30
34
  export interface PrivateMessageView {
@@ -38,11 +42,12 @@ export interface PostView {
38
42
  community: CommunitySafe;
39
43
  creator_banned_from_community: boolean;
40
44
  counts: PostAggregates;
41
- subscribed: boolean;
45
+ subscribed: SubscribedType;
42
46
  saved: boolean;
43
47
  read: boolean;
44
48
  creator_blocked: boolean;
45
49
  my_vote?: number;
50
+ unread_comments: number;
46
51
  }
47
52
  export interface PostReportView {
48
53
  post_report: PostReport;
@@ -58,12 +63,25 @@ export interface PostReportView {
58
63
  export interface CommentView {
59
64
  comment: Comment;
60
65
  creator: PersonSafe;
61
- recipient?: PersonSafe;
62
66
  post: Post;
63
67
  community: CommunitySafe;
64
68
  counts: CommentAggregates;
65
69
  creator_banned_from_community: boolean;
66
- subscribed: boolean;
70
+ subscribed: SubscribedType;
71
+ saved: boolean;
72
+ creator_blocked: boolean;
73
+ my_vote?: number;
74
+ }
75
+ export interface CommentReplyView {
76
+ comment_reply: CommentReply;
77
+ comment: Comment;
78
+ creator: PersonSafe;
79
+ post: Post;
80
+ community: CommunitySafe;
81
+ recipient: PersonSafe;
82
+ counts: CommentAggregates;
83
+ creator_banned_from_community: boolean;
84
+ subscribed: SubscribedType;
67
85
  saved: boolean;
68
86
  creator_blocked: boolean;
69
87
  my_vote?: number;
@@ -82,41 +100,41 @@ export interface CommentReportView {
82
100
  }
83
101
  export interface ModAddCommunityView {
84
102
  mod_add_community: ModAddCommunity;
85
- moderator: PersonSafe;
103
+ moderator?: PersonSafe;
86
104
  community: CommunitySafe;
87
105
  modded_person: PersonSafe;
88
106
  }
89
107
  export interface ModTransferCommunityView {
90
108
  mod_transfer_community: ModTransferCommunity;
91
- moderator: PersonSafe;
109
+ moderator?: PersonSafe;
92
110
  community: CommunitySafe;
93
111
  modded_person: PersonSafe;
94
112
  }
95
113
  export interface ModAddView {
96
114
  mod_add: ModAdd;
97
- moderator: PersonSafe;
115
+ moderator?: PersonSafe;
98
116
  modded_person: PersonSafe;
99
117
  }
100
118
  export interface ModBanFromCommunityView {
101
119
  mod_ban_from_community: ModBanFromCommunity;
102
- moderator: PersonSafe;
120
+ moderator?: PersonSafe;
103
121
  community: CommunitySafe;
104
122
  banned_person: PersonSafe;
105
123
  }
106
124
  export interface ModBanView {
107
125
  mod_ban: ModBan;
108
- moderator: PersonSafe;
126
+ moderator?: PersonSafe;
109
127
  banned_person: PersonSafe;
110
128
  }
111
129
  export interface ModLockPostView {
112
130
  mod_lock_post: ModLockPost;
113
- moderator: PersonSafe;
131
+ moderator?: PersonSafe;
114
132
  post: Post;
115
133
  community: CommunitySafe;
116
134
  }
117
135
  export interface ModRemoveCommentView {
118
136
  mod_remove_comment: ModRemoveComment;
119
- moderator: PersonSafe;
137
+ moderator?: PersonSafe;
120
138
  comment: Comment;
121
139
  commenter: PersonSafe;
122
140
  post: Post;
@@ -124,21 +142,39 @@ export interface ModRemoveCommentView {
124
142
  }
125
143
  export interface ModRemoveCommunityView {
126
144
  mod_remove_community: ModRemoveCommunity;
127
- moderator: PersonSafe;
145
+ moderator?: PersonSafe;
128
146
  community: CommunitySafe;
129
147
  }
130
148
  export interface ModRemovePostView {
131
149
  mod_remove_post: ModRemovePost;
132
- moderator: PersonSafe;
150
+ moderator?: PersonSafe;
133
151
  post: Post;
134
152
  community: CommunitySafe;
135
153
  }
136
- export interface ModStickyPostView {
137
- mod_sticky_post: ModStickyPost;
138
- moderator: PersonSafe;
154
+ export interface ModFeaturePostView {
155
+ mod_feature_post: ModFeaturePost;
156
+ moderator?: PersonSafe;
139
157
  post: Post;
140
158
  community: CommunitySafe;
141
159
  }
160
+ export interface AdminPurgeCommunityView {
161
+ admin_purge_community: AdminPurgeCommunity;
162
+ admin?: PersonSafe;
163
+ }
164
+ export interface AdminPurgePersonView {
165
+ admin_purge_person: AdminPurgePerson;
166
+ admin?: PersonSafe;
167
+ }
168
+ export interface AdminPurgePostView {
169
+ admin_purge_post: AdminPurgePost;
170
+ admin?: PersonSafe;
171
+ community: CommunitySafe;
172
+ }
173
+ export interface AdminPurgeCommentView {
174
+ admin_purge_comment: AdminPurgeComment;
175
+ admin?: PersonSafe;
176
+ post: Post;
177
+ }
142
178
  export interface CommunityFollowerView {
143
179
  community: CommunitySafe;
144
180
  follower: PersonSafe;
@@ -161,7 +197,7 @@ export interface PersonBlockView {
161
197
  }
162
198
  export interface CommunityView {
163
199
  community: CommunitySafe;
164
- subscribed: boolean;
200
+ subscribed: SubscribedType;
165
201
  blocked: boolean;
166
202
  counts: CommunityAggregates;
167
203
  }
@@ -171,3 +207,15 @@ export interface RegistrationApplicationView {
171
207
  creator: PersonSafe;
172
208
  admin?: PersonSafe;
173
209
  }
210
+ export interface CommentNode {
211
+ comment_view: CommentView | PersonMentionView | CommentReplyView;
212
+ children: CommentNode[];
213
+ depth: number;
214
+ }
215
+ export interface PrivateMessageReportView {
216
+ private_message_report: PrivateMessageReport;
217
+ private_message: PrivateMessage;
218
+ private_message_creator: PersonSafe;
219
+ creator: PersonSafe;
220
+ resolver?: PersonSafe;
221
+ }
File without changes
package/dist/utils.js ADDED
File without changes
@@ -1,9 +1,10 @@
1
- import { CreateComment, CreateCommentLike, CreateCommentReport, DeleteComment, EditComment, GetComments, ListCommentReports, MarkCommentAsRead, RemoveComment, ResolveCommentReport, SaveComment } from "./interfaces/api/comment";
1
+ import { CreateComment, CreateCommentLike, CreateCommentReport, DeleteComment, EditComment, GetComments, ListCommentReports, RemoveComment, ResolveCommentReport, SaveComment } from "./interfaces/api/comment";
2
2
  import { AddModToCommunity, BanFromCommunity, BlockCommunity, CreateCommunity, DeleteCommunity, EditCommunity, FollowCommunity, GetCommunity, ListCommunities, RemoveCommunity, TransferCommunity } from "./interfaces/api/community";
3
- import { AddAdmin, BanPerson, BlockPerson, ChangePassword, CreatePrivateMessage, DeleteAccount, DeletePrivateMessage, EditPrivateMessage, GetBannedPersons, GetPersonDetails, GetPersonMentions, GetPrivateMessages, GetReplies, GetReportCount, GetUnreadCount, Login, MarkAllAsRead, MarkPersonMentionAsRead, MarkPrivateMessageAsRead, PasswordChange, PasswordReset, Register, SaveUserSettings, VerifyEmail } from "./interfaces/api/person";
4
- import { CreatePost, CreatePostLike, CreatePostReport, DeletePost, EditPost, GetPost, GetPosts, GetSiteMetadata, ListPostReports, LockPost, RemovePost, ResolvePostReport, SavePost, StickyPost } from "./interfaces/api/post";
5
- import { ApproveRegistrationApplication, CreateSite, EditSite, GetModlog, GetSite, GetSiteConfig, GetUnreadRegistrationApplicationCount, LeaveAdmin, ListRegistrationApplications, ResolveObject, SaveSiteConfig, Search } from "./interfaces/api/site";
3
+ import { AddAdmin, BanPerson, BlockPerson, ChangePassword, CreatePrivateMessage, CreatePrivateMessageReport, DeleteAccount, DeletePrivateMessage, EditPrivateMessage, GetBannedPersons, GetPersonDetails, GetPersonMentions, GetPrivateMessages, GetReplies, GetReportCount, GetUnreadCount, ListPrivateMessageReports, Login, MarkAllAsRead, MarkCommentReplyAsRead, MarkPersonMentionAsRead, MarkPrivateMessageAsRead, PasswordChange, PasswordReset, Register, ResolvePrivateMessageReport, SaveUserSettings, VerifyEmail } from "./interfaces/api/person";
4
+ import { CreatePost, CreatePostLike, CreatePostReport, DeletePost, EditPost, FeaturePost, GetPost, GetPosts, GetSiteMetadata, ListPostReports, LockPost, MarkPostAsRead, RemovePost, ResolvePostReport, SavePost } from "./interfaces/api/post";
5
+ import { ApproveRegistrationApplication, CreateSite, EditSite, GetModlog, GetSite, GetUnreadRegistrationApplicationCount, LeaveAdmin, ListRegistrationApplications, PurgeComment, PurgeCommunity, PurgePerson, PurgePost, ResolveObject, Search } from "./interfaces/api/site";
6
6
  import { CommunityJoin, PostJoin, UserJoin } from "./interfaces/api/websocket";
7
+ import { UserOperation } from "./interfaces/others";
7
8
  /**
8
9
  * Helps build lemmy websocket message requests, that you can use in your Websocket sends.
9
10
  *
@@ -100,7 +101,7 @@ export declare class LemmyWebsocket {
100
101
  /**
101
102
  * Mark a comment as read.
102
103
  */
103
- markCommentAsRead(form: MarkCommentAsRead): string;
104
+ markCommentReplyAsRead(form: MarkCommentReplyAsRead): string;
104
105
  /**
105
106
  * Like / vote on a comment.
106
107
  */
@@ -150,9 +151,13 @@ export declare class LemmyWebsocket {
150
151
  */
151
152
  lockPost(form: LockPost): string;
152
153
  /**
153
- * A moderator can sticky a post ( IE stick it to the top of a community ).
154
+ * A moderator can feature a post ( IE stick it to the top of a community ).
154
155
  */
155
- stickyPost(form: StickyPost): string;
156
+ featurePost(form: FeaturePost): string;
157
+ /**
158
+ * Mark a post as read.
159
+ */
160
+ markPostAsRead(form: MarkPostAsRead): string;
156
161
  /**
157
162
  * Save a post.
158
163
  */
@@ -244,11 +249,7 @@ export declare class LemmyWebsocket {
244
249
  /**
245
250
  * Gets the site, and your user data.
246
251
  */
247
- getSite(form?: GetSite): string;
248
- /**
249
- * Get your site configuration.
250
- */
251
- getSiteConfig(form: GetSiteConfig): string;
252
+ getSite(form: GetSite): string;
252
253
  /**
253
254
  * Search lemmy.
254
255
  */
@@ -314,9 +315,17 @@ export declare class LemmyWebsocket {
314
315
  */
315
316
  getPrivateMessages(form: GetPrivateMessages): string;
316
317
  /**
317
- * Save your site config.
318
+ * Create a report for a private message.
318
319
  */
319
- saveSiteConfig(form: SaveSiteConfig): string;
320
+ createPrivateMessageReport(form: CreatePrivateMessageReport): string;
321
+ /**
322
+ * Resolve a report for a private message.
323
+ */
324
+ resolvePrivateMessageReport(form: ResolvePrivateMessageReport): string;
325
+ /**
326
+ * List private message reports.
327
+ */
328
+ listPrivateMessageReports(form: ListPrivateMessageReports): string;
320
329
  /**
321
330
  * Block a person.
322
331
  */
@@ -325,4 +334,25 @@ export declare class LemmyWebsocket {
325
334
  * Block a community.
326
335
  */
327
336
  blockCommunity(form: BlockCommunity): string;
337
+ /**
338
+ * Purge / Delete a person from the database.
339
+ */
340
+ purgePerson(form: PurgePerson): string;
341
+ /**
342
+ * Purge / Delete a community from the database.
343
+ */
344
+ purgeCommunity(form: PurgeCommunity): string;
345
+ /**
346
+ * Purge / Delete a post from the database.
347
+ */
348
+ purgePost(form: PurgePost): string;
349
+ /**
350
+ * Purge / Delete a comment from the database.
351
+ */
352
+ purgeComment(form: PurgeComment): string;
328
353
  }
354
+ export declare function wsUserOp(msg: any): UserOperation;
355
+ /**
356
+ * Converts a websocket string response to a usable result
357
+ */
358
+ export declare function wsJsonToRes<ResponseType>(msg: any): ResponseType;
package/dist/websocket.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LemmyWebsocket = void 0;
3
+ exports.wsJsonToRes = exports.wsUserOp = exports.LemmyWebsocket = void 0;
4
4
  var others_1 = require("./interfaces/others");
5
5
  /**
6
6
  * Helps build lemmy websocket message requests, that you can use in your Websocket sends.
@@ -137,8 +137,8 @@ var LemmyWebsocket = /** @class */ (function () {
137
137
  /**
138
138
  * Mark a comment as read.
139
139
  */
140
- LemmyWebsocket.prototype.markCommentAsRead = function (form) {
141
- return wrapper(others_1.UserOperation.MarkCommentAsRead, form);
140
+ LemmyWebsocket.prototype.markCommentReplyAsRead = function (form) {
141
+ return wrapper(others_1.UserOperation.MarkCommentReplyAsRead, form);
142
142
  };
143
143
  /**
144
144
  * Like / vote on a comment.
@@ -213,10 +213,16 @@ var LemmyWebsocket = /** @class */ (function () {
213
213
  return wrapper(others_1.UserOperation.LockPost, form);
214
214
  };
215
215
  /**
216
- * A moderator can sticky a post ( IE stick it to the top of a community ).
216
+ * A moderator can feature a post ( IE stick it to the top of a community ).
217
217
  */
218
- LemmyWebsocket.prototype.stickyPost = function (form) {
219
- return wrapper(others_1.UserOperation.StickyPost, form);
218
+ LemmyWebsocket.prototype.featurePost = function (form) {
219
+ return wrapper(others_1.UserOperation.FeaturePost, form);
220
+ };
221
+ /**
222
+ * Mark a post as read.
223
+ */
224
+ LemmyWebsocket.prototype.markPostAsRead = function (form) {
225
+ return wrapper(others_1.UserOperation.MarkPostAsRead, form);
220
226
  };
221
227
  /**
222
228
  * Save a post.
@@ -354,15 +360,8 @@ var LemmyWebsocket = /** @class */ (function () {
354
360
  * Gets the site, and your user data.
355
361
  */
356
362
  LemmyWebsocket.prototype.getSite = function (form) {
357
- if (form === void 0) { form = {}; }
358
363
  return wrapper(others_1.UserOperation.GetSite, form);
359
364
  };
360
- /**
361
- * Get your site configuration.
362
- */
363
- LemmyWebsocket.prototype.getSiteConfig = function (form) {
364
- return wrapper(others_1.UserOperation.GetSiteConfig, form);
365
- };
366
365
  /**
367
366
  * Search lemmy.
368
367
  */
@@ -460,10 +459,22 @@ var LemmyWebsocket = /** @class */ (function () {
460
459
  return wrapper(others_1.UserOperation.GetPrivateMessages, form);
461
460
  };
462
461
  /**
463
- * Save your site config.
462
+ * Create a report for a private message.
463
+ */
464
+ LemmyWebsocket.prototype.createPrivateMessageReport = function (form) {
465
+ return wrapper(others_1.UserOperation.CreatePrivateMessageReport, form);
466
+ };
467
+ /**
468
+ * Resolve a report for a private message.
464
469
  */
465
- LemmyWebsocket.prototype.saveSiteConfig = function (form) {
466
- return wrapper(others_1.UserOperation.SaveSiteConfig, form);
470
+ LemmyWebsocket.prototype.resolvePrivateMessageReport = function (form) {
471
+ return wrapper(others_1.UserOperation.ResolvePrivateMessageReport, form);
472
+ };
473
+ /**
474
+ * List private message reports.
475
+ */
476
+ LemmyWebsocket.prototype.listPrivateMessageReports = function (form) {
477
+ return wrapper(others_1.UserOperation.ListPrivateMessageReports, form);
467
478
  };
468
479
  /**
469
480
  * Block a person.
@@ -477,11 +488,48 @@ var LemmyWebsocket = /** @class */ (function () {
477
488
  LemmyWebsocket.prototype.blockCommunity = function (form) {
478
489
  return wrapper(others_1.UserOperation.BlockCommunity, form);
479
490
  };
491
+ /**
492
+ * Purge / Delete a person from the database.
493
+ */
494
+ LemmyWebsocket.prototype.purgePerson = function (form) {
495
+ return wrapper(others_1.UserOperation.PurgePerson, form);
496
+ };
497
+ /**
498
+ * Purge / Delete a community from the database.
499
+ */
500
+ LemmyWebsocket.prototype.purgeCommunity = function (form) {
501
+ return wrapper(others_1.UserOperation.PurgeCommunity, form);
502
+ };
503
+ /**
504
+ * Purge / Delete a post from the database.
505
+ */
506
+ LemmyWebsocket.prototype.purgePost = function (form) {
507
+ return wrapper(others_1.UserOperation.PurgePost, form);
508
+ };
509
+ /**
510
+ * Purge / Delete a comment from the database.
511
+ */
512
+ LemmyWebsocket.prototype.purgeComment = function (form) {
513
+ return wrapper(others_1.UserOperation.PurgeComment, form);
514
+ };
480
515
  return LemmyWebsocket;
481
516
  }());
482
517
  exports.LemmyWebsocket = LemmyWebsocket;
483
518
  function wrapper(op, data) {
484
- var send = { op: others_1.UserOperation[op], data: data };
485
- console.log(send);
486
- return JSON.stringify(send);
519
+ var send = JSON.stringify({ op: others_1.UserOperation[op], data: data });
520
+ return send;
521
+ }
522
+ function wsUserOp(msg) {
523
+ var opStr = msg.op;
524
+ return others_1.UserOperation[opStr];
525
+ }
526
+ exports.wsUserOp = wsUserOp;
527
+ /**
528
+ * Converts a websocket string response to a usable result
529
+ */
530
+ // TODO is this still necessary?
531
+ function wsJsonToRes(msg) {
532
+ // Have to deserialize the response again into the correct class
533
+ return msg.data;
487
534
  }
535
+ exports.wsJsonToRes = wsJsonToRes;