Skip to content

Commit

Permalink
chore: clean detectRole function
Browse files Browse the repository at this point in the history
  • Loading branch information
muratmerdoglu-dp committed Feb 27, 2025
1 parent a1d3899 commit 819f229
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 33 deletions.
5 changes: 2 additions & 3 deletions src/modules/data/board/BoardPermissions.composable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ const boardPermissions = (): BoardPermissionChecks => {
const { fetchRoom, resetState } = useRoomDetailsStore();
if (contextType.value === BoardContextType.Room && roomId.value) {
await fetchRoom(roomId?.value);
const { currentUserRole, canEditRoomBoard } = useRoomAuthorization();
console.log("canEditBoard :", canEditRoomBoard.value);
console.log("currentUserRole :", currentUserRole.value);
const { canEditRoomBoard } = useRoomAuthorization();

canEditBoard.value = canEditRoomBoard.value;
hasMovePermission.value = canEditRoomBoard.value;
hasCreateCardPermission.value = canEditRoomBoard.value;
Expand Down
32 changes: 2 additions & 30 deletions src/modules/feature/room/roomAuthorization.composable.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,11 @@
import {
Permission,
RoleName,
ImportUserResponseRoleNamesEnum as Roles,
} from "@/serverApi/v3";
import { useRoomDetailsStore } from "@data-room";
import { storeToRefs } from "pinia";
import { authModule } from "@/store";
import { computed, ref, toValue, watchEffect } from "vue";

const detectRole = (permissions: Permission[]) => {
if (permissions.includes(Permission.RoomChangeOwner)) {
return RoleName.Roomowner;
}
if (
permissions.includes(Permission.RoomMembersChangeRole) &&
!permissions.includes(Permission.RoomDelete)
) {
return RoleName.Roomadmin;
}
if (
permissions.includes(Permission.RoomEdit) &&
permissions.includes(Permission.RoomView) &&
!permissions.includes(Permission.RoomMembersChangeRole)
) {
return RoleName.Roomeditor;
}

return RoleName.Roomviewer;
};
import { ref, toValue, watchEffect } from "vue";

export const useRoomAuthorization = () => {
const { room } = storeToRefs(useRoomDetailsStore());
Expand All @@ -40,14 +18,10 @@ export const useRoomAuthorization = () => {
const canEditRoom = ref(false);
const canDeleteRoom = ref(false);
const canLeaveRoom = ref(false);
const canEditRoomBoard = ref(false);
const currentUserRole = ref<RoleName | unknown>();

watchEffect(() => {
const permissions = toValue(room)?.permissions ?? [];

currentUserRole.value = detectRole(permissions);

canCreateRoom.value =
authModule?.getUserPermissions.includes(
Permission.RoomCreate.toLowerCase()
Expand All @@ -61,7 +35,6 @@ export const useRoomAuthorization = () => {
);
canChangeOwner.value = permissions.includes(Permission.RoomChangeOwner);
canLeaveRoom.value = permissions.includes(Permission.RoomLeave);
canEditRoomBoard.value = permissions.includes(Permission.RoomEdit);
});

return {
Expand All @@ -73,7 +46,6 @@ export const useRoomAuthorization = () => {
canDeleteRoom,
canLeaveRoom,
canRemoveRoomMembers,
currentUserRole,
canEditRoomBoard,
canEditRoomBoard: canEditRoom,
};
};

0 comments on commit 819f229

Please sign in to comment.