[cookie] have leCoffreUserInfo and leCoffreOfficeInfo
This commit is contained in:
parent
2455e2cca2
commit
ad78491a90
@ -12,14 +12,18 @@ export default class UserStore {
|
|||||||
private constructor() { }
|
private constructor() { }
|
||||||
|
|
||||||
public isConnected(): boolean {
|
public isConnected(): boolean {
|
||||||
return !!CookieService.getInstance().getCookie("leCoffreAccessToken");
|
return !!CookieService.getInstance().getCookie("leCoffreAccessToken") && !!CookieService.getInstance().getCookie("leCoffreUserInfo") && !!CookieService.getInstance().getCookie("leCoffreOfficeInfo");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async connect(user: any) {
|
public async connect(user: any, office: any) {
|
||||||
try {
|
try {
|
||||||
|
if (!user || !office) {
|
||||||
|
throw new Error("UserStore: User or office not provided");
|
||||||
|
}
|
||||||
//Save tokens in cookies
|
//Save tokens in cookies
|
||||||
CookieService.getInstance().setCookie("leCoffreAccessToken", JSON.stringify(user));
|
CookieService.getInstance().setCookie("leCoffreUserInfo", JSON.stringify(user));
|
||||||
this.event.emit("connection", CookieService.getInstance().getCookie("leCoffreAccessToken"));
|
CookieService.getInstance().setCookie("leCoffreOfficeInfo", JSON.stringify(office));
|
||||||
|
this.event.emit("connection", CookieService.getInstance().getCookie("leCoffreUserInfo"), CookieService.getInstance().getCookie("leCoffreOfficeInfo"));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
return false;
|
return false;
|
||||||
@ -32,24 +36,47 @@ export default class UserStore {
|
|||||||
User.getInstance().clear();
|
User.getInstance().clear();
|
||||||
|
|
||||||
//Remove tokens from cookies
|
//Remove tokens from cookies
|
||||||
CookieService.getInstance().deleteCookie("leCoffreAccessToken");
|
CookieService.getInstance().deleteCookie("leCoffreUserInfo");
|
||||||
this.event.emit("disconnection", CookieService.getInstance().getCookie("leCoffreAccessToken"));
|
CookieService.getInstance().deleteCookie("leCoffreOfficeInfo");
|
||||||
|
this.event.emit("disconnection", CookieService.getInstance().getCookie("leCoffreUserInfo"));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public onDisconnect(callback: (userAddress: string) => void): () => void {
|
public onDisconnect(callback: (userAddress: string, officeAddress: string) => void): () => void {
|
||||||
this.event.on("disconnection", callback);
|
this.event.on("disconnection", callback);
|
||||||
return () => this.event.off("disconnection", callback);
|
return () => this.event.off("disconnection", callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public onConnect(callback: (userAddress: string) => void): () => void {
|
public onConnect(callback: (userAddress: string, officeAddress: string) => void): () => void {
|
||||||
this.event.on("connection", callback);
|
this.event.on("connection", callback);
|
||||||
return () => this.event.off("connection", callback);
|
return () => this.event.off("connection", callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getUser(): any {
|
public getUser(): any | null {
|
||||||
return JSON.parse(CookieService.getInstance().getCookie("leCoffreAccessToken") || "");
|
try {
|
||||||
|
const cookie = CookieService.getInstance().getCookie("leCoffreUserInfo");
|
||||||
|
if (!cookie) return null;
|
||||||
|
|
||||||
|
const parsed = JSON.parse(cookie);
|
||||||
|
return parsed || null;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("UserStore: Error parsing user cookie:", error);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public getOffice(): any | null {
|
||||||
|
try {
|
||||||
|
const cookie = CookieService.getInstance().getCookie("leCoffreOfficeInfo");
|
||||||
|
if (!cookie) return null;
|
||||||
|
|
||||||
|
const parsed = JSON.parse(cookie);
|
||||||
|
return parsed || null;
|
||||||
|
} catch (error) {
|
||||||
|
console.error("UserStore: Error parsing office cookie:", error);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user