Skip to content

Commit 27b3458

Browse files
committed
feat: nextjs rewrite proxy and cookie
1 parent f97a6c5 commit 27b3458

File tree

16 files changed

+35
-104
lines changed

16 files changed

+35
-104
lines changed

app/(protected)/books/[id]/edit/page.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
import Link from 'next/link'
1010
import { Verify } from '@/lib/firebase/firebase'
1111
import { getBook } from '@/lib/api/book'
12-
import { cookies } from 'next/headers'
1312
import { BookEditForm } from '@/components/books/book-edit-form'
1413

1514
export default async function EditBookPage({
@@ -28,10 +27,6 @@ export default async function EditBookPage({
2827
return <div>{JSON.stringify(bookRes.message)}</div>
2928
}
3029

31-
const cookieStore = await cookies()
32-
const sessionName = process.env.SESSION_COOKIE_NAME as string
33-
const session = cookieStore.get(sessionName)
34-
3530
return (
3631
<div className="space-y-4">
3732
<h1 className="text-2xl font-semibold">{bookRes.data.title}</h1>
@@ -54,7 +49,7 @@ export default async function EditBookPage({
5449
</BreadcrumbItem>
5550
</BreadcrumbList>
5651
</Breadcrumb>
57-
<BookEditForm book={bookRes.data} token={session?.value as string} />
52+
<BookEditForm book={bookRes.data} />
5853
</div>
5954
)
6055
}

app/(protected)/books/new/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default function NewBook() {
3232
</BreadcrumbItem>
3333
</BreadcrumbList>
3434
</Breadcrumb>
35-
<BookCreateForm token="" />
35+
<BookCreateForm />
3636
</div>
3737
)
3838
}

app/(protected)/borrows/new/page.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,9 @@ import {
77
BreadcrumbPage,
88
BreadcrumbSeparator,
99
} from '@/components/ui/breadcrumb'
10-
import { cookies } from 'next/headers'
1110
import Link from 'next/link'
1211

1312
export default async function ComboboxForm() {
14-
const cookieStore = await cookies()
15-
const sessionName = process.env.SESSION_COOKIE_NAME as string
16-
const session = cookieStore.get(sessionName)
17-
1813
return (
1914
<div className="grid grid-rows-2">
2015
<h1 className="text-2xl font-semibold">Borrow a Book</h1>
@@ -39,7 +34,7 @@ export default async function ComboboxForm() {
3934
</BreadcrumbList>
4035
</Breadcrumb>
4136

42-
<FormNewBorrow token={session?.value as string} />
37+
<FormNewBorrow />
4338
</div>
4439
)
4540
}

app/(protected)/libraries/[id]/edit/page.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
} from '@/components/ui/breadcrumb'
1010
import { getLibrary } from '@/lib/api/library'
1111
import { Verify } from '@/lib/firebase/firebase'
12-
import { cookies } from 'next/headers'
1312
import Link from 'next/link'
1413

1514
export default async function EditPage({
@@ -28,10 +27,6 @@ export default async function EditPage({
2827
return <div>{JSON.stringify(libRes.message)}</div>
2928
}
3029

31-
const cookieStore = await cookies()
32-
const sessionName = process.env.SESSION_COOKIE_NAME as string
33-
const session = cookieStore.get(sessionName)
34-
3530
return (
3631
<div>
3732
<h1 className="text-2xl font-semibold">{libRes.data.name}</h1>
@@ -56,7 +51,7 @@ export default async function EditPage({
5651
</BreadcrumbList>
5752
</Breadcrumb>
5853

59-
<LibraryEditForm library={libRes.data} token={session?.value as string} />
54+
<LibraryEditForm library={libRes.data} />
6055
</div>
6156
)
6257
}

app/(protected)/libraries/new/page.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,10 @@ import {
99
import Link from 'next/link'
1010
import { LibraryCreateForm } from '@/components/libraries/lib-create-form'
1111
import { Verify } from '@/lib/firebase/firebase'
12-
import { cookies } from 'next/headers'
1312

1413
export default async function NewLibrary() {
1514
await Verify({ from: '/libraries/new' })
1615

17-
const cookieStore = await cookies()
18-
const sessionName = process.env.SESSION_COOKIE_NAME as string
19-
const session = cookieStore.get(sessionName)
20-
2116
return (
2217
<div className="space-y-4">
2318
<h1 className="text-2xl font-semibold">Create Library</h1>
@@ -41,7 +36,7 @@ export default async function NewLibrary() {
4136
</BreadcrumbList>
4237
</Breadcrumb>
4338

44-
<LibraryCreateForm token={session?.value as string} />
39+
<LibraryCreateForm />
4540
</div>
4641
)
4742
}

app/(protected)/staffs/[id]/edit/page.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
} from '@/components/ui/breadcrumb'
1010
import { getStaff } from '@/lib/api/staff'
1111
import { Verify } from '@/lib/firebase/firebase'
12-
import { cookies } from 'next/headers'
1312
import Link from 'next/link'
1413

1514
export default async function EditStaffPage({
@@ -28,10 +27,6 @@ export default async function EditStaffPage({
2827

2928
await Verify({ from: `/staffs/${id}/edit` })
3029

31-
const cookieStore = await cookies()
32-
const sessionName = process.env.SESSION_COOKIE_NAME as string
33-
const session = cookieStore.get(sessionName)
34-
3530
return (
3631
<div className="grid grid-rows-2">
3732
<h1 className="text-2xl font-semibold">{staffRes.data.name}</h1>
@@ -56,7 +51,7 @@ export default async function EditStaffPage({
5651
</BreadcrumbList>
5752
</Breadcrumb>
5853

59-
<StaffEditForm staff={staffRes.data} token={session?.value as string} />
54+
<StaffEditForm staff={staffRes.data} />
6055
</div>
6156
)
6257
}

app/(protected)/staffs/new/page.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,9 @@ import {
77
BreadcrumbPage,
88
BreadcrumbSeparator,
99
} from '@/components/ui/breadcrumb'
10-
import { Verify } from '@/lib/firebase/firebase'
11-
import { cookies } from 'next/headers'
1210
import Link from 'next/link'
1311

1412
export default async function CreateStaffPage() {
15-
await Verify({ from: '/staffs/new' })
16-
17-
const cookieStore = await cookies()
18-
const sessionName = process.env.SESSION_COOKIE_NAME as string
19-
const session = cookieStore.get(sessionName)
20-
2113
return (
2214
<div className="grid grid-rows-2">
2315
<h1 className="text-2xl font-semibold">Assign a Staff</h1>
@@ -42,7 +34,7 @@ export default async function CreateStaffPage() {
4234
</BreadcrumbList>
4335
</Breadcrumb>
4436

45-
<StaffCreateForm token={session?.value as string} />
37+
<StaffCreateForm />
4638
</div>
4739
)
4840
}

components/books/book-create-form.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const initialData: BookFormValues = {
1414
library_id: '',
1515
}
1616

17-
export const BookCreateForm: React.FC<{ token: string }> = () => {
17+
export const BookCreateForm: React.FC = () => {
1818
const router = useRouter()
1919

2020
function onSubmit(data: BookFormValues) {

components/books/book-edit-form.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ import { BookDetail } from '@/lib/types/book'
44
// import { useRouter } from 'next/router'
55
import { BookForm, BookFormValues } from './BookForm'
66

7-
export const BookEditForm: React.FC<{ book: BookDetail; token: string }> = ({
8-
book,
9-
}) => {
7+
export const BookEditForm: React.FC<{ book: BookDetail }> = ({ book }) => {
108
const initialData = {
119
title: book.title,
1210
author: book.author,

components/borrows/FormNewBorrow.tsx

Lines changed: 14 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
PopoverTrigger,
2727
} from '@/components/ui/popover'
2828

29-
import { useCallback, useEffect, useMemo, useState } from 'react'
29+
import { useCallback, useEffect, useState } from 'react'
3030
import { getListUsers } from '@/lib/api/user'
3131
import { User } from '@/lib/types/user'
3232
import { Book } from '@/lib/types/book'
@@ -58,16 +58,9 @@ const FormSchema = z.object({
5858
}),
5959
})
6060

61-
// pass token from page since session cookie is http only
62-
export const FormNewBorrow: React.FC<{ token: string }> = ({ token }) => {
61+
export const FormNewBorrow: React.FC = () => {
6362
const router = useRouter()
6463

65-
const headers = useMemo(() => {
66-
const h = new Headers()
67-
h.set('Authorization', `Bearer ${token}`)
68-
return h
69-
}, [token])
70-
7164
const form = useForm<z.infer<typeof FormSchema>>({
7265
resolver: zodResolver(FormSchema),
7366
})
@@ -144,17 +137,12 @@ export const FormNewBorrow: React.FC<{ token: string }> = ({ token }) => {
144137
const selectedUser = form.watch('user_id')
145138

146139
useEffect(() => {
147-
getListSubs(
148-
{
149-
limit: 20,
150-
user_id: selectedUser,
151-
membership_name: subQ,
152-
is_active: true,
153-
},
154-
{
155-
headers,
156-
}
157-
).then((res) => {
140+
getListSubs({
141+
limit: 20,
142+
user_id: selectedUser,
143+
membership_name: subQ,
144+
is_active: true,
145+
}).then((res) => {
158146
if ('error' in res) {
159147
toast({
160148
title: 'Error',
@@ -164,21 +152,16 @@ export const FormNewBorrow: React.FC<{ token: string }> = ({ token }) => {
164152
}
165153
setSubs(res.data)
166154
})
167-
}, [subQ, selectedUser, headers])
155+
}, [subQ, selectedUser])
168156

169157
const [staffQ, setStaffQ] = useState('')
170158
const [staffs, setStaffs] = useState<Staff[]>([])
171159

172160
useEffect(() => {
173-
getListStaffs(
174-
{
175-
limit: 20,
176-
name: staffQ,
177-
},
178-
{
179-
headers,
180-
}
181-
).then((res) => {
161+
getListStaffs({
162+
limit: 20,
163+
name: staffQ,
164+
}).then((res) => {
182165
if ('error' in res) {
183166
toast({
184167
title: 'Error',
@@ -188,7 +171,7 @@ export const FormNewBorrow: React.FC<{ token: string }> = ({ token }) => {
188171
}
189172
setStaffs(res.data)
190173
})
191-
}, [staffQ, headers])
174+
}, [staffQ])
192175

193176
return (
194177
<div className="grid place-items-center">

0 commit comments

Comments
 (0)