@devvit/public-api 0.10.20-next-2024-05-03-dfa60802c.0 → 0.10.20-next-2024-05-03-94fa49ccb.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,5 +2,5 @@ import type { ModeratorPermission } from '../models/User.js';
2
2
  export declare const MODERATOR_PERMISSIONS: string[];
3
3
  export declare function formatPermissions(permissions: string[], allPermissions: string[], encodePlusSign?: boolean): string;
4
4
  export declare function formatModeratorPermissions(permissions: string[]): string;
5
- export declare function asModPermissions(permission: string): ModeratorPermission;
5
+ export declare function validModPermissions(permissions: string[]): ModeratorPermission[];
6
6
  //# sourceMappingURL=permissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/apis/reddit/helpers/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,UAUjC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,GAAE,OAAe,GAC9B,MAAM,CAKR;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAExE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAMxE"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/apis/reddit/helpers/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,UAYjC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,GAAE,OAAe,GAC9B,MAAM,CAKR;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAExE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAIhF"}
@@ -6,8 +6,10 @@ export const MODERATOR_PERMISSIONS = [
6
6
  'mail',
7
7
  'config',
8
8
  'flair',
9
- 'chat_operator',
9
+ 'channels',
10
10
  'chat_config',
11
+ 'chat_community',
12
+ 'chat_operator',
11
13
  ];
12
14
  export function formatPermissions(permissions, allPermissions, encodePlusSign = false) {
13
15
  const plus = encodePlusSign ? '%2b' : '+';
@@ -18,9 +20,6 @@ export function formatPermissions(permissions, allPermissions, encodePlusSign =
18
20
  export function formatModeratorPermissions(permissions) {
19
21
  return formatPermissions(permissions, MODERATOR_PERMISSIONS, true);
20
22
  }
21
- export function asModPermissions(permission) {
22
- if (MODERATOR_PERMISSIONS.includes(permission)) {
23
- return permission;
24
- }
25
- throw new Error(`Invalid moderator permission: ${permission}`);
23
+ export function validModPermissions(permissions) {
24
+ return permissions.filter((permission) => MODERATOR_PERMISSIONS.includes(permission));
26
25
  }
@@ -16,7 +16,7 @@ import { asT2ID, isT2ID } from '@devvit/shared-types/tid.js';
16
16
  import { Devvit } from '../../../devvit/Devvit.js';
17
17
  import { GraphQL } from '../graphql/GraphQL.js';
18
18
  import { makeGettersEnumerable } from '../helpers/makeGettersEnumerable.js';
19
- import { asModPermissions, formatModeratorPermissions } from '../helpers/permissions.js';
19
+ import { formatModeratorPermissions, validModPermissions } from '../helpers/permissions.js';
20
20
  import { Comment } from './Comment.js';
21
21
  import { Flair, convertUserFlairProtoToAPI } from './Flair.js';
22
22
  import { Listing } from './Listing.js';
@@ -58,7 +58,7 @@ export class User {
58
58
  __classPrivateFieldSet(this, _User_commentKarma, data.commentKarma ?? 0, "f");
59
59
  if (data.modPermissions) {
60
60
  for (const [subredditName, permissions] of Object.entries(data.modPermissions)) {
61
- __classPrivateFieldGet(this, _User_modPermissionsBySubreddit, "f").set(subredditName, permissions.map(asModPermissions));
61
+ __classPrivateFieldGet(this, _User_modPermissionsBySubreddit, "f").set(subredditName, validModPermissions(permissions));
62
62
  }
63
63
  }
64
64
  __classPrivateFieldSet(this, _User_url, new URL(data.subreddit?.url ?? '', 'https://www.reddit.com').toString(), "f");