@@ -8,44 +8,37 @@ const envSchema = z.object({
88 CLOUDINARY_API_KEY : z . string ( ) ,
99 CLOUDINARY_API_SECRET : z . string ( ) ,
1010 CLOUDINARY_CLOUD_NAME : z . string ( ) ,
11- DATABASE_URL : z . string ( ) . url ( ) ,
12- FRONTEND_URL : z . string ( ) . url ( ) ,
11+ DATABASE_URL : z . url ( ) ,
12+ FRONTEND_URL : z . url ( ) ,
1313 GOOGLE_CLIENT_ID : z . string ( ) ,
1414 GOOGLE_CLIENT_SECRET : z . string ( ) ,
15- GOOGLE_REDIRECT_URI : z . string ( ) . url ( ) ,
15+ GOOGLE_REDIRECT_URI : z . url ( ) ,
1616 REDIS_USERNAME : z . string ( ) ,
1717 REDIS_PASSWORD : z . string ( ) ,
1818 REDIS_HOST : z . string ( ) ,
19- REDIS_PORT : z . preprocess (
20- v => ( v ? v : undefined ) ,
21- z . coerce . number ( ) . int ( ) . positive ( )
22- ) ,
19+ REDIS_PORT : z . coerce . number ( ) . int ( ) . positive ( ) . min ( 1000 ) . max ( 65535 ) ,
2320 NODE_ENV : z . enum ( [ 'development' , 'production' ] ) ,
24- COOKIE_HTTP_ONLY : z
25- . enum ( [ 'true' , 'false' ] )
26- . transform ( value => value === 'true' ) ,
27- COOKIE_SECURE : z . enum ( [ 'true' , 'false' ] ) . transform ( value => value === 'true' ) ,
21+ COOKIE_HTTP_ONLY : z . stringbool ( ) ,
22+ COOKIE_SECURE : z . stringbool ( ) ,
2823 COOKIE_SAME_SITE : z . enum ( [ 'lax' , 'strict' , 'none' ] ) ,
2924 COOKIE_DOMAIN : z . string ( ) ,
3025 ACCESS_JWT_SECRET : z . string ( ) . transform ( v => new TextEncoder ( ) . encode ( v ) ) ,
3126 REFRESH_JWT_SECRET : z . string ( ) . transform ( v => new TextEncoder ( ) . encode ( v ) ) ,
32- PORT : z . preprocess (
33- v => ( v ? v : undefined ) ,
34- z . coerce . number ( ) . int ( ) . positive ( )
35- ) ,
27+ PORT : z . coerce . number ( ) . int ( ) . positive ( ) . min ( 1000 ) . max ( 65535 ) ,
3628 API_PREFIX : z . string ( ) ,
3729 ALLOWED_ORIGINS : z
3830 . string ( )
3931 . transform ( v => v . split ( ',' ) )
40- . pipe ( z . array ( z . string ( ) . url ( ) ) ) ,
32+ . pipe ( z . array ( z . url ( ) ) ) ,
4133 EMAIL_HOST : z . string ( ) ,
42- EMAIL_PORT : z
43- . number ( { coerce : true } )
44- . refine ( v => availableEmailPorts . includes ( v ) , {
45- message : `Email port must be one of the following: ${ availableEmailPorts . join ( ', ' ) } `
46- } ) ,
47- EMAIL_USER : z . string ( ) . email ( ) ,
48- EMAIL_RECEIVER : z . string ( ) . email ( ) ,
34+ EMAIL_PORT : z . coerce
35+ . number ( )
36+ . refine (
37+ v => availableEmailPorts . includes ( v ) ,
38+ `Email port must be one of the following: ${ availableEmailPorts . join ( ', ' ) } `
39+ ) ,
40+ EMAIL_USER : z . email ( ) ,
41+ EMAIL_RECEIVER : z . email ( ) ,
4942 EMAIL_PASSWORD : z . string ( ) ,
5043 ACCESS_JWT_EXPIRES_IN : z . string ( ) ,
5144 REFRESH_JWT_EXPIRES_IN : z . string ( ) ,
0 commit comments