Skip to content

Commit 66bc7f4

Browse files
SeokChan-LeeToKyun02cksrlcks
authored
Fix/173/final inspect (#180)
* ๐Ÿ› fix : comment ์Šคํ‚ค๋งˆ ์žฌ์ง€์ • * โ™ป๏ธ refactor : schema trim ์ถ”๊ฐ€ * ๐Ÿ› fix : tags ๊ธธ์ด ์ œํ•œ ์ถ”๊ฐ€ ๋ฐ ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ํ•ธ๋“ค๋ง * ๐Ÿ› fix:์ปฌ๋Ÿผ ์ƒ์„ฑ ์‹œ ๊ณต๋ฐฑ ์ƒ์„ฑ ์ œํ•œ(z.trim.min ์ถ”๊ฐ€) --------- Co-authored-by: Tokyun02 <developtk02@gmail.com> Co-authored-by: chanki.kim <chanki.kim89@gmail.com>
1 parent 3f7296b commit 66bc7f4

9 files changed

Lines changed: 25 additions & 14 deletions

File tree

โ€Žsrc/apis/auth/types.tsโ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ export type LoginResponse = Promise<LoginSuccessResponse | LoginFailResponse>;
3131

3232
export const passwordSchema = z
3333
.object({
34-
password: z.string().min(PASSWORD_PUT_FORM_VALID_LENGTH.PASSWORD.MIN, PASSWORD_PUT_FORM_ERROR_MESSAGE.PASSWORD.MIN),
35-
newPassword: z.string().min(PASSWORD_PUT_FORM_VALID_LENGTH.NEW_PASSWORD.MIN, PASSWORD_PUT_FORM_ERROR_MESSAGE.NEW_PASSWORD.MIN),
36-
newPasswordConfirm: z.string(),
34+
password: z.string().min(PASSWORD_PUT_FORM_VALID_LENGTH.PASSWORD.MIN, PASSWORD_PUT_FORM_ERROR_MESSAGE.PASSWORD.MIN).trim(),
35+
newPassword: z.string().min(PASSWORD_PUT_FORM_VALID_LENGTH.NEW_PASSWORD.MIN, PASSWORD_PUT_FORM_ERROR_MESSAGE.NEW_PASSWORD.MIN).trim(),
36+
newPasswordConfirm: z.string().trim(),
3737
})
3838
.refine((check) => check.newPassword === check.newPasswordConfirm, {
3939
message: PASSWORD_PUT_FORM_ERROR_MESSAGE.NEW_PASSWORD_CONFRIM.NOT_MATCH,

โ€Žsrc/apis/cards/types.tsโ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ const IMAGE_URL = 'https://sprint-fe-project.s3.ap-northeast-2.amazonaws.com/tas
66
const cardBaseSchema = z.object({
77
dashboardId: z.number(),
88
columnId: z.number(),
9-
title: z.string(),
10-
description: z.string(),
9+
title: z.string().trim(),
10+
description: z.string().trim(),
1111
dueDate: z.union([z.string(), z.instanceof(Date)]).refine((date) => isValidDate(date), {
1212
message: '์œ ํšจํ•˜์ง€ ์•Š์€ ๋‚ ์งœ ํ˜•์‹์ž…๋‹ˆ๋‹ค.',
1313
}),
14-
tags: z.array(z.string()),
14+
tags: z.array(z.string().trim().max(10, '10๊ธ€์ž ์ดํ•˜๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”')),
1515
imageUrl: z.string().url(),
1616
});
1717

โ€Žsrc/apis/columns/types.tsโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export const getColumnsParamsSchema = z.object({
2525
export type GetColumnsParams = z.infer<typeof getColumnsParamsSchema>;
2626

2727
export const columnFormSchema = z.object({
28-
title: z.string(),
28+
title: z.string().trim().min(2, { message: '์ปฌ๋Ÿผ ์ด๋ฆ„์€ ์ตœ์†Œ 2๊ธ€์ž ์ด์ƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.' }),
2929
});
3030

3131
export type ColumnForm = z.infer<typeof columnFormSchema>;

โ€Žsrc/apis/comments/index.tsโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export const getComments = async (params: GetCommentsParams) => {
2626
*/
2727
export const putComment = async (commentId: number, putCommentForm: PutCommentForm) => {
2828
const response = await axiosClientHelper.put<Comment>(`/comments/${commentId}`, putCommentForm);
29-
return safeResponse(response.data, commentsResponseSchema);
29+
return safeResponse(response.data, commentSchema);
3030
};
3131

3232
/**

โ€Žsrc/apis/comments/types.tsโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const commentSchema = z.object({
1616
export type Comment = z.infer<typeof commentSchema>;
1717

1818
export const commentFormSchema = z.object({
19-
content: z.string(),
19+
content: z.string().trim(),
2020
cardId: z.number(),
2121
columnId: z.number(),
2222
dashboardId: z.number(),

โ€Žsrc/apis/dashboards/types.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export type GetDashboardsRequest = Partial<BasePagination> & {
3030
export const dashboardFormSchema = z.object({
3131
title: z
3232
.string()
33+
.trim()
3334
.min(DASHBOARD_FORM_VALID_LENGTH.TITLE.MIN, { message: DASHBOARD_FORM_ERROR_MESSAGE.TITLE.MIN })
3435
.max(DASHBOARD_FORM_VALID_LENGTH.TITLE.MAX, { message: DASHBOARD_FORM_ERROR_MESSAGE.TITLE.MAX }),
3536
color: z.enum(DEFAULT_COLORS),

โ€Žsrc/apis/users/types.tsโ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ interface FailResponse {
99
export const signupSchema = z
1010
.object({
1111
email: z.string().min(SIGNUP_FORM_VALID_LENGTH.EMAIL.MIN, SIGNUP_FORM_ERROR_MESSAGE.EMAIL.MIN).email(SIGNUP_FORM_ERROR_MESSAGE.EMAIL.NOT_FORM),
12-
nickname: z.string().min(SIGNUP_FORM_VALID_LENGTH.NICKNAME.MIN, SIGNUP_FORM_ERROR_MESSAGE.NICKNAME.MIN).max(SIGNUP_FORM_VALID_LENGTH.NICKNAME.MAX, SIGNUP_FORM_ERROR_MESSAGE.NICKNAME.MAX),
13-
password: z.string().min(SIGNUP_FORM_VALID_LENGTH.PASSWORD.MIN, SIGNUP_FORM_ERROR_MESSAGE.PASSWORD.MIN),
14-
passwordConfirm: z.string(),
12+
nickname: z.string().trim().min(SIGNUP_FORM_VALID_LENGTH.NICKNAME.MIN, SIGNUP_FORM_ERROR_MESSAGE.NICKNAME.MIN).max(SIGNUP_FORM_VALID_LENGTH.NICKNAME.MAX, SIGNUP_FORM_ERROR_MESSAGE.NICKNAME.MAX),
13+
password: z.string().trim().min(SIGNUP_FORM_VALID_LENGTH.PASSWORD.MIN, SIGNUP_FORM_ERROR_MESSAGE.PASSWORD.MIN),
14+
passwordConfirm: z.string().trim(),
1515
terms: z.boolean(),
1616
})
1717
.refine((check) => check.password === check.passwordConfirm, {

โ€Žsrc/components/columns/CreateCard.tsxโ€Ž

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { Ref } from 'react';
44
import { Controller, useForm } from 'react-hook-form';
55
import { zodResolver } from '@hookform/resolvers/zod';
6+
import { isArray } from 'es-toolkit/compat';
67
import useAlert from '@/hooks/useAlert';
78
import { CardForm, cardFormSchema } from '@/apis/cards/types';
89
import { useCreateCard } from '@/apis/cards/queries';
@@ -100,7 +101,8 @@ export default function CreateCard({ dashboardId, columnId, ref }: CreateCardPro
100101
name='tags'
101102
control={control}
102103
render={({ field }) => {
103-
return <TagInput label='ํƒœ๊ทธ' error={errors.tags?.message} placeholder='์ž…๋ ฅํ›„ Enter' {...field} />;
104+
const errorMessage = isArray(errors.tags) ? errors.tags.find((error) => !!error)?.message : undefined;
105+
return <TagInput label='ํƒœ๊ทธ' error={errorMessage} placeholder='์ž…๋ ฅํ›„ Enter' {...field} />;
104106
}}
105107
/>
106108
<Controller

โ€Žsrc/components/todo/TodoEditModal.tsxโ€Ž

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Ref } from 'react';
22
import { Controller, useForm } from 'react-hook-form';
33
import { zodResolver } from '@hookform/resolvers/zod';
4+
import { isArray } from 'es-toolkit/compat';
45
import useAlert from '@/hooks/useAlert';
56
import { Card, CardForm, cardFormSchema } from '@/apis/cards/types';
67
import { useColumnsQuery } from '@/apis/columns/queries';
@@ -105,7 +106,14 @@ export default function TodoEditModal({ card, ref }: TodoEditModalProps) {
105106

106107
<Controller name='dueDate' control={control} render={({ field }) => <DateInput label='๋งˆ๊ฐ์ผ' error={errors.dueDate?.message} placeholder='๋‚ ์งœ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”' required {...field} />} />
107108

108-
<Controller name='tags' control={control} render={({ field }) => <TagInput label='ํƒœ๊ทธ' error={errors.tags?.message} placeholder='์ž…๋ ฅ ํ›„ Enter' {...field} />} />
109+
<Controller
110+
name='tags'
111+
control={control}
112+
render={({ field }) => {
113+
const errorMessage = isArray(errors.tags) ? errors.tags.find((error) => !!error)?.message : undefined;
114+
return <TagInput label='ํƒœ๊ทธ' error={errorMessage} placeholder='์ž…๋ ฅ ํ›„ Enter' {...field} />;
115+
}}
116+
/>
109117

110118
<Controller name='imageUrl' control={control} render={({ field }) => <ImageUpload label='์ด๋ฏธ์ง€' error={errors.imageUrl?.message} defaultValue={card.imageUrl} {...field} />} />
111119
</div>

0 commit comments

Comments
ย (0)