70 lines
2.4 KiB
TypeScript
70 lines
2.4 KiB
TypeScript
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 validateTempEmailCode from "../../actions/users/validate-temp-email-code";
|
|
|
|
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,
|
|
validateTempEmailCode,
|
|
},
|
|
};
|
|
}
|