From 3ad216f11c69817fa344891dd7501331f7888b34 Mon Sep 17 00:00:00 2001 From: behnamrhp Date: Mon, 22 May 2023 17:34:32 +0300 Subject: [PATCH] [FEAT]: add driven phone number auth --- .env.development | 5 ++- .../authAdminPhoneNumberDriven.ts | 31 +++++++++++++++++++ src/driven/utils/configs/appConfig.ts | 4 +++ src/driven/utils/constants/envs.ts | 3 ++ src/driven/utils/constants/staticMessages.ts | 1 + 5 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/driven/adapters/auth-admin-phonenumber/authAdminPhoneNumberDriven.ts diff --git a/.env.development b/.env.development index 0c4d5ee..679bd12 100644 --- a/.env.development +++ b/.env.development @@ -1,4 +1,7 @@ -VITE_API_ORIGIN = http://176.53.196.42:6001/api/v1 +VITE_API_ORIGIN = https://admin.dev.dipal.ru/api/v1 +VITE_API_AUTH_ORIGIN = https://auth.dev.dipal.ru/api/v1/auth +VITE_API_AUTH_PHONENUMBER = /start-challenge +VITE_API_AUTH_LOGIN = /login VITE_API_PLACES = /place VITE_API_USERS = /profile VITE_API_USERS_ACCOUNT = /account diff --git a/src/driven/adapters/auth-admin-phonenumber/authAdminPhoneNumberDriven.ts b/src/driven/adapters/auth-admin-phonenumber/authAdminPhoneNumberDriven.ts new file mode 100644 index 0000000..b3cf36c --- /dev/null +++ b/src/driven/adapters/auth-admin-phonenumber/authAdminPhoneNumberDriven.ts @@ -0,0 +1,31 @@ +import { staticMessages } from '~/driven/utils/constants/staticMessages'; +import { apiUrls } from '~/driven/utils/configs/appConfig'; +import { PhonenumberAuthDTOReturnType } from '~/business-logic/generic/admin-user/authentication/phonnumber-auth/data/dto/phonenumberDto'; +import { IPhonenumberAuthPort } from '~/business-logic/generic/admin-user/authentication/phonnumber-auth/port'; +import { HttpOptionsType } from '~/driven/boundaries/http-boundary/protocols'; +import { HTTPPovider } from '~/driven/boundaries/http-boundary/httpBoundary'; + +const authAdminPhoneNumberDriven = (): IPhonenumberAuthPort => { + // make http handler ready for the phone number + const wrongPhoneNumberMessage = staticMessages.global.errors.phonenumber; + + const httpProvider = new HTTPPovider(); + const httpHandler = (data: PhonenumberAuthDTOReturnType) => { + const url = apiUrls.generic.authPhonenumber; + const options: HttpOptionsType = { + url, + headers: { + 'Content-Type': 'application/json', + }, + data, + }; + return httpProvider.request(options); + }; + + return { + httpHandler, + wrongPhoneNumberMessage, + }; +}; + +export default authAdminPhoneNumberDriven; diff --git a/src/driven/utils/configs/appConfig.ts b/src/driven/utils/configs/appConfig.ts index ce23fc4..a05d177 100644 --- a/src/driven/utils/configs/appConfig.ts +++ b/src/driven/utils/configs/appConfig.ts @@ -31,4 +31,8 @@ export const apiUrls = { createUserAccount: `${baseApiUrl}${ENVs.apiCreateUserAccount}`, createUserProfile: `${baseApiUrl}${ENVs.apiCreateUserProfile}`, }, + generic: { + authPhonenumber: `${ENVs.apiAuthOrigin}${ENVs.apiAuthPhonenumber}`, + authLogin: `${ENVs.apiAuthOrigin}${ENVs.apiAuthLogin}`, + }, }; diff --git a/src/driven/utils/constants/envs.ts b/src/driven/utils/constants/envs.ts index 180dc4c..e412194 100644 --- a/src/driven/utils/constants/envs.ts +++ b/src/driven/utils/constants/envs.ts @@ -1,5 +1,8 @@ export const ENVs = { apiOrigin: process.env.VITE_API_ORIGIN, + apiAuthOrigin: process.env.VITE_API_AUTH_ORIGIN, + apiAuthPhonenumber: process.env.VITE_API_AUTH_PHONENUMBER, + apiAuthLogin: process.env.VITE_API_AUTH_LOGIN, apiGetPlaces: process.env.VITE_API_PLACES, apiGetUsers: process.env.VITE_API_USERS, apiCreateUserAccount: process.env.VITE_API_USERS_ACCOUNT, diff --git a/src/driven/utils/constants/staticMessages.ts b/src/driven/utils/constants/staticMessages.ts index 6c932d3..20dd09e 100644 --- a/src/driven/utils/constants/staticMessages.ts +++ b/src/driven/utils/constants/staticMessages.ts @@ -2,6 +2,7 @@ export const staticMessages = { global: { errors: { input: 'please fill all inputs correctly', + phonenumber: 'please fill the valid number', }, users: 'Users', submit: 'Submit',