Skip to content

Commit cfc02f8

Browse files
Merge pull request #8 from TezBytes/chore/dev-env-setup
Add dev.nix and VS Code workspace config
2 parents b52c26e + e3e5b6d commit cfc02f8

27 files changed

Lines changed: 13680 additions & 1 deletion

.idx/dev.nix

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{pkgs}: {
2+
channel = "stable-24.05";
3+
packages = [
4+
pkgs.nodejs_20
5+
];
6+
idx.extensions = [
7+
8+
];
9+
idx.previews = {
10+
previews = {
11+
web = {
12+
command = [
13+
"npm"
14+
"run"
15+
"dev"
16+
"--"
17+
"--port"
18+
"$PORT"
19+
"--hostname"
20+
"0.0.0.0"
21+
];
22+
manager = "web";
23+
};
24+
};
25+
};
26+
}

.vscode/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"IDX.aI.enableInlineCompletion": true,
3+
"IDX.aI.enableCodebaseIndexing": true
4+
}

package.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,15 @@
1111
"lint": "next lint",
1212
"generate:structure": "tree -I 'node_modules|.git|.next|dist' -L 3 -a > structure.md",
1313
"test": "jest --watch",
14-
"build:prod": "next build && next export"
14+
"build:prod": "next build && next export",
15+
"prisma": "prisma",
16+
"studio": "prisma studio",
17+
"migrate": "prisma migrate dev --name",
18+
"db:push": "prisma db push",
19+
"db:studio": "prisma studio",
20+
"db:generate": "prisma generate",
21+
"db:seed": "prisma db seed",
22+
"db:reset": "prisma migrate reset --force"
1523
},
1624
"dependencies": {
1725
"@prisma/client": "^6.7.0",
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
-- CreateTable
2+
CREATE TABLE "User" (
3+
"id" TEXT NOT NULL,
4+
"name" TEXT,
5+
"email" TEXT,
6+
"password" TEXT,
7+
"joinedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
8+
"updatedAt" TIMESTAMP(3) NOT NULL,
9+
10+
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
11+
);
12+
13+
-- CreateTable
14+
CREATE TABLE "Project" (
15+
"id" TEXT NOT NULL,
16+
"username" TEXT NOT NULL,
17+
"email" TEXT NOT NULL,
18+
"password" TEXT NOT NULL,
19+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
20+
"updatedAt" TIMESTAMP(3) NOT NULL,
21+
"deletedAt" TIMESTAMP(3),
22+
"userId" TEXT NOT NULL,
23+
24+
CONSTRAINT "Project_pkey" PRIMARY KEY ("id")
25+
);
26+
27+
-- CreateTable
28+
CREATE TABLE "Script" (
29+
"id" TEXT NOT NULL,
30+
"title" TEXT NOT NULL,
31+
"type" TEXT NOT NULL,
32+
"text" TEXT NOT NULL,
33+
"metadata" TEXT NOT NULL,
34+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
35+
"deletedAt" TIMESTAMP(3),
36+
"userId" TEXT NOT NULL,
37+
"projectId" TEXT NOT NULL,
38+
"voicesId" TEXT,
39+
40+
CONSTRAINT "Script_pkey" PRIMARY KEY ("id")
41+
);
42+
43+
-- CreateTable
44+
CREATE TABLE "Voice" (
45+
"id" TEXT NOT NULL,
46+
"hash" TEXT NOT NULL,
47+
"metadata" TEXT NOT NULL,
48+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
49+
"deletedAt" TIMESTAMP(3),
50+
"userId" TEXT NOT NULL,
51+
52+
CONSTRAINT "Voice_pkey" PRIMARY KEY ("id")
53+
);
54+
55+
-- CreateIndex
56+
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
57+
58+
-- CreateIndex
59+
CREATE UNIQUE INDEX "Project_username_key" ON "Project"("username");
60+
61+
-- CreateIndex
62+
CREATE UNIQUE INDEX "Project_email_key" ON "Project"("email");
63+
64+
-- AddForeignKey
65+
ALTER TABLE "Project" ADD CONSTRAINT "Project_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
66+
67+
-- AddForeignKey
68+
ALTER TABLE "Script" ADD CONSTRAINT "Script_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
69+
70+
-- AddForeignKey
71+
ALTER TABLE "Script" ADD CONSTRAINT "Script_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
72+
73+
-- AddForeignKey
74+
ALTER TABLE "Script" ADD CONSTRAINT "Script_voicesId_fkey" FOREIGN KEY ("voicesId") REFERENCES "Voice"("id") ON DELETE SET NULL ON UPDATE CASCADE;
75+
76+
-- AddForeignKey
77+
ALTER TABLE "Voice" ADD CONSTRAINT "Voice_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Please do not edit this file manually
2+
# It should be added in your version-control system (e.g., Git)
3+
provider = "postgresql"

src/lib/prisma/client.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./index"

src/lib/prisma/client.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
/* !!! This is code generated by Prisma. Do not edit directly. !!!
3+
/* eslint-disable */
4+
module.exports = { ...require('.') }

src/lib/prisma/default.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./index"

src/lib/prisma/default.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
/* !!! This is code generated by Prisma. Do not edit directly. !!!
3+
/* eslint-disable */
4+
module.exports = { ...require('.') }

src/lib/prisma/edge.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./default"

0 commit comments

Comments
 (0)