Skip to content

Commit 9e98ccd

Browse files
committed
feat: update order by
1 parent 7c28d99 commit 9e98ccd

File tree

7 files changed

+36
-17
lines changed

7 files changed

+36
-17
lines changed

apps/web/@/constants/upload.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export const OrderByField = {
2+
newest: "newest",
3+
oldest: "oldest",
4+
nameAsc: "name_asc",
5+
nameDesc: "name_desc",
6+
}

apps/web/@/hooks/useGetImages.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ export function useGetImages(filter: IImageFilter) {
2525

2626
if (filter.search) queryParams.append("search", filter.search)
2727
if (filter.order) queryParams.append("order", filter.order)
28-
if (filter.orderBy) queryParams.append("orderBy", filter.orderBy)
2928
queryParams.append("page", (index + 1).toString())
3029

3130
return `/api/protected/images?${queryParams.toString()}`

apps/web/@/molecules/upload/AssetsManagement.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const AssetManagement = () => {
1313
const filterParams = useMemo(() => {
1414
return {
1515
search,
16+
// order,
1617
}
1718
}, [search])
1819

apps/web/@/molecules/upload/FileManagerContainer.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@ import React, { createContext, useCallback, useContext, useReducer } from "react
22

33
import { Image, OrderBy } from "database"
44

5-
export const OrderByField = {
6-
newest: "newest",
7-
oldest: "oldest",
8-
nameAsc: "name_asc",
9-
nameDesc: "name_desc",
10-
}
5+
import { OrderByField } from "@/constants/upload"
116

127
export type FileManagerState = {
138
selectedFiles: Image[]

apps/web/@/molecules/upload/ImageSearchBar.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,11 @@ import {
1212
DropdownMenuSeparator,
1313
DropdownMenuTrigger,
1414
Input,
15-
Select,
16-
SelectContent,
17-
SelectItem,
18-
SelectTrigger,
19-
SelectValue,
2015
} from "ui"
2116

22-
import { OrderByField, useFileManager } from "./FileManagerContainer"
17+
import { OrderByField } from "@/constants/upload"
18+
19+
import { useFileManager } from "./FileManagerContainer"
2320

2421
export default function ImageSearchBar() {
2522
const t = useTranslations()

apps/web/app/api/protected/images/route.ts

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,41 @@ import { createImage, getImage, getImages, IImageFilter, ImageOrderBys, OrderBy
66
import sharp from "sharp"
77
import { v4 as uuidv4 } from "uuid"
88

9+
import { OrderByField } from "@/constants/upload"
910
import { getServerSession } from "@/utils/auth"
1011

12+
const OrderMap = {
13+
[OrderByField.nameAsc]: {
14+
order: "asc",
15+
orderBy: "name",
16+
},
17+
[OrderByField.nameDesc]: {
18+
order: "desc",
19+
orderBy: "name",
20+
},
21+
[OrderByField.newest]: {
22+
order: "asc",
23+
orderBy: "createdAt",
24+
},
25+
[OrderByField.oldest]: {
26+
order: "desc",
27+
orderBy: "createdAt",
28+
},
29+
}
30+
1131
export async function GET(request: NextRequest) {
1232
const searchParams = request.nextUrl.searchParams
1333
const page = searchParams.get("page") ? parseInt(searchParams.get("page")!) : 1
1434
const limit = searchParams.get("limit") ? parseInt(searchParams.get("limit")!) : 10
1535
const search = searchParams.get("search") || undefined
16-
const orderBy = searchParams.get("orderBy") || undefined
17-
const order = searchParams.get("order") || undefined
36+
const order = searchParams.get("order") || OrderByField.newest
1837

1938
const params: IImageFilter = {
2039
page,
2140
limit,
2241
search,
23-
orderBy: orderBy as ImageOrderBys,
24-
order: order as OrderBy,
42+
orderBy: OrderMap[order].orderBy as ImageOrderBys,
43+
order: OrderMap[order].order as OrderBy,
2544
}
2645

2746
try {

packages/database/src/images/queries.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ export const getImages = async (options: IImageFilter): Promise<IListImageRespon
1515
search,
1616
} = options
1717

18+
console.log(">>>options", options)
19+
1820
try {
1921
let where = {}
2022
if (userId) {

0 commit comments

Comments
 (0)