@@ -2,21 +2,31 @@ import { form, getRequestEvent } from '$app/server';
22import { auth } from '$lib/server/auth/auth' ;
33import { error , redirect } from '@sveltejs/kit' ;
44import { SignInSchema } from '$lib/schemas/auth/sign-in-schema' ;
5+ import { ResultAsync } from 'neverthrow' ;
56
67export const signIn = form ( SignInSchema , async ( data ) => {
78 const event = getRequestEvent ( ) ;
89
9- const signIn = await auth . api . signInSocial ( {
10- headers : event . request . headers ,
11- body : {
12- provider : data . providerId ,
13- callbackURL : data . callbackURL ,
10+ const signInResult = await ResultAsync . fromPromise (
11+ auth . api . signInSocial ( {
12+ headers : event . request . headers ,
13+ body : {
14+ provider : data . providerId ,
15+ callbackURL : data . callbackURL ,
16+ } ,
17+ } ) ,
18+ ( e ) => {
19+ return new Error ( 'Failed to initiate social sign in' , {
20+ cause : e ,
21+ } ) ;
1422 } ,
15- } ) ;
23+ ) ;
1624
17- if ( ! signIn . redirect || ! signIn . url ) {
18- error ( 500 , 'Failed to initiate social sign-in' ) ;
25+ if ( signInResult . isErr ( ) ) {
26+ error ( 400 , signInResult . error . message ) ;
1927 }
2028
21- redirect ( 303 , signIn . url ) ;
29+ if ( signInResult . value . redirect && signInResult . value . url ) {
30+ redirect ( 303 , signInResult . value . url ) ;
31+ }
2232} ) ;
0 commit comments