import { Module, Mutation, VuexModule ,Action } from 'vuex-module-decorators';
|
import { Role } from '~/shared/models/enum/role';
|
import { Selected } from '~/shared/models/quick-filter.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');
|
quickFilterSelectedItem = localStorage.getItem('quickFilter');
|
recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
|
|
get idToken(): string|null {
|
return this.id_token;
|
};
|
|
get currentRole(): string|null {
|
return this.current_role;
|
};
|
|
get consultantId():string|null{
|
return this.consultant_id;
|
}
|
|
get quickFilterSelectedData(): Selected[] {
|
return JSON.parse(this.quickFilterSelectedItem || '[]') as Selected[];
|
}
|
|
get isAdminLogin(): boolean {
|
return this.currentRole === Role.ADMIN;
|
}
|
|
get isUserLogin(): boolean {
|
return this.currentRole === Role.USER;
|
}
|
|
|
|
@Mutation storageIdToken(token: string): void {
|
localStorage.setItem('id_token', token);
|
this.id_token = localStorage.getItem('id_token') ;
|
};
|
|
@Mutation storageRole(role:string): void {
|
localStorage.setItem('current_role', role);
|
this.current_role = localStorage.getItem('current_role');
|
};
|
|
@Mutation storageConsultantId(id:string):void{
|
localStorage.setItem('consultant_id', id);
|
this.consultant_id = localStorage.getItem('consultant_id');
|
}
|
|
@Mutation storageQuickFilter(selected: string): void {
|
localStorage.setItem('quickFilter', selected);
|
this.quickFilterSelectedItem = localStorage.getItem('quickFilter');
|
};
|
|
@Mutation storageRecommendConsultant(selected: string): void {
|
localStorage.setItem('recommendConsultantItem', selected);
|
this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
|
}
|
|
@Mutation storageClear(): void {
|
localStorage.removeItem('myRequests');
|
localStorage.removeItem('userInfo');
|
localStorage.removeItem('id_token');
|
localStorage.removeItem('current_role');
|
localStorage.removeItem('consultant_id');
|
this.id_token = localStorage.getItem('id_token');
|
this.current_role = localStorage.getItem('current_role');
|
this.consultant_id = localStorage.getItem('consultant_id');
|
}
|
|
|
@Mutation storageClearQuickFilter() {
|
localStorage.removeItem('quickFilter');
|
this.quickFilterSelectedItem = localStorage.getItem('quickFilter');
|
}
|
|
@Mutation storageClearRecommendConsultant() {
|
localStorage.removeItem('recommendConsultantItem');
|
this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
|
}
|
|
@Action actionStorageClear(): void {
|
this.context.commit("storageClear");
|
}
|
|
}
|