@@ -19,50 +19,43 @@ export const login = async (
1919 ctx : Context
2020) => {
2121 const { req } = ctx
22- try {
23- const { session } = req
24- const { username, password } = arg
22+ const { session } = req
23+ const { username, password } = arg
2524
26- if ( ! session ) {
27- throw new Error ( 'Session Error' )
28- }
25+ if ( ! session ) {
26+ throw new Error ( 'Session Error' )
27+ }
2928
30- let user = await prisma . user . findFirst ( { where : { username } } )
31- // TODO change username column to be unique
32- // const user = await prisma.user.findUnique({ where: { username } })
33- if ( ! user ) {
34- throw new UserInputError ( 'User does not exist' )
35- }
29+ let user = await prisma . user . findFirst ( { where : { username } } )
30+ // TODO change username column to be unique
31+ // const user = await prisma.user.findUnique({ where: { username } })
32+ if ( ! user ) {
33+ throw new UserInputError ( 'User does not exist' )
34+ }
3635
37- const validLogin = user . password
38- ? await bcrypt . compare ( password , user . password )
39- : false
40- if ( ! validLogin ) {
41- throw new AuthenticationError ( 'Password is invalid' )
42- }
36+ const validLogin = user . password
37+ ? await bcrypt . compare ( password , user . password )
38+ : false
39+ if ( ! validLogin ) {
40+ throw new AuthenticationError ( 'Password is invalid' )
41+ }
4342
44- if ( ! user . cliToken ) {
45- user = await prisma . user . update ( {
46- where : {
47- id : user . id
48- } ,
49- data : { cliToken : nanoid ( ) }
50- } )
51- }
43+ if ( ! user . cliToken ) {
44+ user = await prisma . user . update ( {
45+ where : {
46+ id : user . id
47+ } ,
48+ data : { cliToken : nanoid ( ) }
49+ } )
50+ }
5251
53- const cliToken = { id : user . id , cliToken : user . cliToken }
52+ const cliToken = { id : user . id , cliToken : user . cliToken }
5453
55- session . userId = user . id
56- return {
57- success : true ,
58- username : user . username ,
59- cliToken : encode ( cliToken )
60- }
61- } catch ( err ) {
62- if ( ! err . extensions ) {
63- req . error ( err )
64- }
65- throw new Error ( err )
54+ session . userId = user . id
55+ return {
56+ success : true ,
57+ username : user . username ,
58+ cliToken : encode ( cliToken )
6659 }
6760}
6861
@@ -98,104 +91,94 @@ export const signup = async (
9891 ctx : Context
9992) => {
10093 const { req } = ctx
101- try {
102- const { session } = req
103- const { firstName, lastName, username, email } = arg
10494
105- if ( ! session ) {
106- throw new Error ( 'Session Error' )
107- }
95+ const { session } = req
96+ const { firstName, lastName, username, email } = arg
10897
109- const validEntry = await signupValidation . isValid ( {
110- firstName,
111- lastName,
112- username,
113- email
114- } )
98+ if ( ! session ) {
99+ throw new Error ( 'Session Error' )
100+ }
115101
116- if ( ! validEntry ) {
117- throw new UserInputError ( 'Register form is not completely filled out' )
118- }
102+ const validEntry = await signupValidation . isValid ( {
103+ firstName,
104+ lastName,
105+ username,
106+ email
107+ } )
119108
120- // Check for existing user or email
121- const existingUser = await prisma . user . findFirst ( {
122- where : {
123- username
124- }
125- } )
109+ if ( ! validEntry ) {
110+ throw new UserInputError ( 'Register form is not completely filled out' )
111+ }
126112
127- if ( existingUser ) {
128- throw new UserInputError ( 'User already exists' )
113+ // Check for existing user or email
114+ const existingUser = await prisma . user . findFirst ( {
115+ where : {
116+ username
129117 }
118+ } )
130119
131- const existingEmail = await prisma . user . findFirst ( {
132- where : {
133- email
134- }
135- } )
120+ if ( existingUser ) {
121+ throw new UserInputError ( 'User already exists' )
122+ }
136123
137- if ( existingEmail ) {
138- throw new UserInputError ( 'Email already exists' )
124+ const existingEmail = await prisma . user . findFirst ( {
125+ where : {
126+ email
139127 }
128+ } )
140129
141- const name = `${ firstName } ${ lastName } `
130+ if ( existingEmail ) {
131+ throw new UserInputError ( 'Email already exists' )
132+ }
142133
143- let newUser = await prisma . user . create ( {
144- data : {
145- name,
146- username,
147- email
148- }
149- } )
134+ const name = `${ firstName } ${ lastName } `
150135
151- const forgotToken = encode ( {
152- userId : newUser . id ,
153- userToken : nanoid ( )
154- } )
136+ let newUser = await prisma . user . create ( {
137+ data : {
138+ name,
139+ username,
140+ email
141+ }
142+ } )
155143
156- const tokenExpiration = new Date ( Date . now ( ) + THREE_DAYS )
144+ const forgotToken = encode ( {
145+ userId : newUser . id ,
146+ userToken : nanoid ( )
147+ } )
157148
158- newUser = await prisma . user . update ( {
159- where : {
160- id : newUser . id
161- } ,
162- data : {
163- forgotToken,
164- tokenExpiration
165- }
166- } )
149+ const tokenExpiration = new Date ( Date . now ( ) + THREE_DAYS )
150+
151+ newUser = await prisma . user . update ( {
152+ where : {
153+ id : newUser . id
154+ } ,
155+ data : {
156+ forgotToken,
157+ tokenExpiration
158+ }
159+ } )
167160
168- try {
169- await sendSignupEmail ( email , forgotToken )
170- } catch ( error ) {
171- req . error ( `
161+ try {
162+ await sendSignupEmail ( email , forgotToken )
163+ } catch ( error ) {
164+ req . error ( `
172165 Error while sending signup email
173166 ${ JSON . stringify ( error , null , 2 ) }
174167 ` )
175- }
168+ }
176169
177- return {
178- success : true ,
179- username : newUser . username ,
180- cliToken : forgotToken
181- }
182- } catch ( err ) {
183- if ( ! err . extensions ) {
184- req . error ( err )
185- }
186- throw new Error ( err )
170+ return {
171+ success : true ,
172+ username : newUser . username ,
173+ cliToken : forgotToken
187174 }
188175}
189176
190177export const isTokenValid = async (
191178 _parent : void ,
192179 arg : { cliToken : string }
193180) => {
194- try {
195- const { id, cliToken } = decode ( arg . cliToken )
196- const user = await prisma . user . findUnique ( { where : { id } } )
197- return user ?. cliToken === cliToken || false
198- } catch ( err ) {
199- throw new Error ( err )
200- }
181+ const { id, cliToken } = decode ( arg . cliToken )
182+ const user = await prisma . user . findUnique ( { where : { id } } )
183+ return user ?. cliToken === cliToken || false
201184}
0 commit comments