diff --git a/.env.example b/.env.example index 9a219ce..ea6386a 100644 --- a/.env.example +++ b/.env.example @@ -8,4 +8,5 @@ KEYCLOAK_ISSUER="https://auth.rssa.top/realms/sandbox" AUTH_ORIGIN="http://localhost:3000" # MONGODB_URI='mongodb://admin:*****@10.10.123.206:27017/?retryWrites=true&loadBalanced=false&serverSelectionTimeoutMS=5000&connectTimeoutMS=10000&authSource=admin&authMechanism=SCRAM-SHA-1' -MONGODB_URI='mongodb://10.10.123.206:27017/keuangan' \ No newline at end of file +MONGODB_URI='mongodb://10.10.123.206:27017/keuangan' +BASEAPIURL='http://10.10.150.131:8080/api' \ No newline at end of file diff --git a/components/Master/ListMenu.vue b/components/Master/ListMenu.vue deleted file mode 100644 index d831ff0..0000000 --- a/components/Master/ListMenu.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - {{ item.display }} - - - dasd - - - - - - \ No newline at end of file diff --git a/components/Master/Table.vue b/components/Master/Table.vue deleted file mode 100644 index 6699c9b..0000000 --- a/components/Master/Table.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - {{col.label}} - - - - - {{item[col.key]}} - - ubah - hapus - - - - - - diff --git a/components/Master/formDetail.vue b/components/Master/formDetail.vue deleted file mode 100644 index 48f146d..0000000 --- a/components/Master/formDetail.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - diff --git a/components/Master/formTypeUser.vue b/components/Master/formTypeUser.vue index 95a2797..76d67dd 100644 --- a/components/Master/formTypeUser.vue +++ b/components/Master/formTypeUser.vue @@ -4,8 +4,6 @@ import {useSettingStore} from "@/stores/api/setting/setting" const {getTypeUser} = useSettingStore() const onSubmit = async() => { - // console.log("ini disimpan:",data.value?.data.typeUser); - // console.log("ini disimpan:",data.value?.form$.data); // await getTypeUser(data.value?.form$.data) } @@ -20,15 +18,7 @@ const onSubmit = async() => { size="md" :display-errors="false" > - + { - localStorage.setItem('sidebarItems', $encodeBase64(JSON.stringify(response))) + .then(async(response) => { + // localStorage.setItem('sidebarItems', $encodeBase64(JSON.stringify(response))) // update({ 'user_login': response }) - // overwrite({ 'sidebarItems': response }) - sidebarMenu.value = response.items + // await overwrite({ 'sidebarItems': response }) + const sessionMenu = await $fetch(`/api/auth/getSessionMenu`) + console.log("session menu dari get",sessionMenu) + sidebarMenu.value = sessionMenu.items + // sidebarMenu.value = response.items }).catch((err) => { loadSidebarItemLocalStorage() }) @@ -74,12 +77,21 @@ const response = $fetch(`${issuer.value}/protocol/openid-connect/token`, { loadSidebarItemLocalStorage() }) -function loadSidebarItemLocalStorage() { - const as = JSON.parse($decodeBase64(localStorage.getItem('sidebarItems'))) - // console.log(session.value) - console.log('sdadsd') - sidebarMenu.value = as.items - // sidebarMenu.value = session.value.user_login.items +// function loadSidebarItemLocalStorage() { +// const sessionMenu = $fetch(`/api/auth/getSessionMenu`) +// console.log("session menu dari get",sessionMenu) +// // const as = JSON.parse($decodeBase64(localStorage.getItem('sidebarItems'))) +// const as = session.value?.sidebarItems +// console.log(session.value) +// console.log("menu default",as) +// console.log('sdadsd') +// sidebarMenu.value = as.items +// // sidebarMenu.value = session.value.user_login.items +// } +const loadSidebarItemLocalStorage = async() => { + const sessionMenu = await $fetch(`/api/auth/getSessionMenu`) + console.log("session menu dari get",sessionMenu) + sidebarMenu.value = sessionMenu.items } diff --git a/nuxt.config.ts b/nuxt.config.ts index 37481c8..5f538f7 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -31,6 +31,11 @@ export default defineNuxtConfig({ 'nuxt-mongoose', '@sidebase/nuxt-session', ], + session:{ + session:{ + expiryInSeconds: 60 * 60 * 24, + } + }, // auth: { // isEnabled: true, // originEnvKey: 'AUTH_ORIGIN', @@ -65,6 +70,7 @@ export default defineNuxtConfig({ SIMRS_API: 'http://10.10.150.131:8084/api', // local Ahdan // SIMRS_API: 'http://10.10.123.140:8084/api' MONGODB_URI: 'mongodb://admin:*****@10.10.123.206:27017/?retryWrites=true&loadBalanced=false&serverSelectionTimeoutMS=5000&connectTimeoutMS=10000&authSource=admin&authMechanism=SCRAM-SHA-1', + APIBASE:process.env.BASEAPIURL }, }, diff --git a/pages/Sample-Page.vue b/pages/Sample-Page.vue index 1b60c6f..74998b5 100644 --- a/pages/Sample-Page.vue +++ b/pages/Sample-Page.vue @@ -9,7 +9,7 @@ const { session, refresh, update, reset, overwrite } = await useSession() const sidebar = async () => { console.log('erwer') - // await overwrite({ "test": "This replaces all current data of the session without overwriting the current session itself" }) + await update({ "test": "This replaces all current data of the session without overwriting the current session itself" }) console.log(session.value) // const a = await getSidebar() @@ -28,7 +28,8 @@ const sidebar = async () => { } const resett = async () => { - await reset() + console.log("ini session",session.value) + // await reset() } diff --git a/pages/Setting/typeUser/HakAkses.vue b/pages/Setting/typeUser/HakAkses.vue deleted file mode 100644 index 94e057d..0000000 --- a/pages/Setting/typeUser/HakAkses.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - diff --git a/pages/Setting/typeUser/index.vue b/pages/Setting/typeUser/index.vue index 6ca9cb9..780d3ae 100644 --- a/pages/Setting/typeUser/index.vue +++ b/pages/Setting/typeUser/index.vue @@ -21,7 +21,7 @@ onMounted(async() => { - mdi-plus Tipe User + @@ -43,8 +43,7 @@ onMounted(async() => { state = val" > - - + state = val"/> diff --git a/pages/index.vue b/pages/index.vue index 340eaa3..870697b 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -6,6 +6,16 @@ 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'; +const { session, refresh, update, reset, overwrite, status } = await useSession() + +watchEffect(() => { + if(session.value){ + console.log("ini session",session.value) + }else{ + console.log("tidak ada") + } +}) +// console.log("ini session",session.value) diff --git a/server/api/auth/getSessionMenu.ts b/server/api/auth/getSessionMenu.ts new file mode 100644 index 0000000..ee6bfe6 --- /dev/null +++ b/server/api/auth/getSessionMenu.ts @@ -0,0 +1,5 @@ +import { defineEventHandler } from "h3"; + +export default defineEventHandler(async(event)=>{ + return event.context.session.sidebarItems +}) \ No newline at end of file diff --git a/server/api/auth/sidebarItem.ts b/server/api/auth/sidebarItem.ts index 2b6b7f2..0021db7 100644 --- a/server/api/auth/sidebarItem.ts +++ b/server/api/auth/sidebarItem.ts @@ -1,12 +1,26 @@ import axios from "axios"; - +import { defineEventHandler } from "h3"; export default defineEventHandler(async (event) => { + // console.log("event",event.context.session) const read_body = await readBody(event) console.log(`ini ${read_body}`) + const session = event.context.session.sidebarItems + if(session){ + console.log("ini session:",session) + return session + } + // const Event = useRequestEvent() + // const session = await useSession(event) try { const response = await axios.get(`http://10.10.150.131:8080/api/login/${read_body.key}`) - // console.log(response.data.data) + console.log(response.data.data) + event.context.session.sidebarItems = response.data.data + // await session.update({ + // sidebarItems: response.data.data + // }) + console.log("ini session baru2:",event.context.session.sidebarItems) + // console.log("ini session baru:",response.data.data) return response.data.data } catch (error) { console.log(`Messages Err: ${error.response.data.message} || nullable`) diff --git a/server/api/setting/deleteRoleMenuUser.ts b/server/api/setting/deleteRoleMenuUser.ts deleted file mode 100644 index 4ffb1cf..0000000 --- a/server/api/setting/deleteRoleMenuUser.ts +++ /dev/null @@ -1,9 +0,0 @@ -export default defineEventHandler(async (event) => { - const body = await readBody(event) - const res = await $fetch(`http://10.10.150.131:8080/api/menu/delete/${body.key}`, { - method: "DELETE", - headers: {"Content-Type": "application/json"}, - }) - console.log(res) - return res -}) diff --git a/server/api/setting/getListMenu.get.ts b/server/api/setting/getListMenu.get.ts deleted file mode 100644 index e4f7b96..0000000 --- a/server/api/setting/getListMenu.get.ts +++ /dev/null @@ -1,9 +0,0 @@ - - export default defineEventHandler(async (event) => { - const res = await $fetch(`http://10.10.150.131:8080/api/menu/getlist`, { - method: "GET", - headers: {"Content-Type": "application/json"} - }) - // console.log(res) - return res - }) diff --git a/server/api/setting/getRoleMenu.post.ts b/server/api/setting/getRoleMenu.post.ts deleted file mode 100644 index 273f4a0..0000000 --- a/server/api/setting/getRoleMenu.post.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default defineEventHandler(async(event)=> { - const body = await readBody(event) - // console.log(body) - const a = await $fetch(`http://10.10.150.131:8080/api/menu/role/type/${body}`,{ - headers: { - "Content-Type": "application/json", - }, - method: "GET", - }) - return a -}) \ No newline at end of file diff --git a/server/api/setting/getTipeUser.get.ts b/server/api/setting/getTipeUser.get.ts deleted file mode 100644 index d2d8aa0..0000000 --- a/server/api/setting/getTipeUser.get.ts +++ /dev/null @@ -1,8 +0,0 @@ -export default defineEventHandler(async (event) => { - const res = await $fetch(`http://10.10.150.131:8080/api/menu/type`, { - method: "GET", - headers: {"Content-Type": "application/json"} - }) - // console.log(res) - return res -}) diff --git a/server/api/setting/postRoleMenuUser.post.ts b/server/api/setting/postRoleMenuUser.post.ts deleted file mode 100644 index 592ff4f..0000000 --- a/server/api/setting/postRoleMenuUser.post.ts +++ /dev/null @@ -1,47 +0,0 @@ -export default defineEventHandler(async (event) => { - const body = await readBody(event) - try { - const res = await $fetch(`http://10.10.150.131:8080/api/menu/update/rolemenu?id=${body[0].type_user_id}`, { - method: "POST", - headers: {"Content-Type": "application/json"}, - body: body - }) - return res - } catch (err) { - console.error('Error in API call:', err) - // Membuat object error response yang lebih informatif - const errorResponse = { - statusCode: err.response?.status || 500, - statusMessage: err.response?.statusText || 'Internal Server Error', - data: err.data || null - } - // Throw error dengan detail yang lebih baik - throw createError({ - statusCode: errorResponse.statusCode, - statusMessage: errorResponse.statusMessage, - data: errorResponse.data - }) - } - // try { - // const res = await $fetch(`http://10.10.150.131:8080/api/menu/role/insert`, { - // method: "POST", - // headers: {"Content-Type": "application/json"}, - // body: body - // }) - // return res - // } catch (err) { - // console.error('Error in API call:', err) - // // Membuat object error response yang lebih informatif - // const errorResponse = { - // statusCode: err.response?.status || 500, - // statusMessage: err.response?.statusText || 'Internal Server Error', - // data: err.data || null - // } - // // Throw error dengan detail yang lebih baik - // throw createError({ - // statusCode: errorResponse.statusCode, - // statusMessage: errorResponse.statusMessage, - // data: errorResponse.data - // }) - // } -}) diff --git a/stores/api/menu.ts b/stores/api/menu.ts deleted file mode 100644 index ef470af..0000000 --- a/stores/api/menu.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { defineStore } from "pinia"; -import axios from "axios"; -export const useMenu = defineStore("menu", () => { - const listMenu = ref([]); - const messages = ref({}); - const getMenu = async () => { - // await $fetch("http://10.10.150.131:8080/api/menu/getlist", { - await $fetch("/api/menu/listMenu", { - // mode: "no-cors", - headers: { - "Content-Type": "application/json", - }, - method:"GET", - }) - .then((res) => { - listMenu.value = res - console.log(listMenu.value); - }).catch((error) => { - console.log(`Info Error : ${error}`) - messages.value.title = 'Sambungan Sever Terputus!!!'; - messages.value.type = 'error'; - }) - // return listMenu; -}; - return { getMenu,listMenu }; -}); diff --git a/stores/api/roleMenu.ts b/stores/api/roleMenu.ts deleted file mode 100644 index e8bd124..0000000 --- a/stores/api/roleMenu.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { defineStore } from "pinia"; -import axios from "axios"; -export const useRoleMode = defineStore("roleMode", () => { - const typeUser = ref([]); - const roleMenuById = ref([]); - const messages = ref({}); - const getRoleMenuById = async (body: Record) => { - typeUser.value = body; - // console.log(typeUser.value); - // await $fetch("http://10.10.150.131:8080/api/menu/getlist", { - await $fetch(`/api/roleMenu/roleMenu`, { - // mode: "no-cors", - headers: { - "Content-Type": "application/json", - }, - method: "POST", - body: JSON.stringify(body), - }).then((res) => { - roleMenuById.value = res; - // console.log(roleMenuById.value); - }).catch((error) => { - console.log(`Info Error : ${error}`) - messages.value.title = 'Sambungan Sever Terputus!!!'; - messages.value.type = 'error'; - }); - // return roleMenuById; - }; - return { getRoleMenuById, roleMenuById, typeUser }; -}); diff --git a/stores/api/setting/setting.ts b/stores/api/setting/setting.ts index 4b6f02a..dd22aa0 100644 --- a/stores/api/setting/setting.ts +++ b/stores/api/setting/setting.ts @@ -1,22 +1,21 @@ import {defineStore} from "pinia"; import type {MessagesHandler} from "~/types/messagesHandler"; - +const runtime = useRuntimeConfig().public; const messages = ref({}); export const useSettingStore = defineStore("SettingStore", () => { messages.value = {} const listMenu = ref([]); const getMenu = async () => { - await $fetch("/api/setting/getListMenu", { + await $fetch(`${runtime.APIBASE}/menu/getlist`, { + // await $fetch("/api/setting/getListMenu", { method: "GET", // mode: "no-cors", - headers: { - "Content-Type": "application/json", - }, + headers: {"Content-Type": "application/json"} }) .then((res) => { listMenu.value = res - // console.log(listMenu.value); + // console.log("menu pinia :",listMenu.value); }); }; @@ -24,13 +23,15 @@ export const useSettingStore = defineStore("SettingStore", () => { const roleMenuById = ref([]); const getRoleMenuById = async (body: Record) => { typeUser.value = body; - await $fetch(`/api/setting/getRoleMenu`, { + console.log("rolemenu byid",body) + // await $fetch(`/api/setting/getRoleMenu`, { + await $fetch(`${runtime.APIBASE}/menu/role/type/${body}`, { // mode: "no-cors", headers: { "Content-Type": "application/json", }, - method: "POST", - body: JSON.stringify(body), + method: "GET", + // body: JSON.stringify(body), }).then((res) => { roleMenuById.value = res; }); @@ -38,8 +39,12 @@ export const useSettingStore = defineStore("SettingStore", () => { const listTypeUser = ref([]); const getTypeUser = async () => { - await $fetch("/api/setting/getTipeUser", { + // await $fetch("/api/setting/getTipeUser", { + await $fetch(`${runtime.APIBASE}/menu/type`, { method: "GET", + headers: { + "Content-Type": "application/json", + }, // mode: 'no-cors', // headers: { // 'Access-Control-Allow-Origin': '*', @@ -65,12 +70,15 @@ export const useSettingStore = defineStore("SettingStore", () => { } ] })) + + console.log("body post:",body.menus) // await $fetch(`/api/setting/deleteRoleMenuUser`, { // method: 'POST', // headers: {'Content-Type': 'application/json'}, // body: JSON.stringify({key: body.menus[0].type_user_id}) // }).then(async (res) => { - await $fetch(`/api/setting/postRoleMenuUser`, { + // await $fetch(`/api/setting/postRoleMenuUser`, { + await $fetch(`${runtime.APIBASE}/menu/update/rolemenu?id=${body.menus[0].type_user_id}`, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(roleUserMenu) diff --git a/stores/api/sidebar.ts b/stores/api/sidebar.ts deleted file mode 100644 index 822ca2e..0000000 --- a/stores/api/sidebar.ts +++ /dev/null @@ -1,30 +0,0 @@ -import axios from "axios"; -import { defineStore } from "pinia"; - -// export const useMySidebarStore = defineStore({ -// id: 'mySidebarStore', -// state: () => ({ }), -// actions: {} -// }) - -export const useSidebarStore = defineStore("SidebarStore", () => { - const getSidebar = async () => { - console.log("aaaaa"); - const res = await $fetch( - `http://10.10.150.131:8080/api/login/6835632801e46cf9c5551876`, - { - mode: "no-cors", - headers: { - "Access-Control-Allow-Origin": "*", - Accept: "application/json", - "Content-Type": "application/json", - }, - } - ).then((response) => { - console.log(response); - }); - }; - return { - getSidebar, - }; -}); diff --git a/stores/api/typeUser.ts b/stores/api/typeUser.ts deleted file mode 100644 index a41aa5b..0000000 --- a/stores/api/typeUser.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { defineStore } from "pinia"; -import axios from "axios"; -export const useTypeUser = defineStore("typeUser", () => { - const listTypeUser = ref([]); - const messages = ref({}); - const getTypeUser = async () => { - // await $fetch("http://10.10.150.131:8080/api/menu/type", { - await $fetch("/api/typeUser/listTypeUser", { - // mode: 'no-cors', - // headers: { - // 'Access-Control-Allow-Origin': '*', - // Accept: 'application/json', - // 'Content-Type': 'application/json', - // }, - method:"GET", - }) - .then((res) => { - listTypeUser.value = res - // console.log(listTypeUser.value); - }).catch((error) => { - console.log(`Info Error : ${error}`) - messages.value.title = 'Sambungan Sever Terputus!!!'; - messages.value.type = 'error'; - }); - // return listTypeUser; -}; - return { getTypeUser,listTypeUser }; -}); diff --git a/theme/LightTheme.ts b/theme/LightTheme.ts index 15c71b9..a33c9ff 100644 --- a/theme/LightTheme.ts +++ b/theme/LightTheme.ts @@ -8,7 +8,7 @@ const BLUE_THEME: ThemeTypes = { 'border-opacity': 1 }, colors: { - primary: '#635BFF', + primary: '#06ac8b', secondary: '#14E9E2', info: '#46caeb', success: '#36c76c',
{{ item.display }}