From 8f879ed51086b01316874972dc0a4ed3f428cffb Mon Sep 17 00:00:00 2001 From: gahyuun Date: Tue, 3 Dec 2024 18:05:33 +0900 Subject: [PATCH 1/4] feat: migration fetch-ax 2.0.2 --- app/utils/api/instance.ts | 6 ++++-- package-lock.json | 8 ++++---- package.json | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/utils/api/instance.ts b/app/utils/api/instance.ts index 3fb59e4..f7bc772 100644 --- a/app/utils/api/instance.ts +++ b/app/utils/api/instance.ts @@ -13,8 +13,10 @@ export const instance = fetchAX.create({ const accessToken = cookies().get('accessToken')?.value; if (accessToken) { - config.headers = new Headers(config.headers); - config.headers?.set('Authorization', `Bearer ${accessToken}`); + config.headers = { + ...config.headers, + Authorization: `Bearer ${accessToken}`, + }; } return config; }, diff --git a/package-lock.json b/package-lock.json index d2183e5..36ca030 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "express": "^4.18.2", - "fetch-ax": "^1.0.10", + "fetch-ax": "^2.0.2", "jotai": "^2.7.0", "lucide-react": "^0.336.0", "next": "^14.2.13", @@ -12454,9 +12454,9 @@ } }, "node_modules/fetch-ax": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fetch-ax/-/fetch-ax-1.0.10.tgz", - "integrity": "sha512-9qXCkrOBDDNodVQmZJFQ3b3A3J6OMr6XFFQXgFuXiwEmcifxZPx2GR80++OVbF7M5EjkgQnZYiiwDOsYHuBoXQ==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fetch-ax/-/fetch-ax-2.0.2.tgz", + "integrity": "sha512-TzpshX5PllSXH/46YXpGprhmmxnKxCOHadC8HA2SmuLsUcXkbu85WTrdF89V0rcbFx/J6nG+Qc+af1lfzC5DoA==" }, "node_modules/figures": { "version": "3.2.0", diff --git a/package.json b/package.json index 03c8497..3659c4f 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "express": "^4.18.2", - "fetch-ax": "^1.0.10", + "fetch-ax": "^2.0.2", "jotai": "^2.7.0", "lucide-react": "^0.336.0", "next": "^14.2.13", From 09b4fa10d1832236f8d3dd94663b205a07bbcb28 Mon Sep 17 00:00:00 2001 From: gahyuun Date: Tue, 3 Dec 2024 18:09:48 +0900 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20revalidate=20tag=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/business/services/lecture/taken-lecture.command.ts | 5 ++++- app/business/services/lecture/taken-lecture.query.ts | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/business/services/lecture/taken-lecture.command.ts b/app/business/services/lecture/taken-lecture.command.ts index ee1b4ca..afe3571 100644 --- a/app/business/services/lecture/taken-lecture.command.ts +++ b/app/business/services/lecture/taken-lecture.command.ts @@ -5,6 +5,8 @@ import { BadRequestError } from '@/app/utils/http/http-error'; import { cookies } from 'next/headers'; import { redirect } from 'next/navigation'; import { instance } from '@/app/utils/api/instance'; +import { revalidateTag } from 'next/cache'; +import { TAG } from '@/app/utils/http/tag'; export const registerUserGrade = async (prevState: FormState, formData: FormData) => { const parsingText = await parsePDFtoText(formData); @@ -45,7 +47,7 @@ export const deleteTakenLecture = async (lectureId: number) => { await instance.delete(`${API_PATH.takenLectures}/${lectureId}`, { responseType: 'text', }); - + revalidateTag(TAG.GET_TAKEN_LECTURES); return { isSuccess: true, }; @@ -69,6 +71,7 @@ export const addTakenLecture = async (lectureId: number) => { responseType: 'text', }, ); + revalidateTag(TAG.GET_TAKEN_LECTURES); return { isSuccess: true, isFailure: false, diff --git a/app/business/services/lecture/taken-lecture.query.ts b/app/business/services/lecture/taken-lecture.query.ts index ffc4a48..2885e07 100644 --- a/app/business/services/lecture/taken-lecture.query.ts +++ b/app/business/services/lecture/taken-lecture.query.ts @@ -1,5 +1,6 @@ import { instance } from '@/app/utils/api/instance'; import { API_PATH } from '../../api-path'; +import { TAG } from '@/app/utils/http/tag'; export interface TakenLecturesResponse { totalCredit: number; @@ -17,6 +18,10 @@ export interface TakenLectureInfoResponse { } export const fetchTakenLectures = async () => { - const response = await instance.get(API_PATH.takenLectures); + const response = await instance.get(API_PATH.takenLectures, { + next: { + tags: [TAG.GET_TAKEN_LECTURES], + }, + }); return response.data; }; From 8f03a0ac236232c74576ff40c11cedec7d7eb00b Mon Sep 17 00:00:00 2001 From: gahyuun Date: Sun, 15 Dec 2024 12:29:34 +0900 Subject: [PATCH 3/4] feat: version upgrade fetch-ax 2.0.3 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36ca030..9d64e0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "express": "^4.18.2", - "fetch-ax": "^2.0.2", + "fetch-ax": "^2.0.3", "jotai": "^2.7.0", "lucide-react": "^0.336.0", "next": "^14.2.13", @@ -12454,9 +12454,9 @@ } }, "node_modules/fetch-ax": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fetch-ax/-/fetch-ax-2.0.2.tgz", - "integrity": "sha512-TzpshX5PllSXH/46YXpGprhmmxnKxCOHadC8HA2SmuLsUcXkbu85WTrdF89V0rcbFx/J6nG+Qc+af1lfzC5DoA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fetch-ax/-/fetch-ax-2.0.3.tgz", + "integrity": "sha512-G7m6YJWup5rR0pIWnzySRvAH2um4ocgX98IbX3637OsSHKzaDUnRBVAfJ/dnay6OTQBYSGL9fuHc5lncTbuiYw==" }, "node_modules/figures": { "version": "3.2.0", diff --git a/package.json b/package.json index 3659c4f..fd68a56 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "express": "^4.18.2", - "fetch-ax": "^2.0.2", + "fetch-ax": "^2.0.3", "jotai": "^2.7.0", "lucide-react": "^0.336.0", "next": "^14.2.13", From c9f992e877f154668c33c98578a80b124a27e838 Mon Sep 17 00:00:00 2001 From: gahyuun Date: Sun, 15 Dec 2024 12:36:03 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=EA=B3=BC=EB=AA=A9=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EC=8B=9C=20revalidate=20tag=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/business/services/lecture/taken-lecture.command.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/app/business/services/lecture/taken-lecture.command.ts b/app/business/services/lecture/taken-lecture.command.ts index afe3571..640cfdb 100644 --- a/app/business/services/lecture/taken-lecture.command.ts +++ b/app/business/services/lecture/taken-lecture.command.ts @@ -47,7 +47,6 @@ export const deleteTakenLecture = async (lectureId: number) => { await instance.delete(`${API_PATH.takenLectures}/${lectureId}`, { responseType: 'text', }); - revalidateTag(TAG.GET_TAKEN_LECTURES); return { isSuccess: true, };