Changeset View
Changeset View
Standalone View
Standalone View
lib/types/thread-types.js
Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | export const threadPermissions = Object.freeze({ | ||||
CREATE_SUBCHANNELS: 'create_subthreads', | CREATE_SUBCHANNELS: 'create_subthreads', | ||||
CREATE_SIDEBARS: 'create_sidebars', | CREATE_SIDEBARS: 'create_sidebars', | ||||
JOIN_THREAD: 'join_thread', | JOIN_THREAD: 'join_thread', | ||||
EDIT_PERMISSIONS: 'edit_permissions', | EDIT_PERMISSIONS: 'edit_permissions', | ||||
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', | |||||
}); | }); | ||||
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' || | ||||
ourThreadPermissions === 'membership' || | ourThreadPermissions === 'membership' || | ||||
ourThreadPermissions === 'visible' || | ourThreadPermissions === 'visible' || | ||||
ourThreadPermissions === 'voiced' || | ourThreadPermissions === 'voiced' || | ||||
ourThreadPermissions === 'edit_entries' || | ourThreadPermissions === 'edit_entries' || | ||||
ourThreadPermissions === 'edit_thread' || | ourThreadPermissions === 'edit_thread' || | ||||
ourThreadPermissions === 'edit_thread_description' || | ourThreadPermissions === 'edit_thread_description' || | ||||
ourThreadPermissions === 'edit_thread_color' || | ourThreadPermissions === 'edit_thread_color' || | ||||
ourThreadPermissions === 'delete_thread' || | ourThreadPermissions === 'delete_thread' || | ||||
ourThreadPermissions === 'create_subthreads' || | ourThreadPermissions === 'create_subthreads' || | ||||
ourThreadPermissions === 'create_sidebars' || | ourThreadPermissions === 'create_sidebars' || | ||||
ourThreadPermissions === 'join_thread' || | ourThreadPermissions === 'join_thread' || | ||||
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', | |||||
'string is not threadPermissions enum', | 'string is not threadPermissions enum', | ||||
); | ); | ||||
return ourThreadPermissions; | return ourThreadPermissions; | ||||
} | } | ||||
export const threadPermissionPropagationPrefixes = Object.freeze({ | export const threadPermissionPropagationPrefixes = Object.freeze({ | ||||
DESCENDANT: 'descendant_', | DESCENDANT: 'descendant_', | ||||
CHILD: 'child_', | CHILD: 'child_', | ||||
▲ Show 20 Lines • Show All 347 Lines • Show Last 20 Lines |