authorized fix keycloak sidebarItem

This commit is contained in:
2025-07-08 14:07:05 +07:00
parent 78b75999ea
commit 25f4b8cac7
16 changed files with 1183 additions and 969 deletions
+3 -9
View File
@@ -3,12 +3,10 @@ definePageMeta({
middleware: ['auth']
})
import { ref } from "vue";
import UiParentCard from "@/components/shared/UiParentCard.vue";
import { useAuth, useUserInfoStore } from "#imports";
import { useUseGetUserLoginComposables } from "~/composables/useGetUserLoginComposables"
import { useAuth } from "#imports";
const { setUserInfoStore } = useUserInfoStore();
const { getUserInfoStore } = storeToRefs(useUserInfoStore());
// const { setUserInfoStore } = useUserInfoStore();
// const { getUserInfoStore } = storeToRefs(useUserInfoStore());
const { data, status, getCsrfToken, getProviders, signOut, getSession } = useAuth()
const tokens = ref('')
onMounted(async () => {
@@ -16,12 +14,8 @@ onMounted(async () => {
const headers = useRequestHeaders(['cookie']) as HeadersInit
const { data: token } = await useFetch('/api/token', { headers })
tokens.value = token.value
// userAuthenticate(token.value)
setUserInfoStore(token.value)
})
const getUserFromComposable = () => {
const a = useUseGetUserLoginComposables(getUserInfoStore.value)
console.log('ini a', a)
}
</script>
<template>
+22 -12
View File
@@ -1,27 +1,37 @@
<script setup lang="ts">
definePageMeta({
middleware: ['auth']
middleware: ['auth'],
roles:['super_admin','admin'],
})
import { ref } from "vue";
import UiParentCard from "@/components/shared/UiParentCard.vue";
import { useAuth, useUserInfoStore } from "#imports";
import { useUseGetUserLoginComposables } from "~/composables/useGetUserLoginComposables"
import {useAuth} from "#imports";
const { setUserInfoStore } = useUserInfoStore();
const { getUserInfoStore } = storeToRefs(useUserInfoStore());
// const { setUserInfoStore,setSessionUserStore } = useUserInfoStore();
// const { getUserInfoStore } = storeToRefs(useUserInfoStore());
const { data, status, getCsrfToken, getProviders, signOut, getSession } = useAuth()
const tokens = ref('')
const getInfoUser = ref('')
onMounted(async () => {
// $fetch(`/api/auth/protected`).then(res => console.log('ini responnya',res))
const headers = useRequestHeaders(['cookie']) as HeadersInit
const { data: token } = await useFetch('/api/token', { headers })
tokens.value = token.value
getInfoUser.value = await getSession()
// userAuthenticate(token.value)
setUserInfoStore(token.value)
// setUserInfoStore(await getSession())
// $fetch('/api/session').then(async (response) => {
// // console.log('sesseion',response)
// // useSessionLogin(response)
// setSessionUserStore(response)
// })
})
const getUserFromComposable = () => {
const a = useUseGetUserLoginComposables(getUserInfoStore.value)
console.log('ini a', a)
const getUserFromComposable = async () => {
// const a = useUseGetUserLoginComposables(getUserInfoStore.value)
// const a= await useSessionLogin('getSess')
// $fetch('/api/session').then(async (response) => {
// console.log(await getSession())
// console.log('ini b', a?.expires)
// console.log('sesseion',response)
// })
}
</script>
<template>
@@ -29,7 +39,7 @@ const getUserFromComposable = () => {
<v-col cols="12" md="12">
<v-card elevation="10">
<v-card-item>
<pre><span>Providers:</span> {{ getUserInfoStore }}</pre>
<pre><span>Providers:</span> {{ getInfoUser }}</pre>
<h5 class="text-h5 mb-3">Sample Page</h5>
<p class="text-body-1">This is a sample page</p>
<div class="mt-4">
+6 -6
View File
@@ -1,11 +1,11 @@
<script setup lang="ts">
/*Call Components*/
import RevenueCard from '@/components/dashboard/RevenueCard.vue';
import NewCustomer from '@/components/dashboard/NewCustomer.vue';
import Totalincome from '@/components/dashboard/TotalIncome.vue';
import RevenueProduct from '@/components/dashboard/RevenueProducts.vue';
import DailyActivities from '@/components/dashboard/DailyActivities.vue';
import BlogCards from '@/components/dashboard/BlogCards.vue';
import RevenueCard from '@/components/dashboards/RevenueCard.vue';
import NewCustomer from '@/components/dashboards/NewCustomer.vue';
import Totalincome from '@/components/dashboards/TotalIncome.vue';
import RevenueProduct from '@/components/dashboards/RevenueProducts.vue';
import DailyActivities from '@/components/dashboards/DailyActivities.vue';
import BlogCards from '@/components/dashboards/BlogCards.vue';
</script>
<template>