Skip to content

Commit d8a6637

Browse files
committed
add email validation with regex
1 parent 7734aa6 commit d8a6637

File tree

7 files changed

+5420
-4328
lines changed

7 files changed

+5420
-4328
lines changed

apps/api/server/routes/api/articles/[slug]/index.get.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import HttpException from "~/models/http-exception.model";
2-
import articleMapper from "~/utils/article.mapper";
2+
import articleMapper from "~/routes/api/utils/article.mapper";
33
import {definePrivateEventHandler} from "~/auth-event-handler";
44

55
export default definePrivateEventHandler(async (event, {auth}) => {

apps/api/server/routes/api/articles/[slug]/index.put.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import HttpException from "~/models/http-exception.model";
2-
import articleMapper from "~/utils/article.mapper";
2+
import articleMapper from "~/routes/api/utils/article.mapper";
33
import slugify from 'slugify';
44
import {definePrivateEventHandler} from "~/auth-event-handler";
55

apps/api/server/routes/api/articles/feed.get.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import articleMapper from "~/utils/article.mapper";
1+
import articleMapper from "~/routes/api/utils/article.mapper";
22
import {definePrivateEventHandler} from "~/auth-event-handler";
33

44
export default definePrivateEventHandler(async (event, {auth}) => {

apps/api/server/routes/api/articles/index.get.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import articleMapper from "~/utils/article.mapper";
1+
import articleMapper from "~/routes/api/utils/article.mapper";
22
import {definePrivateEventHandler} from "~/auth-event-handler";
33

44
export default definePrivateEventHandler(async (event, {auth}) => {

apps/api/server/routes/api/articles/index.post.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import articleMapper from "~/utils/article.mapper";
1+
import articleMapper from "~/routes/api/utils/article.mapper";
22
import HttpException from "~/models/http-exception.model";
33
import slugify from 'slugify';
44
import {definePrivateEventHandler} from "~/auth-event-handler";

apps/api/server/routes/api/users/index.post.ts

+5
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,16 @@ export default defineEventHandler(async (event) => {
88
const username = user.username?.trim();
99
const password = user.password?.trim();
1010
const {image, bio, demo} = user;
11+
const regex = new RegExp("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$");
1112

1213
if (!email) {
1314
throw new HttpException(422, {errors: {email: ["can't be blank"]}});
1415
}
1516

17+
if(!regex.test(email)){
18+
throw new HttpException(422, {errors : {email : ["must be a valid email address"]}});
19+
}
20+
1621
if (!username) {
1722
throw new HttpException(422, {errors: {username: ["can't be blank"]}});
1823
}

0 commit comments

Comments
 (0)