Changeset View
Changeset View
Standalone View
Standalone View
lib/types/thread-permission-types.js
Show All 22 Lines | export const threadPermissions = Object.freeze({ | ||||
ADD_MEMBERS: 'add_members', | ADD_MEMBERS: 'add_members', | ||||
REMOVE_MEMBERS: 'remove_members', | REMOVE_MEMBERS: 'remove_members', | ||||
CHANGE_ROLE: 'change_role', | CHANGE_ROLE: 'change_role', | ||||
LEAVE_THREAD: 'leave_thread', | LEAVE_THREAD: 'leave_thread', | ||||
REACT_TO_MESSAGE: 'react_to_message', | REACT_TO_MESSAGE: 'react_to_message', | ||||
EDIT_MESSAGE: 'edit_message', | EDIT_MESSAGE: 'edit_message', | ||||
EDIT_THREAD_AVATAR: 'edit_thread_avatar', | EDIT_THREAD_AVATAR: 'edit_thread_avatar', | ||||
MANAGE_PINS: 'manage_pins', | MANAGE_PINS: 'manage_pins', | ||||
MANAGE_INVITE_LINKS: 'manage_invite_links', | |||||
}); | }); | ||||
export type ThreadPermission = $Values<typeof threadPermissions>; | export type ThreadPermission = $Values<typeof threadPermissions>; | ||||
export function assertThreadPermissions( | export function assertThreadPermissions( | ||||
ourThreadPermissions: string, | ourThreadPermissions: string, | ||||
): ThreadPermission { | ): ThreadPermission { | ||||
invariant( | invariant( | ||||
ourThreadPermissions === 'know_of' || | ourThreadPermissions === 'know_of' || | ||||
Show All 11 Lines | ourThreadPermissions === 'know_of' || | ||||
ourThreadPermissions === 'edit_permissions' || | ourThreadPermissions === 'edit_permissions' || | ||||
ourThreadPermissions === 'add_members' || | ourThreadPermissions === 'add_members' || | ||||
ourThreadPermissions === 'remove_members' || | ourThreadPermissions === 'remove_members' || | ||||
ourThreadPermissions === 'change_role' || | ourThreadPermissions === 'change_role' || | ||||
ourThreadPermissions === 'leave_thread' || | ourThreadPermissions === 'leave_thread' || | ||||
ourThreadPermissions === 'react_to_message' || | ourThreadPermissions === 'react_to_message' || | ||||
ourThreadPermissions === 'edit_message' || | ourThreadPermissions === 'edit_message' || | ||||
ourThreadPermissions === 'edit_thread_avatar' || | ourThreadPermissions === 'edit_thread_avatar' || | ||||
ourThreadPermissions === 'manage_pins', | ourThreadPermissions === 'manage_pins' || | ||||
ourThreadPermissions === 'manage_invite_links', | |||||
'string is not threadPermissions enum', | 'string is not threadPermissions enum', | ||||
); | ); | ||||
return ourThreadPermissions; | return ourThreadPermissions; | ||||
} | } | ||||
const threadPermissionValidator = t.enums.of(values(threadPermissions)); | const threadPermissionValidator = t.enums.of(values(threadPermissions)); | ||||
export const threadPermissionPropagationPrefixes = Object.freeze({ | export const threadPermissionPropagationPrefixes = Object.freeze({ | ||||
DESCENDANT: 'descendant_', | DESCENDANT: 'descendant_', | ||||
Show All 36 Lines |