info.value.memberRole)
-const name = computed(() => info.value.memberName)
+const role = computed(() => info.value.role)
+const name = computed(() => info.value.name)
const nickname = computed(() => info.value.nickname)
const filteredMenu = computed(() => {
diff --git a/src/components/top-bar/TopBar.vue b/src/components/top-bar/TopBar.vue
index f761b739..4576347f 100644
--- a/src/components/top-bar/TopBar.vue
+++ b/src/components/top-bar/TopBar.vue
@@ -29,9 +29,9 @@
type="button"
@click="toggleProfile">
{
}
const originUrl = route.path.split('/')[1]
- if (info.value.memberRole === 'ROLE_USER') {
+ if (info.value.role === 'ROLE_USER') {
if (!PERMITTED_URL.ROLE_USER.includes(originUrl)) router.push('/my-request')
- } else if (info.value.memberRole === 'ROLE_MANAGER') {
+ } else if (info.value.role === 'ROLE_MANAGER') {
if (!PERMITTED_URL.ROLE_MANAGER.includes(originUrl)) router.push('/my-task')
- } else if (info.value.memberRole === 'ROLE_ADMIN') {
+ } else if (info.value.role === 'ROLE_ADMIN') {
if (!PERMITTED_URL.ROLE_ADMIN.includes(originUrl)) router.push('/member-management')
} else {
if (!PERMITTED_URL.UNKNOWN.includes(originUrl)) {
@@ -121,7 +121,7 @@ watch(isLogined, newValue => {
watch(
() => info.value,
async newInfo => {
- if (newInfo.memberName && isLogined) {
+ if (newInfo.name && isLogined) {
await fetchNotificationCount()
}
},
diff --git a/src/stores/member.ts b/src/stores/member.ts
index f4e45b13..3c164ea2 100644
--- a/src/stores/member.ts
+++ b/src/stores/member.ts
@@ -6,14 +6,19 @@ import Cookies from 'js-cookie'
export const useMemberStore = defineStore('memberInfo', () => {
const info = ref({
- memberName: '',
+ name: '',
nickname: '',
- imageUrl: '',
- memberRole: '',
+ profileImageUrl: '',
+ role: '',
memberStatus: '',
email: '',
departmentName: '',
- departmentRole: ''
+ departmentRole: '',
+ notificationSettingInfo: {
+ agit: false,
+ email: false,
+ kakaoWork: false
+ }
})
const refreshToken = ref(Cookies.get('refreshToken') || '')
@@ -21,36 +26,29 @@ export const useMemberStore = defineStore('memberInfo', () => {
async function updateMemberInfoWithToken() {
const response = await axiosInstance.get('/api/members/info')
- console.log('API Response:', response.data)
updateMemberInfo(response.data)
isLogined.value = true
}
- function updateMemberInfo(responseData: any) {
+ function updateMemberInfo(responseData: User) {
info.value = {
- memberName: responseData.name || '',
- nickname: responseData.nicknanme || '',
+ name: responseData.name || '',
+ nickname: responseData.nickname || '',
email: responseData.email || '',
- imageUrl: responseData.profileImageUrl || '',
- memberRole: responseData.role || '',
+ profileImageUrl: responseData.profileImageUrl || '',
+ role: responseData.role || '',
memberStatus: responseData.memberStatus || '',
departmentName: responseData.departmentName || '',
- departmentRole: responseData.departmentRole || ''
+ departmentRole: responseData.departmentRole || '',
+ notificationSettingInfo: {
+ agit: responseData.notificationSettingInfo.agit,
+ email: responseData.notificationSettingInfo.email,
+ kakaoWork: responseData.notificationSettingInfo.kakaoWork
+ }
}
- console.log('Updated member info:', info.value)
}
function logout() {
- info.value = {
- memberName: '',
- nickname: '',
- imageUrl: '',
- memberRole: '',
- memberStatus: '',
- email: '',
- departmentName: '',
- departmentRole: ''
- }
isLogined.value = false
Cookies.remove('accessToken')
Cookies.remove('refreshToken')
diff --git a/src/types/auth.ts b/src/types/auth.ts
index 3e91977d..43a1407d 100644
--- a/src/types/auth.ts
+++ b/src/types/auth.ts
@@ -1,12 +1,17 @@
export interface User {
- memberName: string
+ name: string
nickname: string
email: string
- imageUrl: string
- memberRole: string
+ profileImageUrl: string
+ role: string
memberStatus: string
departmentName: string
departmentRole: string
+ notificationSettingInfo: {
+ agit: boolean
+ email: boolean
+ kakaoWork: boolean
+ }
}
export interface loginDataTypes {
diff --git a/src/types/user.ts b/src/types/user.ts
index 9572ef1b..2a131fbe 100644
--- a/src/types/user.ts
+++ b/src/types/user.ts
@@ -1,13 +1,6 @@
import type { LabelDataTypes, Status } from './common'
import type { ManagerTypes } from './manager'
-export interface userInfo {
- name: string
- agitNotification: boolean
- emailNotification: boolean
- kakaoWorkNotification: boolean
-}
-
export interface MyRequestListData {
taskId: number
taskCode: string
diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue
index 0654f0b8..a5617ef9 100644
--- a/src/views/LoginView.vue
+++ b/src/views/LoginView.vue
@@ -62,7 +62,7 @@ const handleLogin = async () => {
const sessionId = '000'
const res = await postLogin(loginData, sessionId)
if (res) {
- switch (res.memberInfo.memberRole) {
+ switch (res.memberInfo.role) {
case 'ROLE_ADMIN':
router.push('/member-management')
break