UNPKG

@egalteam/framework

Version:

Egal

106 lines (96 loc) 3.13 kB
import { Method } from 'axios'; import { HttpRequest } from '../Actions/NetworkRequests/HttpRequest'; import { AuthParams } from './AuthParams'; import {GlobalVariables, setCookie} from '../GlobalVariables'; import { ActionParameters } from '../Actions/Interfaces/ActionParameters'; let register = 'register'; let auth = 'login'; let loginIntoService = 'loginToService'; export class AuthAction { private microserviceName: string; private modelName: string; private httpMethod: Method; private httpRequest: HttpRequest; private requestAction: string; private requestType: string; constructor(modelName: string, requestType: string, microserviceName?: string) { this.microserviceName = microserviceName ? microserviceName : 'auth'; this.modelName = modelName; this.httpMethod = 'POST'; this.requestAction = ''; this.requestType = requestType; this.httpRequest = new HttpRequest(); } setBaseURL(baseAuthURL: string): void { GlobalVariables.authBaseUrl = baseAuthURL; } setTokenUST(tokenUST: string): void { GlobalVariables.tokenUST = tokenUST; } setTokenUMT(tokenUMT: string): void { GlobalVariables.tokenUMT = tokenUMT; } setNetworkRequest( userData: ActionParameters | undefined, requestType: string, tokenName?: string ): Promise<any> { return new Promise((resolve, reject) => { let authParams = new AuthParams().setAuthParams(userData); this.httpRequest .axiosConnect( this.microserviceName, this.modelName, requestType, this.httpMethod, authParams, tokenName ) .then((response: any) => { let action = response.data.action.action_name; let items = response.data.action_result.data; let returnItems = [items, action, this.modelName]; resolve(returnItems); }) .catch((error) => { let returnError = [error, 'error', this.modelName]; reject(returnError); }); }); } registerNewUser(newUserData: ActionParameters): Promise<any> { return new Promise((resolve, reject) => { this.setNetworkRequest(newUserData, register) .then((data) => { resolve(data); }) .catch((error) => { reject(error); }); }); } authUser(createdUserData: ActionParameters): Promise<any> { return new Promise((resolve, reject) => { this.setNetworkRequest(createdUserData, auth) .then((data: any) => { localStorage.setItem('umt', data[0].user_master_token); localStorage.setItem('umrt', data[0].user_master_refresh_token); resolve(data); }) .catch((error) => { reject(error); }); }); } loginToService(userCred: ActionParameters, tokenName?: string): Promise<any> { return new Promise((resolve, reject) => { this.setNetworkRequest(userCred, loginIntoService, tokenName) .then((data: any) => { resolve(data); }) .catch((error) => { reject(error); }); }); } }