Skip to content

Commit e20d78d

Browse files
committed
feat: refactor prisma
1 parent 59a24be commit e20d78d

File tree

3 files changed

+47
-19
lines changed

3 files changed

+47
-19
lines changed

packages/database/src/images/queries.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Image } from "@prisma/client"
1+
import { Image, Prisma } from "@prisma/client"
22

33
import prisma from "../prisma"
44
import { DEFAULT_LIMIT, DEFAULT_PAGE, IActionReturn, IGetListResponse } from "../shared/type"
5-
import { imageSelect } from "./selects"
5+
import { imageSelect, TImageItem } from "./selects"
66
import { IImageFilter, IListImageResponse } from "./type"
77

88
export const getImages = async (options: IImageFilter): Promise<IListImageResponse> => {
@@ -15,8 +15,6 @@ export const getImages = async (options: IImageFilter): Promise<IListImageRespon
1515
search,
1616
} = options
1717

18-
console.log(">>>options", options)
19-
2018
try {
2119
let where = {}
2220
if (userId) {
@@ -37,7 +35,7 @@ export const getImages = async (options: IImageFilter): Promise<IListImageRespon
3735
}
3836

3937
let orderBy = {
40-
createdAt: "desc",
38+
createdAt: Prisma.SortOrder.desc,
4139
}
4240

4341
if (orderByKey && order) {
@@ -88,6 +86,12 @@ export const getImage = async (id: string): Promise<IActionReturn<Image>> => {
8886
select: imageSelect,
8987
})
9088

89+
if (!image) {
90+
return {
91+
error: "NOT_FOUND",
92+
}
93+
}
94+
9195
return {
9296
data: image,
9397
}
@@ -100,7 +104,7 @@ export const getImage = async (id: string): Promise<IActionReturn<Image>> => {
100104

101105
export const createImage = async (
102106
data: Omit<Image, "id" | "createdAt" | "updatedAt">
103-
): Promise<IActionReturn<Image>> => {
107+
): Promise<IActionReturn<TImageItem>> => {
104108
try {
105109
const image = await prisma.image.create({
106110
data,
@@ -119,7 +123,7 @@ export const createImage = async (
119123
export const updateImage = async (
120124
id: string,
121125
data: Partial<Omit<Image, "id" | "createdAt" | "updatedAt">>
122-
): Promise<IActionReturn<Image>> => {
126+
): Promise<IActionReturn<TImageItem>> => {
123127
try {
124128
const image = await prisma.image.update({
125129
where: { id },
@@ -136,7 +140,7 @@ export const updateImage = async (
136140
}
137141
}
138142

139-
export const deleteImage = async (id: string, userId: string): Promise<IActionReturn<"">> => {
143+
export const deleteImage = async (id: string, userId: string): Promise<IActionReturn<Image>> => {
140144
try {
141145
// only owner can delete
142146
const deleteImage = await prisma.image.delete({
@@ -145,7 +149,7 @@ export const deleteImage = async (id: string, userId: string): Promise<IActionRe
145149

146150
if (!deleteImage) {
147151
return {
148-
error: "Unauthorized",
152+
error: "UNAUTHORIZED",
149153
}
150154
}
151155

packages/database/src/images/selects.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,24 @@ const getImage = Prisma.validator<Prisma.ImageDefaultArgs>()({
2222
select: imageSelect,
2323
})
2424

25-
export type TImageItem = Prisma.ImageGetPayload<typeof getImage>
25+
export type TImageItem = Prisma.ImageGetPayload<{
26+
select: typeof imageSelect
27+
}>
28+
29+
type Color =
30+
| string
31+
| {
32+
r: number
33+
g: number
34+
b: number
35+
a: number
36+
}
37+
38+
let a: Color = "red"
39+
let a1: Color = { r: 1, g: 2, b: 3, a: 4 }
40+
let b = { r: 1 } as Color
41+
let c = { r: 1, g: 2, b: 3, a: 4 } satisfies Color
42+
let c1 = "blue" satisfies Color
43+
44+
a1.r
45+
c.r

packages/database/src/prisma.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
import { PrismaClient } from "@prisma/client"
22

3-
declare global {
4-
const prisma: PrismaClient | undefined
5-
}
3+
// declare global {
4+
// const prisma: PrismaClient | undefined
5+
// }
66

7-
const prisma =
8-
global.prisma ||
9-
new PrismaClient({
10-
log: ["info", "warn", "error", "query"],
11-
})
7+
// const prisma =
8+
// global.prisma ||
9+
// new PrismaClient({
10+
// log: ["info", "warn", "error", "query"],
11+
// })
1212

13-
if (process.env.NODE_ENV === "development") global.prisma = prisma
13+
// if (process.env.NODE_ENV === "development") global.prisma = prisma
14+
15+
const prisma = new PrismaClient({
16+
log: ["info", "warn", "error", "query"],
17+
})
1418

1519
export default prisma

0 commit comments

Comments
 (0)