-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
๐ญ ๋ฉํ ๋ ๋ฆฌ๋ทฐ #83
Open
eunjju2
wants to merge
771
commits into
review-branch
Choose a base branch
from
develop
base: review-branch
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 250 commits
Commits
Show all changes
771 commits
Select commit
Hold shift + click to select a range
7d07672
๐๏ธ Chore : ๋ณํฉ
eunjju2 b35eacd
โจ Feat : ๋ฃธ ์์ ํ์ด์ง์์ ๋ฃธ ๋ฑ๋ก #87
ryeong9 9c74480
๐๏ธ Chore : ๋ณํฉ
ryeong9 64e7247
๐ Design : ์ฅ์ ๋ชจ๋ฌ ์คํ์ผ ์์ #105
eunjju2 e6f5db2
โป๏ธ Refactor : ํ์ํ ์์น๊ฐ zustand๋ก ์ํ ๊ด๋ฆฌ ๊ฐ์ #105
eunjju2 e0d6f0a
โป๏ธ Refactor : ํ์ด์ง ์ด๋ํด๋ ์ค์ฌ๊ฐ ์๋ฐ๋๋๋ก ๊ฐ์ #105
eunjju2 c3048ad
โจ Feat : ์๋ฆผ ๊ธฐ๋ฅ ์ด์
JOEIH cd99d26
โจ Feat : ๋ฃธ ์์ ํ์ด์ง ์์ ๋ฐ ์ญ์ 1์ฐจ ๊ตฌํ #87
ryeong9 e29e07c
โจ Feat : ์์ ํ์ด์ง ๊ธฐ๋ฅ ๊ตฌํ 1์ฐจ
ryeong9 044d433
๐๏ธ Chore : ๋ณํฉ
eunjju2 487fff2
โป๏ธ Refactor : ์ง๋ ๋ฐ์ดํฐ ๋ฐ์์ค๋ ๊ฒ ๊ฐ์ #105
eunjju2 799ac0f
โป๏ธ Refactor : ์์ฝ ๊ฐ๋ฅํ ์๊ฐ๋ ์กฐํ ๊ฐ์ #105
eunjju2 c16ad99
โป๏ธ Refactor : ์์น ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ก๋ฉ ์ค์ผ ๋ ์ฒ๋ฆฌ #105
eunjju2 e92ac3f
โจ Feat : ์์ธ ์ ๋ณด ํ์ด์ง์์ ๋ฃธ ์ ํ ์ ํ์ด์ง ์ด๋ #105
eunjju2 f33b032
โจ Feat, โป๏ธ Refactor : ์ง๋ ๊ฐ์ ๋ฐ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฆฌํฉํ ๋ง ์ ์ฉ
eunjju2 b1c37e2
โป๏ธ Refactor : ๊ฒ์ํ์ด์ง ํ์ฌ ์๊ฐ ์ด์ ์ ์๊ฐ ๋ธ๋ญ ์ ํ ์๋๋๋ก ๊ฐ์ #105
eunjju2 48336d6
โจ Feat : ์ค์๊ฐ ์๋ฆผ ์ฐ๊ฒฐ #104
JOEIH efa0e46
๐๏ธ Chore : ๋ณํฉ
JOEIH 4d226ad
๐ท๏ธ Types : ์ฌ์
์์ ์์ฝ์ ํ์ธ์์ ๊ฒฐ์ ์ทจ์ ํ์ธ ์ํด reservationState ์ถ๊ฐ
JOEIH 0119452
โจ Feat : ๊ฒฐ์ ์ทจ์๋ ์์ฝ์ผ ๊ฒฝ์ฐ ์ฌ์
์์ ์์ฝ์ ์กฐํ ํ์ด์ง์์ ๊ฒฐ์ ์ทจ์๋ ์์ฝ์์ ํ์
JOEIH 4c75021
๐ง Fix : ์์ธ ์ ๋ณด ๋ฃธ์นด๋ ์ ํ ์ ํ์ด์ง ์ด๋ ๊ฐ์ #110
eunjju2 dc4bddd
โจ Feat : ์ ์ ๊ฒฝ๋ก๋ก ์์ ์ฐ๊ฒฐ #111
eunjju2 5f9bf01
โป๏ธ Refactor : ๊ฒ์ํ์ด์ง ์๊ฐ ๋ธ๋ก ๊ฐ์ #110
eunjju2 b80a5d5
โป๏ธ Refactor : ์ง๋ ์ฒซ ์์ฑ ์ ์์น๊ฐ 0์ผ๋ก ์์ฒญ๋๋ ๊ฒ ๊ฐ์ #111
eunjju2 1e43672
โป๏ธ Refactor : ์ง๋ ๋ฐ ๊ฒ์, ์์ธํ์ด์ง ๊ฐ์
eunjju2 dad26a1
โจ Feat : sse ํ์์์ ์ค์ #104
JOEIH 9c22a9e
๐๏ธ Chore : ๋ณํฉ
JOEIH 6bfc230
๐๏ธ Chore : ์์ ์๋ต๊ฐ์ผ๋ก ์ธํ ์๊ฐ ํํ ์ฃผ์ ์ฒ๋ฆฌ #111
eunjju2 77610ec
๐ง Fix : ์ด๋ฏธ์ง ์บ๋ฌ์
๋๋น ์์ #113
eunjju2 0f36302
โป๏ธ Refactor : ํ๋จ ํจ๋ฉ ๊ฐ ์ ๋์ด ์๋ ํ์ด์ง๋ค ์ ์ฉ #87
ryeong9 7341a2f
๐ Design : ์๋จ ์คํฌ๋กค ๋ฉ์ธ ๋ ์ด์์์ ์ถ๊ฐ ๋ฐ ๋ค๋ฅธ ํ์ด์ง์์ ์ญ์ #113
eunjju2 fd9d99c
โป๏ธ Refactor : ๋ฃธ ์นด๋์ ๋ฃธ ์ด๋ฆ ๊ธธ์ด์ก์ ๋ ๋ง์ค์ ํ์ #87
ryeong9 f60d718
โป๏ธ Refactor : ์์ธ ํ์ด์ง์์ ๋ฆฌ๋ทฐ ์์ ๋ ์ฒ๋ฆฌ
ryeong9 22483ba
๐ Docs : CICD ์ํฌํ๋ก์ฐ ์์ฑ #114
eunjju2 c3b19be
๐ Docs : ์ํฌํ๋ก์ฐ ๋ธ๋์น ๋ถ๋ถ ์์ #114
eunjju2 e2441f0
[Docs] CICD ์ํฌํ๋ก์ฐ ์์ฑ
eunjju2 7580f99
๐ Docs : args ์์ #114
eunjju2 d5708d8
๐ Docs : ์ํฌํ๋ก์ฐ args ์์
eunjju2 00a035c
๐ Docs : action ์์ #114
eunjju2 23f2d83
๐ Docs : action ์์
eunjju2 a5238c6
๐ Docs : ๋ฒ์ ์ ๋ฐ๋ฅธ ์ค๋ฅ ๋ฐ์ ๋ถ๋ถ ์์ #114
eunjju2 68cd39d
๐ Docs : ๋ฒ์ ์ ๋ฐ๋ฅธ ์ค๋ฅ ๋ฐ์ ๋ถ๋ถ ์์
eunjju2 92c7d3b
โจ Feat : ์ค์๊ฐ ์๋ฆผ ์์ #104
JOEIH c42d9f5
โจ Feat : ์๋ฆผ ์์ #104
JOEIH ceebe03
๐๏ธ Chore : ๋ณํฉ
JOEIH 33eb407
โป๏ธ Refactor : oAuth token ์ด๋ฆ ๋ณ๊ฒฝ
ryeong9 4fcb6b0
๐๏ธ Chore: ๋ณํฉ
ryeong9 7036a9c
๐ Design : ์ค์๊ฐ ์๋ฆผ ์์น ๊ณ ์ #104
JOEIH 0c60c26
โจ Feat : ๋ง์ถคํ ์ถ์ฒ api ์ฐ๊ฒฐ #120
eunjju2 aed4ea4
โจ Feat : ๋น๋ก๊ทธ์ธ ์ํ ์ ํ๋ฉด ๊ตฌํ #120
eunjju2 67f0354
โจ Feat : ๋น๋ก๊ทธ์ธ / ์ฌ์
์ / ์ฌ์ฉ์๋ณ ํ๋ฉด ๋ฐ ๊ธฐ๋ฅ ๋ถ๋ฆฌ #120
eunjju2 83b1919
๐ Design : ๋ฉ์ธ ํญ ํ๋จ ๋ผ์ธ ์์ #120
eunjju2 ac4bc8b
โป๏ธ Refactor : ๋ฆฌ๋ทฐ key ๋ณ๊ฒฝ
ryeong9 cc5257f
โจ Feat : ๋ง์ถคํ ์ถ์ฒ ์คํฐ๋๋ฃธ ์ง๋ ํ์ ๊ตฌํ #120
eunjju2 22d0397
โป๏ธ Refactor : ์์ธ ํ์ด์ง ๋ฐ ์ฌ๋ฌ ํผ๋๋ฐฑ ๋ฐ์
ryeong9 daa8b54
๐๏ธ Chore : ๋ณํฉ
eunjju2 3ed3e70
โจ Feat : ๋ฉ์ธํ์ด์ง ๋ง์ถคํ ์ถ์ฒ ๊ธฐ๋ฅ ๊ตฌํ
eunjju2 89d9f36
๐๏ธ Chore : ๋ณํฉ
eunjju2 fbf872d
โจ Feat : ์ฑํ
๋ชฉ๋ก ๋ถ๋ฌ์ค๊ธฐ ์ฌ์ฉ์, ์ฌ์
์ ๋ถ๋ฆฌ #111
eunjju2 144f362
โจ Feat : ์๋ต๊ฐ ์์ ์ ๋ฐ๋ฅธ ๋ณ์๋ช
์์ #111
eunjju2 3f5a85d
๐ง Fix : ์์ฝ ๊ฐ๋ฅํ ์๊ฐ๋ ์กฐํ ์๊ฐ ์์ #113
eunjju2 bd59532
๐ง Fix : ์์ฝ ๊ฐ๋ฅํ ์๊ฐ๋ ์กฐํ ์๊ฐ ์์ #113
eunjju2 631e948
โจ Feat : ์ค์๊ฐ ์๋ฆผ ์ ์ญ ์ํ๊ด๋ฆฌ ๊ตฌํ ๋ฐ ์ ๋๋ฉ์ด์
์ ์ฉ #104
JOEIH ef534ad
๐ง Fix : ๊ฒ์ ์ ์๊ฐ ๋ธ๋ญ ์
๋ฐ์ดํธ ์๋๋ ๊ฒ ๊ฐ์ #113
eunjju2 98fa61a
๐ Design : ์กฐํ๋ ๋ฃธ์ด ์์ต๋๋ค ๋ฌธ๊ตฌ ์คํ์ผ ์์ #113
eunjju2 183f053
๐ง Fix : ์กฐํ๋ ๋ฃธ์ด ๋น ๋ฐฐ์ด์ผ ๋ ์ฒ๋ฆฌ #113
eunjju2 7b2d89a
๐ Design : ๋ฑ๋ก๋ ๋ฆฌ๋ทฐ๊ฐ ์์ต๋๋ค ๋ฌธ๊ตฌ ์คํ์ผ ์์ #113
eunjju2 019b7f0
โป๏ธ Refactor : ์ถ์ฒ ํญ ํด๋ฆญ ์ํ ๋๋ ์ฟผ๋ฆฌ ๋นํ์ฑํ๋ก ๊ฐ์ #113
eunjju2 4e472ba
๐๏ธ Chore : console.log ์ ๊ฑฐ #113
eunjju2 550e383
โป๏ธ Refactor : ์ค์ฌ ์์น ๋ฐ๋ ๋๋ ๋ฐ์ดํฐ ์ฌ์์ฒญํ๋๋ก ๊ฐ์ #113
eunjju2 dcafd09
โป๏ธ Refactor : ์ง๋์ ๋ณด์ฌ์ค ๋ฐ์ดํฐ ์ค๋ณต ์ฝ๋ ๊ฐ์ #113
eunjju2 35f9240
๐ง Fix : ๋น๋ก๊ทธ์ธ ์ ์์ฝ ๋ฒํผ ๋ง๊ธฐ ์์ #113
eunjju2 c95cd15
๐ Design : ๊ฒฐ์ ์๋ฃ ํ์ด์ง ์ฃผ๋ฌธ ์ํ ์คํ์ผ ์์ #113
eunjju2 c408199
๐ง Fix : import cycle ๋จ๋ ๊ฒ ๊ฐ์ #113
eunjju2 bfff6bf
๐ง Fix : ํ์ดํ ํด๋ฆญ ์ ์ด๋ํ๋๋ก ๊ฐ์ #113
eunjju2 87af754
๐ง Fix : ์ฌ์
์์ผ ๋ ๋ฃธ ์ ํ ๋ชปํ๋๋ก ์์ #113
eunjju2 bf95a92
๐ง Fix, โป๏ธ Refactor : ๋ฉ์ธ ๋ฐ ๊ฒ์ ํ์ด์ง ๊ฐ์
eunjju2 7d1f7e2
๐๏ธ Chore : ๋ณํฉ
JOEIH d74a7c0
โจ Feat : ์ค์๊ฐ ์๋ฆผ ์ ์ญ ์ํ๊ด๋ฆฌ ๊ตฌํ ๋ฐ ์ ๋๋ฉ์ด์
์ ์ฉ
JOEIH 07f68f5
๐ Rename : notiContainer.tsx ํ์ผ ๋๋ฌธ์๋ก ์์
JOEIH fdb43bd
๐ Rename : notiContainer.tsx ํ์ผ ๋๋ฌธ์๋ก ์์
JOEIH 62bbeb1
๐๏ธ Chore : NotiContainer ํ์ผ ์ฌ์์ฑ
eunjju2 42a56d5
๐๏ธ Chore : NotiContainer ํ์ผ ์ฌ์์ฑ
eunjju2 8dadadc
โป๏ธ Refactor : ์ฌ์
์ ์์ฝ, ๋ฆฌ๋ทฐ ์๋ฆผ ์กฐํ api ์ถ๊ฐ ๋ฐ ์์ #38
JOEIH f3c768d
๐ง Fix : ์์ธ์ ๋ณด ๋ฃธ ์นด๋ ๊ฐ๊ฒฉ ํ์ ์์ #113
eunjju2 e92bc62
โจ Feat : ์ฑํ
ํ
์คํธ ์๋ฃ #111
eunjju2 d765b7c
๐๏ธ Chore : console.log ์ ๊ฑฐ
eunjju2 a7dd8f1
๐ง Fix : status ๊ฐ ์์
eunjju2 f51822e
โจ Feat : ์ฑํ
๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ
eunjju2 2730007
โป๏ธ Refactor : ์ฌ์
์ ์๋ฆผ ํ์
์์ , ์ค์๊ฐ ์๋ฆผ ํ์
์์ #104 #38
JOEIH 1eeceb9
๐๏ธ Chore : ๋ณํฉ
JOEIH 0d32d62
โป๏ธ Refactor : ์ฌ์ฉ์ํํ
์ค์๊ฐ ์๋ฆผ ์ ๋จ๊ฒ ํ๊ธฐ ์ํด MEMBER_RESERVATION_CONFIRMED์ผ ๋โฆ
JOEIH 4425817
โจ Feat : ์ฌ์
์ ์๋ฆผ ํ์ด์ง api ์ฐ๊ฒฐ ๋ฐ ๋งํฌ์
์์ #38
JOEIH ced4b9a
โจ Feat : ์ฌ์ฉ์ ์๋ฆผ ์กฐํ api ์ฐ๊ฒฐ #33
ryeong9 5389610
๐ง Fix : ์ฌ์
์์ผ ๋ ๋ฒํผ ๋ง๊ธฐ ์์ #113
eunjju2 9b251f0
โป๏ธ Refactor : ์ฌ์
์ ์์ฝ ์๋ฆผ ํ์
์ด๋ฆ ์์ ๋ฐ ์ค์๊ฐ ์๋ฆผ ์ฝ์ ์ญ์ #38 #104
JOEIH 7a64f49
โจ Feat : ์ฌ์ฉ์ ์๋ฆผ ์กฐํ api ์ฐ๊ฒฐ
ryeong9 bc75362
๐๏ธ Chore : ๋ณํฉ
JOEIH 0752e63
๐ง Fix : map key๊ฐ ์์ #113
eunjju2 22fb7af
๐ง Fix : ์น์์ผ ๊ฒฝ๋ก ์์ #129
eunjju2 301d605
๐ง Fix : ๋ ๋๋ง ์ค์ผ ๋ ์ํ ์
๋ฐ์ดํธ ๋๋ ๋ถ๋ถ ์์ #113
eunjju2 87d4c1e
๐ Design : ์ฑํ
์ฝ์ ์ฒ๋ฆฌ ๋์์ธ ์์ #129
eunjju2 643d8fb
๐๏ธ Chore : ๋ณํฉ
eunjju2 bbeaabd
๐ง Fix : ์ฑํ
๊ธฐ๋ฅ ๊ฐ์
eunjju2 6a620ae
โป๏ธ Refactor : ์ค์๊ฐ ์๋ฆผ ์ฌ์ฉ์ ์ญํ ๊ฒ์ฆ ๋ก์ง ์ถ๊ฐ, ์์ฝ์ ํ์ธ ํ์ด์ง์์ ON_HOLD๋ null์ฒ๋ฆฌ
JOEIH 3fe724b
๐๏ธ Chore : ๋ณํฉ
JOEIH 39f30a7
โจ Feat, โป๏ธ Refactor : ์ฌ์
์ ์๋ฆผ ํ์ด์ง api ์ฐ๊ฒฐ ๋ฐ ๋งํฌ์
์์ , ์ค์๊ฐ ์๋ฆผ ์์
JOEIH b12c8a8
๐ท๏ธ Types : ์ฌ์
์ฅ ์กฐํ์ studyRoomCount ์ถ๊ฐ
JOEIH 8f6af24
๐ง Fix : ๊ฒฐ์ ์ทจ์ ์ ๊ฒฐ์ ์ทจ์ ํ์ด์ง๋ก ์ด๋
eunjju2 38c6b46
๐ Docs : ์๋ฒ ๊ฒฝ๋ก ์์
eunjju2 10f1484
๐ง Fix : async ์ญ์
eunjju2 9ca93a4
๐ง Fix, ๐ Docs : ๊ฒฐ์ ์ทจ์ ๊ฐ์ ๋ฐ yml ํ์ผ ์์
eunjju2 9612351
๐ Docs : asset ๋ฐ ๊ฒฝ๋ก ์์
eunjju2 0a1dc44
๐๏ธ Chore : ๋ถํ์ํ ํ์ผ ์ญ์
eunjju2 b153d91
๐ Docs : asset ๋ฐ ๊ฒฝ๋ก ์์
eunjju2 5f75f11
โจ Feat : ์ฌ์
์์ ์ฌ์
์ฅ ์กฐํ ํ์
์์ ,์ถ๊ฐ ๋ฐ ์ฌ์
์ฅ์ ๋ฃธ ๊ฐ์ ๋ถ๋ฌ์ค๋ ๋ฐฉ์ ๋ณ๊ฒฝ
JOEIH feb20a4
๐ Docs : ๊ฒฝ๋ก ์ฌ์์
eunjju2 d237ef9
๐ Docs : ๊ฒฝ๋ก ์ฌ์์
eunjju2 6434dff
๐ Design : ์ฌ์
์ ์๋ฆผ ํ์ด์ง ๋์์ธ ์์
JOEIH 40cdbd4
๐ Design : ์ ์ ์๋ฆผ ํ์ด์ง ๋์์ธ ์์
JOEIH 6437431
๐ Design : ํค๋ ๋์ด ์์
JOEIH 56fe684
๐ Design : ํ์๊ฐ์
, ๋ก๊ทธ์ธ, ์๋ฆผ ํค๋ ๋ฐ ํจ๋ฉ ์กฐ์
JOEIH 59adf17
โจ Feat : ์ฌ์ฉ์ ์๋ฆผ ๋๋ฅด๋ฉด ์ฌ์
์ฅ ์์ธํ์ด์ง๋ก ์ด๋
JOEIH 02a974a
๐ Design : ๊ฒ์ ๊ฒฐ๊ณผ ํ์ด์ง ์คํฐ๋๋ฃธ ์นด๋ ์์
JOEIH 49319f3
๐ Design : ์ฌ์
์, ์ฌ์ฉ์ ๋ง์ดํ์ด์ง ๋ฒํผ ์์น, ์ต๊ทผ ์์ฝ ์นด๋ ๋ง์ค์์ฒ๋ฆฌ
JOEIH 8221f5a
๐๏ธ Chore : ๋ณํฉ
JOEIH 5aa54a6
โป๏ธ Refactor : ์ฑํ
1์ฐจ ๊ฐ์ #136
eunjju2 159608c
โจ Feat, ๐ Design : ์ฌ์
์์ ์ฌ์
์ฅ ์กฐํ ํ์
์์ ,์ถ๊ฐ ๋ฐ ์ฌ์
์ฅ์ ๋ฃธ ๊ฐ์ ๋ถ๋ฌ์ค๋ ๋ฐฉ์ ๋ณ๊ฒฝ, ํค๋ ์กฐ์
JOEIH 8eada48
๐๏ธ Chore : ๋ณํฉ
eunjju2 9b4bec9
๐ง Fix : ์ฑํ
๊ธฐ์กด ๋ก์ง์ผ๋ก ์์ ๋ฐ console.log ์ ๊ฑฐ #136
eunjju2 f665ea1
๐ Design : ์ฝ์์ฒ๋ฆฌ ์คํ์ผ ์ ๊ฑฐ #136
eunjju2 4db4e48
๐ง Fix : ์ฑํ
๋ฐฉ ๋ฆฌ์คํธ ๋ฐ์ดํฐ ์์ฒญ ์์ #136
eunjju2 fe4e35c
๐ง Fix : ๊ฒ์ ์์ฒญ ๊ฐ ์์ธ ์ฒ๋ฆฌ #136
eunjju2 6333632
๐ง Fix : ์ฑํ
๋ฐ ๋ฒ๊ทธ ๊ฐ์
eunjju2 3fc701c
๐ Design : ํค๋ hr ์์น ์กฐ์
JOEIH f66390a
โป๏ธ Refactor : ์ฌ์
์ ์๋ฆผ map uniqueKey๊ฐ ๋ถ์ฌ #38
JOEIH 880f209
โจ Feat: ์์ฝ ON_HOLD, PAYMENT_FAIL์ฒ๋ฆฌ, paymentsucces page ์์
JOEIH 0a48e9d
๐๏ธ Chore : ๋ณํฉ
JOEIH 7d87abb
โป๏ธ Refactor : ReservationList ์ฝ์ ์ ๊ฑฐ
JOEIH 9bdb682
โจ Feat, ๐ Design : ์์ฝ ON_HOLD, PAYMENT_FAIL์ฒ๋ฆฌ, paymentsucces page ์์ ,โฆ
JOEIH c0d5d5a
๐ Design : ์ฃผ๋ฌธ ์ํ ๊ธ์ ์๋ฆฌ๋ ๋ฌธ์ ์คํ์ผ ์์
eunjju2 29013a6
๐ Design : ์ฃผ๋ฌธ ์ํ ๊ธ์ ์๋ฆฌ๋ ๋ฌธ์ ์คํ์ผ ์์
eunjju2 4e9b043
โป๏ธ Refactor : ์ฌ์ฉ์ ์ด๋ฉ์ผ ์์ ๋ถ๊ฐ๋ฅํ๊ฒ ์ฒ๋ฆฌ
JOEIH dfafc1d
โป๏ธ Refactor : ์ฌ์
์ ์ด๋ฉ์ผ ์์ ์ ๋๊ฒ ์ฒ๋ฆฌ
JOEIH 7d27c88
๐ Design : ํํด๋ฒํผ ์์น ์กฐ์
JOEIH 143c149
โป๏ธ Refactor : ์ฑํ
๋ชฉ๋ก ํ์ด์ง์์ ๋ชฉ๋ก ์์ผ๋ฉด ๋น์ด์์ ๋ฌธ๊ตฌ ๋
ธ์ถ
JOEIH a0eb9fe
๐๏ธ Chore : ๋ณํฉ
JOEIH 2d692ee
โป๏ธ Refactor : ์ฌ์ฉ์ ์ ๋ณด ์์ ํ ์ ๋ณด ์กฐํ ํ์ด์ง๋ก ์ด๋
JOEIH c58e7cd
โป๏ธ Refactor : ์ด๋ฉ์ผ ์์ ๋ถ๊ฐ๋ฅํ๊ฒ ์ฒ๋ฆฌ
JOEIH 285f4c4
โป๏ธ Refactor : ์๋ฆผ ์ด๋ฏธ์ง ํ์
์ด๋ฆ ์์
JOEIH 38dd972
โป๏ธ Refactor : ์๋ฆผ ์ด๋ฏธ์ง ํ์
์ด๋ฆ ์์
JOEIH cbdfea2
๐ง Fix : ๋น๋ก๊ทธ์ธ์ผ ๋ ๋ฒํผ ์ค๋ฅ ์์
eunjju2 7922f72
๐ง Fix : ๋น๋ก๊ทธ์ธ์ผ ๋ ๋ฒํผ ์ค๋ฅ ์์
eunjju2 74a27b6
๐ Docs : README ์์ฑ
eunjju2 5f7031a
๐ Docs : README ์์ฑ
eunjju2 a87ac09
โป๏ธ Refactor : index key๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก eslint ๋ฃฐ ๊ฐ์ #144
eunjju2 1e30d77
โป๏ธ Refactor : ๋ผ์ฐํฐ ๋ฒ์ ๊ฒฝ๊ณ ๊ฐ์ #144
eunjju2 8bb8403
โป๏ธ Refactor : ์์กด์ฑ ๋ฐฐ์ด ๊ฐ์ #144
eunjju2 1a408ea
โป๏ธ Refactor : ์ฌ์ฉ์ ์์ฝ ๋ด์ญ, ๋ฆฌ๋ทฐ ๊ด๋ฆฌ, ์๋ฆผ ํ์ด์ง ๋ก๋ฉ์ค ํ๋ฉด ๊ฐ์ #145
JOEIH 009c05e
โป๏ธ Refactor : ์ฌ์
์์ ์์ฝ์ ๊ด๋ฆฌ ํ์ด์ง ๋ก๋ฉ์ค ์์ด์ฝ ์ถ๊ฐ #145
JOEIH 4fb73c5
โป๏ธ Refactor : ์ฌ์
์์ ์ฌ์
์ฅ ๊ด๋ฆฌ ํ์ด์ง ๋ก๋ฉ์ค ์์ด์ฝ ์ถ๊ฐ #145
JOEIH 720f7dd
๐ Rename : ์ปดํฌ๋ํธ ํด๋๋ก ์ด๋ #144
eunjju2 b3350e7
โป๏ธ Refactor : ์ฌ์
์์ ์๋ฆผ ํ์ด์ง ๋ก๋ฉ์ค ์์ด์ฝ ์ถ๊ฐ #145
JOEIH d88264f
๐๏ธChore : ๋ณํฉ
JOEIH abe50f2
โป๏ธ Refactor : ์ฝ์ ์ฒ๋ฆฌ ๊ฐ์ ์ค #144
eunjju2 d3c5d49
โป๏ธ Refactor : ๋ก๋ฉ์ค ์์ด์ฝ ์ถ๊ฐ
JOEIH f56d5bc
โป๏ธ Refactor : ์ฝ๋ ๊ฐ์
eunjju2 f293e8c
โป๏ธ Refactor : ์์ฝ ๊ธฐ๊ฐ 3๊ฐ์๋ก ์ ํ #148
eunjju2 b063e96
๐ Design : ํ์ ์ฑ๋ณ ์ ๋ณด์ ๋ฐ๋ฅธ ํฐํธ ์์ ์์
JOEIH 30e94d5
๐ง Fix : ์์ฝ ๊ฐ๋ฅํ ์๊ฐ ๋ฒ๊ทธ ์์ #148
eunjju2 665b61a
๐ Design : ๋ฆฌ๋ทฐ ์นด๋์ ์์ , ์ญ์ ๋ฒํผ ์ถ๊ฐ #149
JOEIH 82525b2
โป๏ธ Refactor : ์ฌ์
์ ์์ธ์ ๋ณด์ ์์
์๊ฐ ์ถ๊ฐ #148
eunjju2 17b7912
โจ Feat : ๋ฆฌ๋ทฐ ์ญ์ ๋ฒํผ ๋ชจ๋ฌ์ฐฝ ์ฐ๊ฒฐ #149
JOEIH f732832
โป๏ธ Refactor : ์ธ๋ผ์ธ ์คํ์ผ ์ฝ๋ ์ ๊ฑฐ #148
eunjju2 fa4c010
โจ Feat : ๋ฆฌ๋ทฐ ์ญ์ ๋ฒํผ๊ณผ api ์ฐ๊ฒฐ #149
JOEIH b1da663
โจ Feat : ๋ฆฌ๋ทฐ ์์ api ์์ฑ #149
JOEIH d398143
๐๏ธ Chore : console.log ์ ๊ฑฐ
eunjju2 7bdb5f8
โป๏ธ Refactor : ์ฌ์ฉ ์ํ๋ ์ ํธ ํจ์ ์ ๊ฑฐ #148
eunjju2 5d65bf6
๐ง Fix : import cycle ๋ฒ๊ทธ ์์
eunjju2 df7e55c
โป๏ธ Refactor : ์์ฝ ๊ธฐ๋ฅ ๊ฐ์
eunjju2 6930db5
โจ Feat : ๋ฆฌ๋ทฐ ์์ ํ์ด์ง ์์ฑ ๋ฐ api ์ฐ๊ฒฐ #149
JOEIH a9c7d81
๐๏ธChore : ๋ณํฉ
JOEIH 09752c6
๐ Rename : ๋ฃธ ์ปดํฌ๋ํธ ํด๋ ์ด๋ #151
eunjju2 f344697
๐ Rename : ๋ฃธ ์ปดํฌ๋ํธ ํด๋ ์ด๋ #151
eunjju2 8e42fe9
โป๏ธ Refactor : ์ ํจ์ฑ ๊ฒ์ฌ ๊ณต์ฉ ํจ์๋ก ๊ฐ์ #151
eunjju2 a506c5b
๐ Design : ๋ฆฌ๋ทฐ ์์ ํ์ด์ง์ ์ฌ์
์ฅ ์ด๋ฏธ์ง ์ ๋ณด ์ถ๊ฐ #149
JOEIH 5e11c82
๐๏ธ Chore : tailwind + ๋ค์ด๊ฐ ๋ถ๋ถ(์คํ) ์์
JOEIH 6537fe8
โจ Feat : ๋ฆฌ๋ทฐ ์์ ๋ฐ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ
JOEIH ad6145a
๐๏ธ Chore : ๋ณํฉ
eunjju2 17c08ba
๐ง Fix : ๊ฒฐ์ ํ์ด์ง ์คํฐ๋๋ฃธ ์ด๋ฏธ์ง ๋ฒ๊ทธ ์์ #154
eunjju2 545ccc5
๐ Design : ์ฌ์ฉ์, ์ฌ์
์ ์๋ฆผํ์ด์ง์ 3๋ฌ ์ง๋ ์๋ฆผ์ ์ญ์ ์ฒ๋ฆฌ๋๋ค๋ ๋ฌธ๊ตฌ ์ถ๊ฐ
JOEIH 05b36fd
โป๏ธ Refactor : ๊ฒฐ์ ์๋น์ค ์ด์ฉ ์ฝ๊ด ๋ณด๊ธฐ ์ถ๊ฐ #154
eunjju2 b99dde2
๐๏ธ Chore : notificationStore์์ ์ฌ์ฉํ์ง ์๋ activeNoti ์ญ์
JOEIH 189f25a
๐ง Fix : ์คํฐ๋๋ฃธ ์ฌ์ง ๋ฐฐ์ด์ด ์๋ ๋ ์์ธ ์ฒ๋ฆฌ #154
eunjju2 1a8e143
โป๏ธ Refactor : ๋์์ ์์ธ ๋ณด๊ธฐ ์ถ๊ฐ #154
eunjju2 97fe549
๐ง Fix : ์ฌ์ง ๋ฐฐ์ด ์๋ ๋ ์ฒ๋ฆฌ #154
eunjju2 4b18d27
โป๏ธ Refactor : ์ ์ญ ์ํ ์๋ก๊ณ ์นจํด๋ ์ ์ง๋๋๋ก ๊ฐ์ #154
eunjju2 1ff3b30
โป๏ธ Refactor : ์๋ก ๊ฒ์ ์ ์ ์ญ์ํ ์ด๊ธฐํ #154
eunjju2 49b8f66
โจ Feat, ๐ง Fix, โป๏ธ Refactor : ๊ฒฐ์ ํ์ด์ง ๋ฐ ๊ฒ์ ๊ฒฐ๊ณผ ๊ฐ์
eunjju2 fba512e
โป๏ธ Refactor : formatTime.ts ํ์ผ ์ 7์ผ ์ด๋ด ํ๋ณํ๋ ํจ์๊ฐ ์ํ๋ฅผ ๋ฐํํ๋๋ก ์์ ๋ฐ ์๋ฆผํ์ด์ง์โฆ
JOEIH 1dffc32
๐๏ธ Chore : ๋ณํฉ
JOEIH 5566fc8
โป๏ธ Refactor : ์ต๊ทผ 7์ผ ์ด๋ด ์๋ฆผ ๊ตฌ๋ถ์ ์ถ๊ฐ #153
JOEIH d6ca7e7
๐ Design : ์ฌ์
์ ๋ฆฌ๋ทฐ ์๋ฆผ์ ๋ง์ง ์ถ๊ฐ
JOEIH 4abd5f5
โป๏ธ Refactor : ์ต๊ทผ 7์ผ ์ด๋ด ์๋ฆผ ๊ตฌ๋ถ์ ์ถ๊ฐ
JOEIH 6ece128
๐๏ธ Chore : ๋ณํฉ
eunjju2 65dca01
โป๏ธ Refactor : ์์ ๋๋ ์ด๋ฏธ์ง๊ฐ ์กด์ฌํ๋์ง ํ์ธ ๊ฐ์ ์ค #151
eunjju2 11d732a
โป๏ธ Refactor : ์ถ๊ฐ๋๋ ์ฌ์ง๋ง ์๋ก ์
๋ก๋ํ๋๋ก ๊ฐ์ #151
eunjju2 23cc3ce
Docs ๐ : README ๋ง์ถคํ ์ถ์ฒ ํ๋ฉด ์ถ๊ฐ
eunjju2 7dec5d9
Docs ๐ : README ๋ง์ถคํ ์ถ์ฒ ํ๋ฉด ์ถ๊ฐ
eunjju2 60acbc5
๐๏ธ Chore : ๋ณํฉ
eunjju2 55daf9d
โป๏ธ Refactor : ์์ฝ ๋ด์ญ ํ์ด์ง ๋ฐ์ดํฐ ์์ ๊ฒฝ์ฐ ๋ก๋ฉ ์๊ฐ ์ต์ ํ ๋ฐ reissue ์์ฒญ์ผ๋ก 401 ์๋ต์ด ์ค๋ฉดโฆ
JOEIH ce42ddb
๐๏ธ Chore : ๋ณํฉ
JOEIH 48f63f2
โป๏ธ Refactor : ์์ฝ ๋ด์ญ ํ์ด์ง ๋ก๋ฉ ์๊ฐ ์ต์ ํ ๋ฐ reissue ์์ฒญ 401 ์๋ต ๋ก๊ทธ์์ ์ฒ๋ฆฌ
JOEIH d166e47
๐๏ธ Chore : ๋ณํฉ
eunjju2 06b5181
โป๏ธ Refactor : ๋ ๋๋ง ์ isLoading ์ฐ์ ์์ ๋ณ๊ฒฝ #159
JOEIH faae053
โป๏ธ Refactor : ๋ ๋๋ง ์ isLoading ์ฐ์ ์์ ๋ณ๊ฒฝ
JOEIH 9604825
๐๏ธ Chore : ๋ณํฉ
eunjju2 51ffe8a
๐ง Fix : reissue ๋ฒ๊ทธ 1์ฐจ ๊ฐ์ #161
eunjju2 469fc2d
๐ง Fix : reissue ์ ์๋ฌ ๋ฌธ๊ตฌ ์๋จ๋๋ก ๊ฐ์ #161
eunjju2 e8178c2
๐ง Fix, โป๏ธ Refactor : ๋ฃธ ์์ ํ์ด์ง ๊ฐ์ ๋ฐ ๋ฌดํ ๋ฆฌ๋ค์ด๋ ํ
๋ฒ๊ทธ ๊ฐ์
eunjju2 f2f772e
โป๏ธ Refactor : ์ฑํ
๊ตฌ์กฐ์ ๋ง๊ฒ ์์ฒญ ๊ฐ์ #163
eunjju2 dc41c92
โป๏ธ Refactor : ์์ผ ํค๋์ ํ์ํ ๊ฐ ์ถ๊ฐ #163
eunjju2 294105d
๐ Design : ๊ฒฐ์ ๋ฒํผ ์คํ์ผ ์์
eunjju2 03619ff
๐๏ธ Chore : ๋ณํฉ
eunjju2 11da7b9
โป๏ธ Refactor : ์ฑํ
์์ฒญ params ์์ ์ฌํญ ๋ฐ์ #163
eunjju2 35cef91
โป๏ธ Refactor : ํค๋์ ๋๋ค์ ๋๊ฒจ์ฃผ๊ธฐ ๊ฐ์ #163
eunjju2 aa45086
โป๏ธ Refactor : ์ฑํ
์์ฒญ์ params ์์ ์ฌํญ ๋ฐ์ #163
eunjju2 f20792b
โป๏ธ Refactor : ํ ํฐ ๋ง๋ฃ ์ ํ๋ฉด ์ ํ ๊ฐ์ ์ค #164
eunjju2 7fa15d9
๐ง Fix : ์ฑํ
์์ฒญ cursor ๊ฐ ์๋ชป ๋๊ฒจ์ฃผ๋ ๊ฒ ๊ฐ์ #163
eunjju2 ced8b40
โป๏ธ Refactor : S3 ์ด๋ฏธ์ง ์ญ์ ๊ฐ์ #151
eunjju2 fab9227
โป๏ธ Refactor : ํ ํฐ ๋ง๋ฃ ๊ธฐ์กด ์ธ์คํด์ค์์ ํ์ธํ๋๋ก ์์ #164
eunjju2 aa22897
โป๏ธ Refactor : cursor ๊ฐ ํ๊ตญ ์๊ฐ์ผ๋ก ๊ฐ์ #163
eunjju2 50c0231
โป๏ธ Refactor : ๋ฉ์ธํ์ด์ง์์ ํ ํฐ ๋ง๋ฃ ํ์ธ์ผ๋ก ๊ฐ์ #164
eunjju2 c0d69d3
โป๏ธ Refactor : ์ฑํ
cursor ๊ฐ ์์ ๋ฐ ํ์ด์ง๋ค์ด์
1์ฐจ ๋ฐ์ #163
eunjju2 0ee7a50
โป๏ธ Refactor : S3 ์ด๋ฏธ์ง, ํ ํฐ, ์ฑํ
๊ฐ์
eunjju2 e69e7f9
๐ง Fix : ์์ผ disconnect ์๋๋ ๋ฌธ์ ํด๊ฒฐ #163
eunjju2 5d015e9
โป๏ธ Refactor : ์ฑํ
์์ผ ์ฝ์ ์ฒ๋ฆฌ๋ฅผ ์ํ ์๋ก์ด ๊ตฌ๋
์ถ๊ฐ #163
eunjju2 07d40e8
๐๏ธ Chore : ๋ณํฉ
eunjju2 b09cab3
โป๏ธ Refactor : ์ฑํ
์ฝ์ ์ฒ๋ฆฌ ๊ฐ์
eunjju2 72925c5
โป๏ธ Refactor : ์ฑํ
URL ์์
eunjju2 7becec3
โป๏ธ Refactor : ์ฑํ
URL ์์
eunjju2 b340d2d
โป๏ธ Refactor : ๋ง์ถคํ ์ถ์ฒ ์๋ฒ ์๋ ์ ์ฌ์์ฒญ ๋ง๋๋ก ๊ฐ์
eunjju2 5ceccdd
โป๏ธ Refactor : ๋ง์ถคํ ์ถ์ฒ ์๋ฒ ์๋ ์ ์ฌ์์ฒญ ๋ง๋๋ก ๊ฐ์
eunjju2 8a99042
๐ง Fix : ์์ฝ ์๊ฐ ์ ํ ๋ฒ๊ทธ ๊ฐ์
eunjju2 0a41bac
๐๏ธ Chore : ๋ณํฉ
eunjju2 da155d7
โป๏ธ Refactor : ์์ฒญ timeout ๊ฐ์
eunjju2 f6ae944
๐ง Fix : ์์ฝ ์๊ฐ ์ ํ, ๊ฒ์ ์์ฒญ ๋ฒ๊ทธ ๊ฐ์
eunjju2 1b5acf9
๐๏ธ Chore : ์๋ฒ ํ์ธ์ ์ํ log ์ถ๊ฐ
eunjju2 a5852e1
๐๏ธ Chore : ๋ณํฉ
eunjju2 3c4a78a
๐๏ธ Chore : ์๋ฒ ํ์ธ์ ์ํ log ์ถ๊ฐ
eunjju2 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
VITE_KAKAOMAP_APP_KEY | ||
VITE_APP_SERVER_URL | ||
VITE_APP_TOSS_CLIENT_KEY | ||
VITE_APP_TOSS_SECRET_KEY |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
import { | ||
removeAuthToken, | ||
removeRole, | ||
setAuthToken, | ||
setRole, | ||
} from '@utils/auth'; | ||
import { BusinessSignUpData, LoginData, UserSignUpData } from '@typings/types'; | ||
import { authInstance, defaultInstance } from '.'; | ||
|
||
// ์ฌ์ฉ์ ํ์๊ฐ์ | ||
export const postUserSignUp = async (user: UserSignUpData): Promise<void> => { | ||
await defaultInstance.post('/api/v1/member/signup', user); | ||
}; | ||
|
||
// ์ฌ์ฉ์ ๋ก๊ทธ์ธ | ||
export const postUserLogin = async (user: LoginData): Promise<void> => { | ||
const response = await defaultInstance.post('/login/member', user, { | ||
withCredentials: true, | ||
}); | ||
const token = response.headers.authorization; | ||
setAuthToken(token); | ||
const { role } = response.data; | ||
setRole(role); | ||
}; | ||
|
||
// ์ฌ์ ์ ํ์๊ฐ์ | ||
export const postBusinessSignUp = async ( | ||
business: BusinessSignUpData, | ||
): Promise<void> => { | ||
await defaultInstance.post('/api/v1/business/signup', business); | ||
}; | ||
|
||
// ์ฌ์ ์ ๋ก๊ทธ์ธ | ||
export const postBusinessLogin = async (business: LoginData): Promise<void> => { | ||
const response = await defaultInstance.post('/login/business', business, { | ||
withCredentials: true, | ||
}); | ||
const token = response.headers.authorization; | ||
setAuthToken(token); | ||
const { role } = response.data; | ||
setRole(role); | ||
}; | ||
|
||
// ๋ก๊ทธ์์ | ||
export const postLogOut = async (): Promise<void> => { | ||
await authInstance.post('/logout'); | ||
removeAuthToken(); | ||
removeRole(); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import { Business, BusinessAlarm } from '@typings/types'; | ||
import { authInstance } from '.'; | ||
|
||
// ์ฌ์ ์ ์ ๋ณด ์กฐํ | ||
export const getBusinessData = async (): Promise<Business> => { | ||
const response = await authInstance.get('/api/v1/business'); | ||
return response.data; | ||
}; | ||
|
||
// ์ฌ์ ์ ์๋ฆผ | ||
export const getBusinessAlarm = async (): Promise<BusinessAlarm> => { | ||
const response = await authInstance.get('/api/v1/notification/business'); | ||
return response.data; | ||
}; | ||
|
||
// ์ฌ์ ์ ์ ๋ณด ์์ | ||
export const putEditBusinessInformation = async ( | ||
data: Business, | ||
): Promise<void> => { | ||
await authInstance.put('/api/v1/business', data); | ||
}; | ||
|
||
// ์ฌ์ ์ ํํด | ||
export const deleteBusiness = async (): Promise<void> => { | ||
await authInstance.delete('/api/v1/business'); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import { ChatListResponse, ChatMessageResponse } from '@typings/types'; | ||
import { authInstance } from '.'; | ||
|
||
// ๋ฉ์์ง ๊ธฐ๋ก ์กฐํ | ||
export const getMessage = async ( | ||
roomId: number, | ||
): Promise<ChatMessageResponse[]> => { | ||
const response = await authInstance.get(`/api/v1/chat/room/${roomId}`); | ||
return response.data; | ||
}; | ||
|
||
// ์ฑํ ๋ฐฉ ๋ชฉ๋ก ์กฐํ | ||
export const getChatList = async (): Promise<ChatListResponse[]> => { | ||
const response = await authInstance.get('/api/v1/chat/room'); | ||
return response.data; | ||
}; | ||
|
||
// ์ฑํ ๋ฐฉ ์์ฑ ์์ฒญ | ||
export const postCreateChatRoom = async ( | ||
workplaceId: number, | ||
): Promise<number> => { | ||
const response = await authInstance.post('/api/v1/chat/create', workplaceId); | ||
return response.data; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
import axios, { | ||
AxiosError, | ||
AxiosInstance, | ||
AxiosRequestConfig, | ||
AxiosResponse, | ||
InternalAxiosRequestConfig, | ||
} from 'axios'; | ||
import { BASE_URL } from '@constants/constants'; | ||
import { | ||
getAuthToken, | ||
removeAuthToken, | ||
removeRole, | ||
setAuthToken, | ||
} from '@utils/auth'; | ||
import useAuthStore from '@store/authStore'; | ||
import { toast } from 'react-toastify'; | ||
|
||
// Default Instance | ||
const defaultInstance: AxiosInstance = axios.create({ | ||
baseURL: BASE_URL, | ||
timeout: 2000, | ||
headers: { | ||
accept: 'application/json', | ||
'Content-Type': 'application/json', | ||
}, | ||
}); | ||
|
||
// Auth Instance | ||
const authInstance: AxiosInstance = axios.create({ | ||
baseURL: BASE_URL, | ||
timeout: 2000, | ||
headers: { | ||
accept: 'application/json', | ||
'Content-Type': 'application/json', | ||
}, | ||
withCredentials: true, | ||
}); | ||
|
||
// response interceptor (ํ ํฐ ๊ฐฑ์ ) | ||
authInstance.interceptors.response.use( | ||
(response: AxiosResponse) => response, | ||
async (error: AxiosError) => { | ||
// token ๊ฐฑ์ ํ๊ธฐ | ||
if (error.response && error.response.status === 401) { | ||
try { | ||
const response = await authInstance.post('/reissue'); | ||
|
||
if (response.status === 202) { | ||
const token = response.headers.authorization; | ||
setAuthToken(token); | ||
|
||
const originalRequest = error.config as AxiosRequestConfig; | ||
if (originalRequest.headers) { | ||
originalRequest.headers.Authorization = `Bearer ${token}`; | ||
} | ||
return await authInstance(originalRequest); // ์คํจํ๋ ์์ฒญ ์ฌ์๋ | ||
} | ||
} catch (refreshError) { | ||
// ๋ก๊ทธ์์ ์ฒ๋ฆฌ | ||
const { storeLogout } = useAuthStore(); | ||
authInstance.post('/logout'); | ||
removeAuthToken(); | ||
removeRole(); | ||
storeLogout(); | ||
window.location.replace('/'); | ||
} | ||
} | ||
return Promise.reject(error); | ||
}, | ||
); | ||
|
||
// request interceptor | ||
authInstance.interceptors.request.use( | ||
(config: InternalAxiosRequestConfig) => { | ||
const accessToken = getAuthToken(); | ||
if (config.headers && accessToken) { | ||
config.headers.Authorization = `Bearer ${accessToken}`; | ||
} | ||
return config; | ||
}, | ||
(error) => { | ||
return Promise.reject(error); | ||
}, | ||
); | ||
|
||
// response interceptor | ||
const responseInterceptor = (response: AxiosResponse) => response; | ||
|
||
// error handling | ||
export const onError = (message: string): void => { | ||
toast.error(message); | ||
}; | ||
|
||
eunjju2 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
const errorInterceptor = (error: AxiosError) => { | ||
if (error.response) { | ||
const { message, code } = error.response.data as { | ||
code: string; | ||
message: string; | ||
}; | ||
if ( | ||
// ํน์ ์ฝ๋(B004, B005, B006)์์๋ toast๋ฅผ ๋์ฐ์ง ์์ | ||
error.response.status === 409 && | ||
['B004', 'B005', 'B006'].includes(code) | ||
) { | ||
return Promise.reject(error); | ||
} | ||
|
||
onError(message || '์์ฒญ ์ฒ๋ฆฌ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.'); | ||
} | ||
|
||
if (!error.response) { | ||
onError('๋คํธ์ํฌ ์ฐ๊ฒฐ์ ํ์ธํด์ฃผ์ธ์.'); | ||
} | ||
|
||
return Promise.reject(error); | ||
}; | ||
|
||
defaultInstance.interceptors.response.use( | ||
responseInterceptor, | ||
errorInterceptor, | ||
); | ||
authInstance.interceptors.response.use(responseInterceptor, errorInterceptor); | ||
|
||
export { defaultInstance, authInstance }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import { Alarm, Member } from '@typings/types'; | ||
import { authInstance } from '.'; | ||
|
||
// ๋ก๊ทธ์ธํ ์ ์ ์ ๋ณด ์กฐํ | ||
export const getUserData = async (): Promise<Member> => { | ||
const response = await authInstance.get('/api/v1/member'); | ||
return response.data; | ||
}; | ||
|
||
// ์ ์ ์๋ฆผ | ||
export const getUserAlarm = async (): Promise<Alarm> => { | ||
const response = await authInstance.get('/api/v1/notification/member'); | ||
return response.data; | ||
}; | ||
|
||
// ํ์ ์ ๋ณด ์์ | ||
export const putEditMemberInformation = async (data: Member): Promise<void> => { | ||
await authInstance.put('/api/v1/member', data); | ||
}; | ||
|
||
// ์ฌ์ฉ์ ํํด | ||
export const deleteMember = async (): Promise<void> => { | ||
await authInstance.delete('/api/v1/member'); | ||
}; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.