Skip to content

Commit 1da2470

Browse files
committed
refactor: 편지 공유 타입 관리 리팩토링
1 parent 226b75e commit 1da2470

File tree

5 files changed

+36
-71
lines changed

5 files changed

+36
-71
lines changed

src/apis/share.ts

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,5 @@
11
import client from './client';
22

3-
//공유 게시글 상세 페이지 편지
4-
interface ShareLetter {
5-
id: number;
6-
content: string;
7-
writerZipCode: string;
8-
receiverZipCode: string;
9-
}
10-
11-
// 공유 게시글 목록 조회 타입
12-
export interface SharePost {
13-
writerZipCode: string;
14-
receiverZipCode: string;
15-
content: string;
16-
createdAt: string;
17-
active: boolean;
18-
sharePostId: number;
19-
sharePostContent: string;
20-
zipCode: string;
21-
letters: ShareLetter[];
22-
}
23-
24-
// 공유 게시글 목록 조회 - 페이징 포함
25-
export interface SharePostResponse {
26-
content: SharePost[];
27-
currentPage: number;
28-
size: number;
29-
totalElements: number;
30-
totalPages: number;
31-
}
32-
33-
// 편지 공유 요청 수신 조회
34-
export interface ShareProposal {
35-
shareProposalId: number;
36-
requesterZipCode: string;
37-
recipientZipCode: string;
38-
message: string;
39-
status: 'REJECTED' | 'APPROVED' | 'PENDING';
40-
}
41-
42-
//편지 공유 요청 상세 조회
43-
export interface ShareProposalLetter {
44-
id: number;
45-
content: string;
46-
writerZipCode: string;
47-
receiverZipCode: string;
48-
createdAt: string;
49-
}
50-
51-
export interface ShareProposalDetail {
52-
shareProposalId: number;
53-
requesterZipCode: string;
54-
recipientZipCode: string;
55-
message: string;
56-
status: 'PENDING' | 'ACCEPTED' | 'REJECTED';
57-
letters: ShareProposalLetter[];
58-
}
59-
60-
// 편지 공유 수락 / 거절
61-
export interface ShareProposalApproval {
62-
shareProposalId: number;
63-
status: 'APPROVED' | 'REJECTED';
64-
sharePostId: number;
65-
}
66-
673
// 공유 게시글 목록 조회
684
export const getSharePostList = async (page: number = 1, size: number = 10) => {
695
try {

src/pages/Home/components/ShowShareAccessModal.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { useNavigate } from 'react-router';
33

44
import { getShareProposalDetail } from '@/apis/share';
55
import { getShareProposalList } from '@/apis/share';
6-
import { ShareProposal } from '@/apis/share';
76

87
import ModalBackgroundWrapper from '@/components/ModalBackgroundWrapper';
98
import ModalOverlay from '@/components/ModalOverlay';

src/pages/LetterBoardDetail/index.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { twMerge } from 'tailwind-merge';
33

44
import {
55
getSharePostDetail,
6-
SharePost,
76
getSharePostLikeCount,
87
postSharePostLike,
98
deleteSharePost,
@@ -24,9 +23,6 @@ const LetterBoardDetailPage = () => {
2423
const [isWriter, setIsWriter] = useState(false);
2524
const [postDetail, setPostDetail] = useState<SharePost>();
2625
const [activeReportModal, setActiveReportModal] = useState(false);
27-
// const location = useLocation();
28-
// const sharePostId: string = location.pathname.split('/')[3];
29-
// const isShareLetterPreview = location.state?.isShareLetterPreview || false;
3026

3127
const { id } = useParams();
3228
const myZipCode = useAuthStore.getState().zipCode;

src/pages/Share/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
22
import { useNavigate, useParams } from 'react-router';
33

44
import { getShareProposalDetail } from '@/apis/share';
5-
import { postShareProposalApproval, ShareProposalDetail } from '@/apis/share';
5+
import { postShareProposalApproval } from '@/apis/share';
66

77
import useToastStore from '@/stores/toastStore';
88

src/types/share.d.ts

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,49 @@ interface SharePost {
1515
active: boolean;
1616
sharePostId: number;
1717
sharePostContent: string;
18+
zipCode: string;
1819
letters: ShareLetter[];
1920
}
2021

2122
// 페이징 포함
2223
interface SharePostResponse {
23-
// data: any;
2424
content: SharePost[];
2525
currentPage: number;
2626
size: number;
2727
totalElements: number;
2828
totalPages: number;
2929
}
30+
31+
// 편지 공유 요청 수신 조회
32+
interface ShareProposal {
33+
shareProposalId: number;
34+
requesterZipCode: string;
35+
recipientZipCode: string;
36+
message: string;
37+
status: 'REJECTED' | 'APPROVED' | 'PENDING';
38+
}
39+
40+
//편지 공유 요청 상세 조회
41+
interface ShareProposalLetter {
42+
id: number;
43+
content: string;
44+
writerZipCode: string;
45+
receiverZipCode: string;
46+
createdAt: string;
47+
}
48+
49+
interface ShareProposalDetail {
50+
shareProposalId: number;
51+
requesterZipCode: string;
52+
recipientZipCode: string;
53+
message: string;
54+
status: 'PENDING' | 'ACCEPTED' | 'REJECTED';
55+
letters: ShareProposalLetter[];
56+
}
57+
58+
// 편지 공유 수락 / 거절
59+
interface ShareProposalApproval {
60+
shareProposalId: number;
61+
status: 'APPROVED' | 'REJECTED';
62+
sharePostId: number;
63+
}

0 commit comments

Comments
 (0)