Skip to content

Commit eea1935

Browse files
committed
feat: add seed for user
1 parent 6281592 commit eea1935

File tree

8 files changed

+64
-24
lines changed

8 files changed

+64
-24
lines changed

apps/web/@/molecules/user/posts/post-item.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import Link from "next/link"
44

5-
import { PostStatus } from "database"
5+
import { deletePost, PostStatus, TPostItem } from "database"
66
import dayjs from "dayjs"
7+
import { useSession } from "next-auth/react"
78
import { useTranslations } from "next-intl"
89
import {
910
Badge,
@@ -17,14 +18,13 @@ import {
1718
} from "ui"
1819

1920
import { togglePostStatus } from "@/actions/manage-post"
20-
import { deletePost } from "@/actions/protect/posts"
21-
import { TPostItem } from "@/types/posts"
2221

2322
export default function PostItem(post: TPostItem) {
2423
const t = useTranslations()
24+
const { data: session } = useSession()
2525

2626
const onDeletePost = async () => {
27-
await deletePost(post.id)
27+
await deletePost(post.id, session?.user?.id)
2828
}
2929

3030
const onTogglePostStatus = async () => {

packages/database/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"db:generate": "prisma generate",
1717
"db:push": "prisma db push --skip-generate",
1818
"db:migrate": "prisma migrate dev",
19-
"db:reset": "prisma migrate reset"
19+
"db:reset": "prisma migrate reset",
20+
"db:seed": "ts-node prisma/seeds/seed.mjs"
2021
},
2122
"main": "./src/index.ts",
2223
"types": "./src/index.ts"
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { PrismaClient } from "@prisma/client"
2+
3+
const prisma = new PrismaClient()
4+
5+
async function main() {
6+
const user = await prisma.user.upsert({
7+
where: {
8+
email: "admin@codeforstartup.com",
9+
},
10+
create: {
11+
name: "Luan Nguyen",
12+
email: "admin@codeforstartup.com",
13+
password: "12345678",
14+
},
15+
update: {},
16+
})
17+
18+
console.log("seed-user:", { user })
19+
}
20+
21+
main().then(() => {
22+
console.log("User created successfully")
23+
})

packages/database/prisma/seeds/seed.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

packages/database/src/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
import { createImage, deleteImage, getImage, getImages, updateImage } from "./images/queries"
22
import { TImage } from "./images/selects"
33
import { IImageFilter, IListImageResponse, ImageOrderBys } from "./images/type"
4-
import { createPost, getPost, getPosts, updatePost, updatePostStatus } from "./posts/queries"
4+
import {
5+
createPost,
6+
deletePost,
7+
getPost,
8+
getPosts,
9+
updatePost,
10+
updatePostStatus,
11+
} from "./posts/queries"
512
import { TCreatePostInput, TPostActionType, TPostItem } from "./posts/selects"
613
import { TGetPostsRequest, TGetPostsResponse } from "./posts/type"
714
import prisma from "./prisma"
@@ -31,6 +38,7 @@ export {
3138
getPosts,
3239
createPost,
3340
updatePost,
41+
deletePost,
3442
updatePostStatus,
3543
FilterValues,
3644
PeriodValues,

packages/database/src/posts/queries.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,3 +306,24 @@ export const updatePostStatus = async (
306306
}
307307
}
308308
}
309+
310+
export const deletePost = async (id: string, userId: string): Promise<IActionReturn<TPostItem>> => {
311+
try {
312+
const post = await prisma.post.delete({
313+
where: {
314+
id,
315+
authorId: userId,
316+
},
317+
select: postSelect,
318+
})
319+
320+
return {
321+
data: post,
322+
}
323+
} catch (error) {
324+
throw {
325+
data: null,
326+
error: error,
327+
}
328+
}
329+
}

packages/database/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"extends": "tsconfig/react-library.json",
33
"include": [
44
"**/*.ts",
5-
"**/*.tsx"
5+
"**/*.tsx",
6+
"prisma/seeds/seed.mjs"
67
],
78
"exclude": [
89
"node_modules"

turbo.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@
3737
},
3838
"db:reset": {
3939
"cache": false
40+
},
41+
"db:seed": {
42+
"cache": false
4043
}
4144
}
4245
}

0 commit comments

Comments
 (0)