Update group roles to owner/admin/user

This commit is contained in:
Chewbacca
2023-03-20 08:53:38 -04:00
parent 89bdc9b4a1
commit 4985db7dea
8 changed files with 69 additions and 171 deletions

View File

@@ -1,60 +0,0 @@
import { TRUTHSOCIAL } from 'soapbox/utils/features';
import { useBackend } from './useBackend';
enum TruthSocialGroupRoles {
ADMIN = 'owner',
MODERATOR = 'admin',
USER = 'user'
}
enum BaseGroupRoles {
ADMIN = 'admin',
MODERATOR = 'moderator',
USER = 'user'
}
const roleMap = {
[TruthSocialGroupRoles.ADMIN]: BaseGroupRoles.ADMIN,
[TruthSocialGroupRoles.MODERATOR]: BaseGroupRoles.MODERATOR,
[TruthSocialGroupRoles.USER]: BaseGroupRoles.USER,
};
/**
* Returns the correct role name depending on the used backend.
*
* @returns Object
*/
const useGroupRoles = () => {
const version = useBackend();
const isTruthSocial = version.software === TRUTHSOCIAL;
const selectedRoles = isTruthSocial ? TruthSocialGroupRoles : BaseGroupRoles;
const isAdminRole = (role: TruthSocialGroupRoles | BaseGroupRoles) => {
if (isTruthSocial) {
return role === TruthSocialGroupRoles.ADMIN;
}
return role === BaseGroupRoles.ADMIN;
};
const normalizeRole = (role: TruthSocialGroupRoles) => {
if (isTruthSocial) {
return roleMap[role];
}
return role;
};
return {
isAdminRole,
normalizeRole,
roles: {
admin: selectedRoles.ADMIN,
moderator: selectedRoles.MODERATOR,
user: selectedRoles.USER,
},
};
};
export { useGroupRoles, TruthSocialGroupRoles, BaseGroupRoles };