user-role.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { UserRight, UserRole } from '../../models/users'
  2. export const USER_ROLE_LABELS: { [ id in UserRole ]: string } = {
  3. [UserRole.USER]: 'User',
  4. [UserRole.MODERATOR]: 'Moderator',
  5. [UserRole.ADMINISTRATOR]: 'Administrator'
  6. }
  7. const userRoleRights: { [ id in UserRole ]: UserRight[] } = {
  8. [UserRole.ADMINISTRATOR]: [
  9. UserRight.ALL
  10. ],
  11. [UserRole.MODERATOR]: [
  12. UserRight.MANAGE_VIDEO_BLACKLIST,
  13. UserRight.MANAGE_ABUSES,
  14. UserRight.REMOVE_ANY_VIDEO,
  15. UserRight.REMOVE_ANY_VIDEO_CHANNEL,
  16. UserRight.REMOVE_ANY_VIDEO_PLAYLIST,
  17. UserRight.REMOVE_ANY_VIDEO_COMMENT,
  18. UserRight.UPDATE_ANY_VIDEO,
  19. UserRight.SEE_ALL_VIDEOS,
  20. UserRight.MANAGE_ACCOUNTS_BLOCKLIST,
  21. UserRight.MANAGE_SERVERS_BLOCKLIST,
  22. UserRight.MANAGE_USERS,
  23. UserRight.SEE_ALL_COMMENTS
  24. ],
  25. [UserRole.USER]: []
  26. }
  27. export function hasUserRight (userRole: UserRole, userRight: UserRight) {
  28. const userRights = userRoleRights[userRole]
  29. return userRights.includes(UserRight.ALL) || userRights.includes(userRight)
  30. }