chore: add db schema and migrations
This commit is contained in:
parent
6627b31107
commit
efe8868c1d
|
|
@ -14,14 +14,15 @@ CREATE TABLE "Password" (
|
|||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Note" (
|
||||
CREATE TABLE "Translation" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"title" TEXT NOT NULL,
|
||||
"body" TEXT NOT NULL,
|
||||
"lang" TEXT NOT NULL,
|
||||
"text" TEXT NOT NULL,
|
||||
"result" TEXT NOT NULL,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
CONSTRAINT "Note_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
CONSTRAINT "Translation_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
-- AlterTable
|
||||
ALTER TABLE "User" ADD COLUMN "openAIKey" TEXT;
|
||||
|
|
@ -14,8 +14,10 @@ model User {
|
|||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
password Password?
|
||||
notes Note[]
|
||||
password Password?
|
||||
translations Translation[]
|
||||
|
||||
openAIKey String?
|
||||
}
|
||||
|
||||
model Password {
|
||||
|
|
@ -25,10 +27,11 @@ model Password {
|
|||
userId String @unique
|
||||
}
|
||||
|
||||
model Note {
|
||||
id String @id @default(cuid())
|
||||
title String
|
||||
body String
|
||||
model Translation {
|
||||
id String @id @default(cuid())
|
||||
lang String
|
||||
text String
|
||||
result String
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ import bcrypt from "bcryptjs";
|
|||
const prisma = new PrismaClient();
|
||||
|
||||
async function seed() {
|
||||
const email = "rachel@remix.run";
|
||||
const email = "nicola@nzambello.dev";
|
||||
|
||||
// cleanup the existing database
|
||||
await prisma.user.delete({ where: { email } }).catch(() => {
|
||||
// no worries if it doesn't exist yet
|
||||
});
|
||||
|
||||
const hashedPassword = await bcrypt.hash("racheliscool", 10);
|
||||
const hashedPassword = await bcrypt.hash("nzambello.dev", 10);
|
||||
|
||||
const user = await prisma.user.create({
|
||||
data: {
|
||||
|
|
@ -24,18 +24,20 @@ async function seed() {
|
|||
},
|
||||
});
|
||||
|
||||
await prisma.note.create({
|
||||
await prisma.translation.create({
|
||||
data: {
|
||||
title: "My first note",
|
||||
body: "Hello, world!",
|
||||
lang: "italian",
|
||||
text: "Hello, world!",
|
||||
result: "Ciao, mondo!",
|
||||
userId: user.id,
|
||||
},
|
||||
});
|
||||
|
||||
await prisma.note.create({
|
||||
await prisma.translation.create({
|
||||
data: {
|
||||
title: "My second note",
|
||||
body: "Hello, world!",
|
||||
lang: "spanish",
|
||||
text: "Hello, world!",
|
||||
result: "¡Hola Mundo!",
|
||||
userId: user.id,
|
||||
},
|
||||
});
|
||||
|
|
|
|||
235
yarn.lock
235
yarn.lock
|
|
@ -2975,7 +2975,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2":
|
||||
"@types/unist@npm:^2, @types/unist@npm:^2.0.0":
|
||||
version: 2.0.7
|
||||
resolution: "@types/unist@npm:2.0.7"
|
||||
checksum: b97a219554e83431f19a93ff113306bf0512909292815e8f32964e47d041c505af1aaa2a381c23e137c4c0b962fad58d4ce9c5c3256642921a466be43c1fc715
|
||||
|
|
@ -4258,13 +4258,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"character-entities-legacy@npm:^1.0.0":
|
||||
version: 1.1.4
|
||||
resolution: "character-entities-legacy@npm:1.1.4"
|
||||
checksum: fe03a82c154414da3a0c8ab3188e4237ec68006cbcd681cf23c7cfb9502a0e76cd30ab69a2e50857ca10d984d57de3b307680fff5328ccd427f400e559c3a811
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"character-entities-legacy@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "character-entities-legacy@npm:3.0.0"
|
||||
|
|
@ -4272,13 +4265,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"character-entities@npm:^1.0.0":
|
||||
version: 1.2.4
|
||||
resolution: "character-entities@npm:1.2.4"
|
||||
checksum: e1545716571ead57beac008433c1ff69517cd8ca5b336889321c5b8ff4a99c29b65589a701e9c086cda8a5e346a67295e2684f6c7ea96819fe85cbf49bf8686d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"character-entities@npm:^2.0.0":
|
||||
version: 2.0.2
|
||||
resolution: "character-entities@npm:2.0.2"
|
||||
|
|
@ -4286,13 +4272,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"character-reference-invalid@npm:^1.0.0":
|
||||
version: 1.1.4
|
||||
resolution: "character-reference-invalid@npm:1.1.4"
|
||||
checksum: 20274574c70e05e2f81135f3b93285536bc8ff70f37f0809b0d17791a832838f1e49938382899ed4cb444e5bbd4314ca1415231344ba29f4222ce2ccf24fea0b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"character-reference-invalid@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "character-reference-invalid@npm:2.0.1"
|
||||
|
|
@ -5737,17 +5716,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-markdown@npm:^3.0.0":
|
||||
version: 3.0.1
|
||||
resolution: "eslint-plugin-markdown@npm:3.0.1"
|
||||
dependencies:
|
||||
mdast-util-from-markdown: ^0.8.5
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
checksum: 91233d35777517a290377233eecbdbbe17d583f40b11b9adf371d051a98012ad6b540967aae59c2786fb8b66aa7c1abb27108947034b1f0f3e0df1c8aae9f2e7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-node@npm:^11.1.0":
|
||||
version: 11.1.0
|
||||
resolution: "eslint-plugin-node@npm:11.1.0"
|
||||
|
|
@ -5764,15 +5732,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-prefer-let@npm:^3.0.1":
|
||||
version: 3.0.1
|
||||
resolution: "eslint-plugin-prefer-let@npm:3.0.1"
|
||||
dependencies:
|
||||
requireindex: ~1.2.0
|
||||
checksum: c6b2bcd0e192d1875e986364fb3ec8421da2126b216fab418dff89249aeb4eb28fca8cd17f818f5ae9753864733299524b1ef9bb74305ed974a22d5241cdd752
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-plugin-react-hooks@npm:^4.6.0":
|
||||
version: 4.6.0
|
||||
resolution: "eslint-plugin-react-hooks@npm:4.6.0"
|
||||
|
|
@ -7291,60 +7250,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"indie-stack-template@workspace:.":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "indie-stack-template@workspace:."
|
||||
dependencies:
|
||||
"@faker-js/faker": ^8.0.2
|
||||
"@prisma/client": ^4.16.1
|
||||
"@remix-run/css-bundle": ^1.19.2
|
||||
"@remix-run/dev": ^1.19.2
|
||||
"@remix-run/eslint-config": ^1.19.2
|
||||
"@remix-run/node": ^1.19.2
|
||||
"@remix-run/react": ^1.19.2
|
||||
"@remix-run/serve": ^1.19.2
|
||||
"@testing-library/cypress": ^9.0.0
|
||||
"@testing-library/jest-dom": ^5.16.5
|
||||
"@types/bcryptjs": ^2.4.2
|
||||
"@types/eslint": ^8.40.2
|
||||
"@types/node": ^18.16.18
|
||||
"@types/react": ^18.2.14
|
||||
"@types/react-dom": ^18.2.6
|
||||
"@vitejs/plugin-react": ^4.0.1
|
||||
"@vitest/coverage-v8": ^0.32.2
|
||||
autoprefixer: ^10.4.14
|
||||
bcryptjs: ^2.4.3
|
||||
binode: ^1.0.5
|
||||
cookie: ^0.5.0
|
||||
cross-env: ^7.0.3
|
||||
cypress: ^12.16.0
|
||||
eslint: ^8.43.0
|
||||
eslint-config-prettier: ^8.8.0
|
||||
eslint-plugin-cypress: ^2.13.3
|
||||
eslint-plugin-markdown: ^3.0.0
|
||||
eslint-plugin-prefer-let: ^3.0.1
|
||||
happy-dom: ^9.20.3
|
||||
isbot: ^3.6.12
|
||||
msw: ^1.2.2
|
||||
npm-run-all: ^4.1.5
|
||||
postcss: ^8.4.24
|
||||
prettier: 2.8.8
|
||||
prettier-plugin-tailwindcss: ^0.3.0
|
||||
prisma: ^4.16.1
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
start-server-and-test: ^2.0.0
|
||||
tailwindcss: ^3.3.2
|
||||
tiny-invariant: ^1.3.1
|
||||
ts-node: ^10.9.1
|
||||
tsconfig-paths: ^4.2.0
|
||||
typescript: ^5.1.3
|
||||
vite: ^4.3.9
|
||||
vite-tsconfig-paths: ^3.6.0
|
||||
vitest: ^0.32.2
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"infer-owner@npm:^1.0.4":
|
||||
version: 1.0.4
|
||||
resolution: "infer-owner@npm:1.0.4"
|
||||
|
|
@ -7438,13 +7343,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-alphabetical@npm:^1.0.0":
|
||||
version: 1.0.4
|
||||
resolution: "is-alphabetical@npm:1.0.4"
|
||||
checksum: 6508cce44fd348f06705d377b260974f4ce68c74000e7da4045f0d919e568226dc3ce9685c5a2af272195384df6930f748ce9213fc9f399b5d31b362c66312cb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-alphabetical@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "is-alphabetical@npm:2.0.1"
|
||||
|
|
@ -7452,16 +7350,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-alphanumerical@npm:^1.0.0":
|
||||
version: 1.0.4
|
||||
resolution: "is-alphanumerical@npm:1.0.4"
|
||||
dependencies:
|
||||
is-alphabetical: ^1.0.0
|
||||
is-decimal: ^1.0.0
|
||||
checksum: e2e491acc16fcf5b363f7c726f666a9538dba0a043665740feb45bba1652457a73441e7c5179c6768a638ed396db3437e9905f403644ec7c468fb41f4813d03f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-alphanumerical@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "is-alphanumerical@npm:2.0.1"
|
||||
|
|
@ -7571,13 +7459,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-decimal@npm:^1.0.0":
|
||||
version: 1.0.4
|
||||
resolution: "is-decimal@npm:1.0.4"
|
||||
checksum: ed483a387517856dc395c68403a10201fddcc1b63dc56513fbe2fe86ab38766120090ecdbfed89223d84ca8b1cd28b0641b93cb6597b6e8f4c097a7c24e3fb96
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-decimal@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "is-decimal@npm:2.0.1"
|
||||
|
|
@ -7649,13 +7530,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-hexadecimal@npm:^1.0.0":
|
||||
version: 1.0.4
|
||||
resolution: "is-hexadecimal@npm:1.0.4"
|
||||
checksum: a452e047587b6069332d83130f54d30da4faf2f2ebaa2ce6d073c27b5703d030d58ed9e0b729c8e4e5b52c6f1dab26781bb77b7bc6c7805f14f320e328ff8cd5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-hexadecimal@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "is-hexadecimal@npm:2.0.1"
|
||||
|
|
@ -8585,19 +8459,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"mdast-util-from-markdown@npm:^0.8.5":
|
||||
version: 0.8.5
|
||||
resolution: "mdast-util-from-markdown@npm:0.8.5"
|
||||
dependencies:
|
||||
"@types/mdast": ^3.0.0
|
||||
mdast-util-to-string: ^2.0.0
|
||||
micromark: ~2.11.0
|
||||
parse-entities: ^2.0.0
|
||||
unist-util-stringify-position: ^2.0.0
|
||||
checksum: 5a9d0d753a42db763761e874c22365d0c7c9934a5a18b5ff76a0643610108a208a041ffdb2f3d3dd1863d3d915225a4020a0aade282af0facfd0df110601eee6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"mdast-util-from-markdown@npm:^1.0.0":
|
||||
version: 1.3.1
|
||||
resolution: "mdast-util-from-markdown@npm:1.3.1"
|
||||
|
|
@ -8725,13 +8586,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"mdast-util-to-string@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "mdast-util-to-string@npm:2.0.0"
|
||||
checksum: 0b2113ada10e002fbccb014170506dabe2f2ddacaacbe4bc1045c33f986652c5a162732a2c057c5335cdb58419e2ad23e368e5be226855d4d4e280b81c4e9ec2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0":
|
||||
version: 3.2.0
|
||||
resolution: "mdast-util-to-string@npm:3.2.0"
|
||||
|
|
@ -9155,16 +9009,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"micromark@npm:~2.11.0":
|
||||
version: 2.11.4
|
||||
resolution: "micromark@npm:2.11.4"
|
||||
dependencies:
|
||||
debug: ^4.0.0
|
||||
parse-entities: ^2.0.0
|
||||
checksum: f8a5477d394908a5d770227aea71657a76423d420227c67ea0699e659a5f62eb39d504c1f7d69ec525a6af5aaeb6a7bffcdba95614968c03d41d3851edecb0d6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5":
|
||||
version: 4.0.5
|
||||
resolution: "micromatch@npm:4.0.5"
|
||||
|
|
@ -9976,20 +9820,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"parse-entities@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "parse-entities@npm:2.0.0"
|
||||
dependencies:
|
||||
character-entities: ^1.0.0
|
||||
character-entities-legacy: ^1.0.0
|
||||
character-reference-invalid: ^1.0.0
|
||||
is-alphanumerical: ^1.0.0
|
||||
is-decimal: ^1.0.0
|
||||
is-hexadecimal: ^1.0.0
|
||||
checksum: 7addfd3e7d747521afac33c8121a5f23043c6973809756920d37e806639b4898385d386fcf4b3c8e2ecf1bc28aac5ae97df0b112d5042034efbe80f44081ebce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"parse-entities@npm:^4.0.0":
|
||||
version: 4.0.1
|
||||
resolution: "parse-entities@npm:4.0.1"
|
||||
|
|
@ -11012,7 +10842,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"requireindex@npm:^1.2.0, requireindex@npm:~1.2.0":
|
||||
"requireindex@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "requireindex@npm:1.2.0"
|
||||
checksum: 50d8b10a1ff1fdf6aea7a1870bc7bd238b0fb1917d8d7ca17fd03afc38a65dcd7a8a4eddd031f89128b5f0065833d5c92c4fef67f2c04e8624057fe626c9cf94
|
||||
|
|
@ -12230,6 +12060,58 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"translaite-2ae4@workspace:.":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "translaite-2ae4@workspace:."
|
||||
dependencies:
|
||||
"@faker-js/faker": ^8.0.2
|
||||
"@prisma/client": ^4.16.1
|
||||
"@remix-run/css-bundle": ^1.19.2
|
||||
"@remix-run/dev": ^1.19.2
|
||||
"@remix-run/eslint-config": ^1.19.2
|
||||
"@remix-run/node": ^1.19.2
|
||||
"@remix-run/react": ^1.19.2
|
||||
"@remix-run/serve": ^1.19.2
|
||||
"@testing-library/cypress": ^9.0.0
|
||||
"@testing-library/jest-dom": ^5.16.5
|
||||
"@types/bcryptjs": ^2.4.2
|
||||
"@types/eslint": ^8.40.2
|
||||
"@types/node": ^18.16.18
|
||||
"@types/react": ^18.2.14
|
||||
"@types/react-dom": ^18.2.6
|
||||
"@vitejs/plugin-react": ^4.0.1
|
||||
"@vitest/coverage-v8": ^0.32.2
|
||||
autoprefixer: ^10.4.14
|
||||
bcryptjs: ^2.4.3
|
||||
binode: ^1.0.5
|
||||
cookie: ^0.5.0
|
||||
cross-env: ^7.0.3
|
||||
cypress: ^12.16.0
|
||||
eslint: ^8.43.0
|
||||
eslint-config-prettier: ^8.8.0
|
||||
eslint-plugin-cypress: ^2.13.3
|
||||
happy-dom: ^9.20.3
|
||||
isbot: ^3.6.12
|
||||
msw: ^1.2.2
|
||||
npm-run-all: ^4.1.5
|
||||
postcss: ^8.4.24
|
||||
prettier: 2.8.8
|
||||
prettier-plugin-tailwindcss: ^0.3.0
|
||||
prisma: ^4.16.1
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
start-server-and-test: ^2.0.0
|
||||
tailwindcss: ^3.3.2
|
||||
tiny-invariant: ^1.3.1
|
||||
ts-node: ^10.9.1
|
||||
tsconfig-paths: ^4.2.0
|
||||
typescript: ^5.1.3
|
||||
vite: ^4.3.9
|
||||
vite-tsconfig-paths: ^3.6.0
|
||||
vitest: ^0.32.2
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"trough@npm:^2.0.0":
|
||||
version: 2.1.0
|
||||
resolution: "trough@npm:2.1.0"
|
||||
|
|
@ -12614,15 +12496,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"unist-util-stringify-position@npm:^2.0.0":
|
||||
version: 2.0.3
|
||||
resolution: "unist-util-stringify-position@npm:2.0.3"
|
||||
dependencies:
|
||||
"@types/unist": ^2.0.2
|
||||
checksum: f755cadc959f9074fe999578a1a242761296705a7fe87f333a37c00044de74ab4b184b3812989a57d4cd12211f0b14ad397b327c3a594c7af84361b1c25a7f09
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"unist-util-stringify-position@npm:^3.0.0":
|
||||
version: 3.0.3
|
||||
resolution: "unist-util-stringify-position@npm:3.0.3"
|
||||
|
|
|
|||
Loading…
Reference in a new issue