From 3eb42fb0fec17d5ddfb1ab4d94186780ba4cc767 Mon Sep 17 00:00:00 2001 From: Norris Ng <103449568+norrisng-bc@users.noreply.github.com> Date: Thu, 26 Oct 2023 16:08:45 -0700 Subject: [PATCH 1/8] Add public toggle InputSwitch to permissions modal --- .../components/object/ObjectPermission.vue | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/object/ObjectPermission.vue b/frontend/src/components/object/ObjectPermission.vue index 0ce5f9bf..e00f7add 100644 --- a/frontend/src/components/object/ObjectPermission.vue +++ b/frontend/src/components/object/ObjectPermission.vue @@ -5,12 +5,12 @@ import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; import ObjectPermissionAddUser from '@/components/object/ObjectPermissionAddUser.vue'; import { useAlert } from '@/composables/useAlert'; -import { Button, Checkbox, Column, DataTable } from '@/lib/primevue'; -import { usePermissionStore } from '@/store'; +import {Button, Checkbox, Column, DataTable, InputSwitch} from '@/lib/primevue'; +import { useAuthStore, useObjectStore, usePermissionStore } from '@/store'; import { Permissions } from '@/utils/constants'; import type { Ref } from 'vue'; -import type { UserPermissions } from '@/types'; +import type { COMSObject, UserPermissions } from '@/types'; // Props type Props = { @@ -20,11 +20,14 @@ type Props = { const props = withDefaults(defineProps(), {}); // Store +const objectStore = useObjectStore(); const permissionStore = usePermissionStore(); const { getMappedObjectToUserPermissions } = storeToRefs(permissionStore); +const { getUserId } = storeToRefs(useAuthStore()); // State const showSearchUsers: Ref = ref(false); +const object: Ref = ref(undefined); // Actions const removeManageAlert = useAlert('Warning', 'Cannot remove last user with MANAGE permission.'); @@ -70,13 +73,34 @@ const updateObjectPermission = (value: boolean, userId: string, permCode: string } }; +const togglePublic = async (objectId: string, isPublic: boolean) => { + await objectStore.togglePublic(objectId, isPublic); +}; + onBeforeMount(() => { permissionStore.mapObjectToUserPermissions(props.objectId); + object.value = objectStore.findObjectById(props.objectId); });