[FEAT]: add adapter of create account in driven layer

This commit is contained in:
behnamrhp 2023-05-21 15:36:43 +03:00
parent cec906f519
commit 896914daaa
5 changed files with 39 additions and 3 deletions

View File

@ -1,3 +1,5 @@
VITE_API_ORIGIN = http://176.53.196.42:6001/api/v1 VITE_API_ORIGIN = http://176.53.196.42:6001/api/v1
VITE_API_PLACES = /place VITE_API_PLACES = /place
VITE_API_USERS = /profile VITE_API_USERS = /profile
VITE_API_USERS_ACCOUNT = /account
VITE_API_USERS_PROFILE = /profile

View File

@ -1,4 +1,4 @@
import { CreateAccountDTOReturnType } from '../dto/protocols'; import { INewUserData } from '../dto/protocols';
import { CreateAcountResponseApi } from '../response-object/protocols'; import { CreateAcountResponseApi } from '../response-object/protocols';
export type HttpHandler = (newUser: CreateAccountDTOReturnType) => Promise<CreateAcountResponseApi>; export type HttpHandler = (newUser: INewUserData) => Promise<CreateAcountResponseApi>;

View File

@ -0,0 +1,30 @@
import { INewUserData } from '~/business-logic/core/users/create-user/create-account/data/dto/protocols';
import { CreateAcountResponseApi } from '~/business-logic/core/users/create-user/create-account/data/response-object/protocols';
import createUserPort from '~/business-logic/core/users/create-user/ports';
import { HTTPPovider } from '~/driven/boundaries/http-boundary/httpBoundary';
import { HttpOptionsType } from '~/driven/boundaries/http-boundary/protocols';
import { apiUrls } from '~/driven/utils/configs/appConfig';
const createAccountAdapter = (): createUserPort['httpAccountHandler'] => {
// make url
const url = apiUrls.core.createUserAccount;
// call http provider
const httpProvider = new HTTPPovider();
const httpHandler = (newUserData: INewUserData) => {
// api options
const httpOptions: HttpOptionsType = {
url,
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
data: newUserData,
};
return httpProvider.request<CreateAcountResponseApi>(httpOptions);
};
return httpHandler;
};
export default createAccountAdapter;

View File

@ -27,5 +27,7 @@ export const apiUrls = {
core: { core: {
getPlaces: `${baseApiUrl}${ENVs.apiGetPlaces}`, getPlaces: `${baseApiUrl}${ENVs.apiGetPlaces}`,
getUsers: `${baseApiUrl}${ENVs.apiGetUsers}`, getUsers: `${baseApiUrl}${ENVs.apiGetUsers}`,
createUserAccount: `${baseApiUrl}${ENVs.apiCreateUserAccount}`,
createUserProfile: `${baseApiUrl}${ENVs.apiCreateUserProfile}`,
}, },
}; };

View File

@ -2,4 +2,6 @@ export const ENVs = {
apiOrigin: process.env.VITE_API_ORIGIN, apiOrigin: process.env.VITE_API_ORIGIN,
apiGetPlaces: process.env.VITE_API_PLACES, apiGetPlaces: process.env.VITE_API_PLACES,
apiGetUsers: process.env.VITE_API_USERS, apiGetUsers: process.env.VITE_API_USERS,
apiCreateUserAccount: process.env.VITE_API_USERS_ACCOUNT,
apiCreateUserProfile: process.env.VITE_API_USERS_PROFILE,
}; };