@tycoonsystems/tycoon-modules
Version:
www.tv.tycoon.systems/documentation
1 lines • 1.72 kB
JavaScript
import{fetchPost}from"@tycoonsystems/tycoon-modules/utility/fetch";import{resolveVariables}from"/app.config";import{_LocalEventEmitter}from"@tycoonsystems/tycoon-modules/events/LocalEventEmitter";import{checkSignedIn,updateLocalLoginSession}from"@tycoonsystems/tycoon-modules/utility/onboarding/SignIn";import{setStripeSecretData}from"@tycoonsystems/tycoon-modules/utility/payment";export default async function handler(e){if(!e||checkSignedIn())return!1;var t=e.props;t.setFetchBusy(!0);try{var a={email:e.email,password:e?.password??null,username:e?.username??null,firstName:e.firstName,lastName:e.lastName,unregistered:!0,signIn:e?.signIn??null,register:e?.register??null},n=await fetchPost(resolveVariables()?.apiUrl+"/m/authenticate",null,null,a);if("success"===n?.status&&n?.data){if(t.setFetchBusy(!1),_LocalEventEmitter&&_LocalEventEmitter.dispatch("completeSignIn",{data:n.data}),_LocalEventEmitter&&n?.newUser){var r={event:"newUser",data:n.data};_LocalEventEmitter.dispatch("scheduleMail",r);try{window.dispatchEvent(new CustomEvent("global_event",{detail:Object.assign({},r)}))}catch(e){}}var s={identifier:n.data.identifier,username:n.data.username,email:n.data.email,icon:n.data.icon,hash:n.data.hash,vendor:n.data.vendor??null,icon:n.data.icon,meta:n.data.meta},i=(n.data.plan&&(s.plan=n.data.plan),s.admin=null,updateLocalLoginSession(s),new CustomEvent("mute-login-error",{detail:!0}));document.dispatchEvent(i);let e;return t&&(e=await setStripeSecretData(t.apiUrl,t.domainKey,s,t._setStripeSecret),t._setLoggedIn(s)),{user:s,stripeSecret:e,stripeSecret:e}}return t.setFetchBusy(!1),e?.setPageError&&e.setPageError(n?.error?.message??"Something went wrong"),!1}catch(e){return t.setFetchBusy(!1),!1}}