From 74e563da7fa6886449fd2be5933e2d4ca5c85f48 Mon Sep 17 00:00:00 2001 From: jack <jack.su@pollex.com.tw> Date: 星期二, 12 九月 2023 11:25:52 +0800 Subject: [PATCH] [UPDATE] 解決弱點Se: Incorrect definition of Serializable class [UPDATE] 解決弱點Information exposure to log file [UPDATE] 解決弱點Use of hard-coded password --- PAMapp/store/localStorage.ts | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 1 deletions(-) diff --git a/PAMapp/store/localStorage.ts b/PAMapp/store/localStorage.ts index aefef14..d1fd32c 100644 --- a/PAMapp/store/localStorage.ts +++ b/PAMapp/store/localStorage.ts @@ -1,13 +1,20 @@ import { Module, Mutation, VuexModule ,Action } from 'vuex-module-decorators'; -import { Role } from '~/shared/models/enum/role'; +import { ContactType } from '~/shared/models/enum/ContactType'; +import { Role } from '~/shared/models/enum/Role'; import { Selected } from '~/shared/models/quick-filter.model'; +import { RegisterInfo } from '~/shared/models/registerInfo'; +import { StrictQueryParams } from '~/shared/models/strict-query.model'; @Module export default class LocalStorage extends VuexModule { id_token = localStorage.getItem('id_token'); current_role= localStorage.getItem('current_role'); consultant_id = localStorage.getItem('consultant_id'); + userInfo = JSON.parse(localStorage.getItem('userInfo')!); quickFilterSelectedItem = localStorage.getItem('quickFilter'); recommendConsultantItem = localStorage.getItem('recommendConsultantItem'); + appointmentIdFromMsg = localStorage.getItem('appointmentIdFromMsg'); + satisfactionIdFromMsg = localStorage.getItem('satisfactionIdFromMsg'); + notContactAppointmentIdFromMsg = localStorage.getItem('notContactAppointmentIdFromMsg'); get idToken(): string|null { return this.id_token; @@ -21,6 +28,11 @@ return this.consultant_id; } + get isPrimaryContactTypeEmail(): boolean { + return this.userInfo.contactType === ContactType.EMAIL; + } + + get quickFilterSelectedData(): Selected[] { return JSON.parse(this.quickFilterSelectedItem || '[]') as Selected[]; } @@ -33,7 +45,22 @@ return this.currentRole === Role.USER; } + get currentAppointmentIdFromMsg(): string|null { + return this.appointmentIdFromMsg; + } + get currentSatisfactionIdFromMsg(): string|null { + return this.satisfactionIdFromMsg; + } + + get currentNotContactAppointmentIdFromMsg(): string|null { + return this.notContactAppointmentIdFromMsg; + } + + @Mutation storageUserInfo(userInfo: RegisterInfo): void { + localStorage.setItem('userInfo', JSON.stringify(userInfo)); + this.userInfo = JSON.parse(localStorage.getItem('userInfo')!); + } @Mutation storageIdToken(token: string): void { localStorage.setItem('id_token', token); @@ -60,12 +87,32 @@ this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem'); } + @Mutation storageAppointmentIdFromMsg(id: string) { + localStorage.setItem('appointmentIdFromMsg', id); + this.appointmentIdFromMsg = localStorage.getItem('appointmentIdFromMsg'); + } + + @Mutation storageSatisfactionIdFromMsg(id: string) { + localStorage.setItem('satisfactionIdFromMsg', id); + this.satisfactionIdFromMsg = localStorage.getItem('satisfactionIdFromMsg'); + } + + @Mutation storageNotContactAppointmentIdFromMsg(id: string) { + localStorage.setItem('notContactAppointmentIdFromMsg', id); + this.notContactAppointmentIdFromMsg = id; + } + @Mutation storageClear(): void { localStorage.removeItem('myRequests'); localStorage.removeItem('userInfo'); localStorage.removeItem('id_token'); localStorage.removeItem('current_role'); localStorage.removeItem('consultant_id'); + localStorage.removeItem('appointment'); + localStorage.removeItem('login_consultant'); + localStorage.removeItem('notContactAppointmentIdFromMsg'); + localStorage.removeItem('satisfactionIdFromMsg'); + localStorage.removeItem('appointmentIdFromMsg'); this.id_token = localStorage.getItem('id_token'); this.current_role = localStorage.getItem('current_role'); this.consultant_id = localStorage.getItem('consultant_id'); @@ -82,6 +129,26 @@ this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem'); } + @Mutation storageClearAppointmentIdFromMsg() { + localStorage.removeItem('appointmentIdFromMsg'); + this.appointmentIdFromMsg = localStorage.getItem('appointmentIdFromMsg'); + } + + @Mutation storageClearSatisfactionIdFromMsg() { + localStorage.removeItem('satisfactionIdFromMsg'); + this.appointmentIdFromMsg = localStorage.getItem('satisfactionIdFromMsg'); + } + + @Mutation storageClearNotContactAppointmentIdFromMsg() { + localStorage.removeItem('notContactAppointmentIdFromMsg'); + this.appointmentIdFromMsg = localStorage.getItem('notContactAppointmentIdFromMsg'); + } + + @Mutation storageStrickQueryItem(queryItem: StrictQueryParams): void { + localStorage.setItem('recommendConsultantItem', JSON.stringify(queryItem)); + this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem'); + } + @Action actionStorageClear(): void { this.context.commit("storageClear"); } -- Gitblit v1.8.0