import addUser from "../../actions/users/add-user"; import getUser from "../../actions/users/get-user"; import loginUser from "../../actions/users/login-user"; import logoutUser from "../../actions/users/logout-user"; import resetPassword from "../../actions/users/reset-password"; import sendEmailCode from "../../actions/users/send-email-code"; import googleAuth from "../../actions/users/social/google-auth"; import updateUser from "../../actions/users/update-user"; import userAuth from "../../actions/users/user-auth"; import { AddUserParams, GetUserParams, GoogleAuthParams, LoginUserParam, ResetPasswordParams, SendEmailCodeParams, UpdateUserParams, } from "../../types"; type Params = { local?: boolean; }; export default function user(params?: Params) { return { auth: { login: params?.local ? async (_: LoginUserParam) => { return await loginUser({ ..._, useLocal: true }); } : loginUser, get: params?.local ? async (_: GetUserParams) => { return await getUser({ ..._, useLocal: true }); } : getUser, signup: params?.local ? async (_: AddUserParams) => { return await addUser({ ..._, useLocal: true }); } : addUser, sendEmailCode: params?.local ? async (_: SendEmailCodeParams) => { return await sendEmailCode({ ..._, useLocal: true }); } : sendEmailCode, update: params?.local ? async (_: UpdateUserParams) => { return await updateUser({ ..._, useLocal: true }); } : updateUser, resetPassword: params?.local ? async (_: ResetPasswordParams) => { return await resetPassword({ ..._, useLocal: true }); } : resetPassword, googleLogin: params?.local ? async (_: GoogleAuthParams) => { return await googleAuth({ ..._, useLocal: true }); } : googleAuth, logout: logoutUser, auth: userAuth, }, }; }