50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import BaseApiService from "@Front/Api/BaseApiService";
|
|
|
|
export default class User extends BaseApiService {
|
|
private static instance: User;
|
|
private readonly baseURl = `${this.getBaseUrl()}/idnot/user`;
|
|
|
|
private constructor() {
|
|
super();
|
|
}
|
|
|
|
public static getInstance() {
|
|
if (!this.instance) {
|
|
return new User();
|
|
} else {
|
|
return this.instance;
|
|
}
|
|
}
|
|
|
|
public async login(uid: string) {
|
|
const url = new URL(`${this.baseURl}/login/${uid}`);
|
|
try {
|
|
return await this.postRequest(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async verifyJwt(jwt: string) {
|
|
console.log(this.baseURl);
|
|
const url = new URL(`${this.baseURl}/verify-token/${jwt}`);
|
|
try {
|
|
return await this.postRequest(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async refreshToken(refreshToken: string): Promise<{ accessToken: string }> {
|
|
const url = new URL(`${this.baseURl}/refresh-token`);
|
|
try {
|
|
return await this.postRequest(url, {}, refreshToken);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
}
|