Skip to content

Commit 268ed42

Browse files
committed
inhance: auth zod validation
1 parent 168b8da commit 268ed42

File tree

1 file changed

+44
-19
lines changed

1 file changed

+44
-19
lines changed

src/app/modules/auth/auth.validation.ts

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,68 @@
11
import { z } from 'zod';
22

3-
const createVerifyEmailZodSchema = z.object({
3+
const createLoginZodSchema = z.object({
44
body: z.object({
5-
email: z.string({ required_error: 'Email is required' }),
6-
oneTimeCode: z.number({ required_error: 'One time code is required' }),
5+
email: z
6+
.string({ required_error: 'Email is required' })
7+
.email('Not a valid email!')
8+
.nonempty("Email can't be empty!"),
9+
password: z
10+
.string({ required_error: 'Password is required' })
11+
.nonempty("Password can't be empty!"),
712
}),
813
});
914

10-
const createLoginZodSchema = z.object({
15+
const createForgetPasswordZodSchema = z.object({
1116
body: z.object({
12-
email: z.string({ required_error: 'Email is required' }),
13-
password: z.string({ required_error: 'Password is required' }),
17+
email: z
18+
.string({ required_error: 'Email is required' })
19+
.email('Not a valid email!')
20+
.nonempty("Email can't be empty!"),
1421
}),
1522
});
1623

17-
const createForgetPasswordZodSchema = z.object({
24+
const createVerifyEmailZodSchema = z.object({
1825
body: z.object({
19-
email: z.string({ required_error: 'Email is required' }),
26+
email: z
27+
.string({ required_error: 'Email is required' })
28+
.email('Not a valid email!')
29+
.nonempty("Email can't be empty!"),
30+
oneTimeCode: z
31+
.number({ required_error: 'One time code is required' })
32+
.nonnegative('One time code must be a positive number'),
2033
}),
2134
});
2235

2336
const createResetPasswordZodSchema = z.object({
2437
body: z.object({
25-
newPassword: z.string({ required_error: 'Password is required' }),
26-
confirmPassword: z.string({
27-
required_error: 'Confirm Password is required',
28-
}),
38+
newPassword: z
39+
.string({ required_error: 'Password is required' })
40+
.nonempty("Password can't be empty!")
41+
.min(8, 'Password must be at least 8 characters long'),
42+
confirmPassword: z
43+
.string({
44+
required_error: 'Confirm Password is required',
45+
})
46+
.nonempty("Confirm Password can't be empty!")
47+
.min(8, 'Confirm Password must be at least 8 characters long'),
2948
}),
3049
});
3150

3251
const createChangePasswordZodSchema = z.object({
3352
body: z.object({
34-
currentPassword: z.string({
35-
required_error: 'Current Password is required',
36-
}),
37-
newPassword: z.string({ required_error: 'New Password is required' }),
38-
confirmPassword: z.string({
39-
required_error: 'Confirm Password is required',
40-
}),
53+
currentPassword: z
54+
.string({
55+
required_error: 'Current Password is required',
56+
})
57+
.nonempty("Current Password can't be empty!"),
58+
newPassword: z
59+
.string({ required_error: 'New Password is required' })
60+
.nonempty("New Password can't be empty!"),
61+
confirmPassword: z
62+
.string({
63+
required_error: 'Confirm Password is required',
64+
})
65+
.nonempty("Confirm Password can't be empty!"),
4166
}),
4267
});
4368

0 commit comments

Comments
 (0)