114 lines
3.8 KiB
TypeScript
114 lines
3.8 KiB
TypeScript
import BaseApiService from "@Front/Api/BaseApiService";
|
|
import { FrontendVariables } from "@Front/Config/VariablesFront";
|
|
//import User from "le-coffre-resources/dist/SuperAdmin";
|
|
|
|
export default class Auth extends BaseApiService {
|
|
private static instance: Auth;
|
|
|
|
private constructor() {
|
|
super();
|
|
}
|
|
|
|
public static getInstance(): Auth {
|
|
return (this.instance = this.instance ?? new this());
|
|
}
|
|
|
|
public async logOutWithIdNot() {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.IDNOT_BASE_URL}/user/auth/logout?post_logout_redirect_uri=${variables.FRONT_APP_HOST}`);
|
|
try {
|
|
return await fetch(url);
|
|
} catch (err) {
|
|
console.error(err);
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async loginWithIdNot() {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(
|
|
`${variables.IDNOT_BASE_URL + variables.IDNOT_AUTHORIZE_ENDPOINT}?client_id=${variables.IDNOT_CLIENT_ID}&redirect_uri=${
|
|
variables.FRONT_APP_HOST
|
|
}/authorized-client&scope=openid,profile&response_type=code`,
|
|
);
|
|
try {
|
|
return await this.getRequest(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async idNotAuth(autorizationCode: string | string[]): Promise<{ idNotUser: any; authToken: string }> {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/auth/${autorizationCode}`);
|
|
try {
|
|
return await this.postRequest<{ idNotUser: any; authToken: string }>(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async getIdNotUser(): Promise<{ success: boolean; data: any }> {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/user`);
|
|
try {
|
|
return await this.getRequest(url);
|
|
}
|
|
catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async getIdNotOfficeForUser(userId: string): Promise<any[]> {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/user/rattachements`);
|
|
url.searchParams.set('idNot', userId);
|
|
try {
|
|
return await this.getRequest(url);
|
|
}
|
|
catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async getIdNotUserForOffice(officeId: string): Promise<any[]> {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/office/rattachements`);
|
|
url.searchParams.set('idNot', officeId);
|
|
try {
|
|
return await this.getRequest(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async getUserProcessByIdNot(pairingId: string): Promise<{ success: boolean; data: { processId: string, processData: { [key: string]: any } } }> {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/process/user`);
|
|
url.searchParams.set('pairingId', pairingId);
|
|
try {
|
|
return await this.getRequest(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
|
|
public async getOfficeProcessByIdNot(): Promise<{ success: boolean; data: { processId: string, processData: { [key: string]: any } } }> {
|
|
const variables = FrontendVariables.getInstance();
|
|
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/process/office`);
|
|
try {
|
|
return await this.getRequest(url);
|
|
} catch (err) {
|
|
this.onError(err);
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
}
|