From f825047eb5a5705b20500b8ea090d18d96aa3b83 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Tue, 28 Jun 2022 13:54:45 +0800 Subject: [PATCH] feat: support roles management Signed-off-by: Ryan Wang --- packages/shared/src/utils/api-client.ts | 2 +- src/modules/system/roles/RoleDetail.vue | 36 +++++++++----- src/modules/system/roles/RoleList.vue | 30 ++++++++---- src/modules/system/roles/module.ts | 2 +- src/modules/system/roles/roles-mock.ts | 30 ------------ .../system/users/PersonalAccessTokens.vue | 47 ++++++++++--------- 6 files changed, 71 insertions(+), 76 deletions(-) delete mode 100644 src/modules/system/roles/roles-mock.ts diff --git a/packages/shared/src/utils/api-client.ts b/packages/shared/src/utils/api-client.ts index 87574484..feedc26b 100644 --- a/packages/shared/src/utils/api-client.ts +++ b/packages/shared/src/utils/api-client.ts @@ -1,7 +1,7 @@ import axios from "axios"; const token = - "eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJIYWxvIE93bmVyIiwic3ViIjoiYWRtaW4iLCJleHAiOjE2NTYzODYyODYsImlhdCI6MTY1NjI5OTg4Niwic2NvcGUiOlsiUk9MRV9zdXBlci1yb2xlIl19.uiBxplxctL3a8G_pNWJzEKEMD-a11VPygHh-yUmm3jaZadt5KWIonkuMl3bSASC96NJn3Lmo1OtSagWIkRWUrWqM4r4_sj3NDOiDpcjxy2msrpe8v9sp_BA4yGjAoaoMBEvdjZ3sQ7L9gJKHhL9bTNsXiSkjS5b7OJLujuF5VFJMp-fmzUDz8-EC5u43wz8MUF88bMk4gUg3nOJYnSTRlrU6759IggEM_0SjZu9wewcLxxa4Vhson_mN6hTObsOyWYjMjTbMlSBQiDfN9IXZ2cRZTnE2me0pT6J0AyP33qBp69B-K0cTaUO2Tcx5_BuWHGUCFUAFwE5FKchGgr6NuA" + "eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJIYWxvIE93bmVyIiwic3ViIjoiYWRtaW4iLCJleHAiOjE2NTY0NzM3NTMsImlhdCI6MTY1NjM4NzM1Mywic2NvcGUiOlsiUk9MRV9zdXBlci1yb2xlIl19.vJ7l6jo3CJv7h4XTDvqjY70qngpaiiYhJL7_vXNPRY2Rz2NdmosMzy-BIRYPRuJnhU33uQ5LjXY5K2YwyQinrIsT66JsfckuYi6slAQY2rUC3929wC3gBcMJp9Z--VGRA701vDoecGWnGh68XR-RCK_uGcMnNhC4A1bCsb-nrn4TYdUndM0Aa2OsGP6G0IjzuyvXwwoAGB2JojBdGzXVz2KujHsaELziAZ2Kx78wsEIREN0pZGXnapB1-0nqgjLQ9VuGl62bRAkyzirwbasgB6Tk8njz-TR_uIL-smyWt_LUwX5I97lrM5VCtMmBlT999_Zi8MgzWTHeEUobzbI4ng"; const axiosInstance = axios.create({ headers: { Authorization: `Bearer ${token}`, diff --git a/src/modules/system/roles/RoleDetail.vue b/src/modules/system/roles/RoleDetail.vue index 9481cdf2..f4f7a574 100644 --- a/src/modules/system/roles/RoleDetail.vue +++ b/src/modules/system/roles/RoleDetail.vue @@ -10,29 +10,39 @@ import { VTag, } from "@halo-dev/components"; import { useRoute, useRouter } from "vue-router"; -import { roles } from "@/modules/system/roles/roles-mock"; -import { ref } from "vue"; +import { onMounted, ref } from "vue"; import { users } from "@/modules/system/users/users-mock"; +import { axiosInstance } from "@halo-dev/admin-shared"; +import type { Role } from "@/types/extension"; const route = useRoute(); -const role = ref(); +const role = ref(); const roleActiveId = ref("detail"); -if (route.params.id) { - role.value = roles.find((r) => r.id === Number(route.params.id)); -} else { - role.value = roles[0]; -} +const handleFetchRole = async () => { + try { + const response = await axiosInstance.get( + `/api/v1alpha1/roles/${route.params.name}` + ); + role.value = response.data; + } catch (error) { + console.error(error); + } +}; const router = useRouter(); const handleRouteToUser = (username: string) => { router.push({ name: "UserDetail", params: { username } }); }; + +onMounted(() => { + handleFetchRole(); +});