diff --git a/package-lock.json b/package-lock.json index ee68156..cf09a9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "@prisma/client": "^5.15.0", "chalk": "^5.3.0", "express": "^4.19.2", "inversify": "^6.0.2", @@ -22,6 +23,7 @@ "@types/jsonwebtoken": "^9.0.6", "@types/node": "^20.14.2", "nodemon": "^3.1.3", + "prisma": "^5.15.0", "ts-node": "^10.9.2", "typescript": "^5.4.5" } @@ -63,6 +65,68 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@prisma/client": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.15.0.tgz", + "integrity": "sha512-wPTeTjbd2Q0abOeffN7zCDCbkp9C9cF+e9HPiI64lmpehyq2TepgXE+sY7FXr7Rhbb21prLMnhXX27/E11V09w==", + "hasInstallScript": true, + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/debug": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.15.0.tgz", + "integrity": "sha512-QpEAOjieLPc/4sMny/WrWqtpIAmBYsgqwWlWwIctqZO0AbhQ9QcT6x2Ut3ojbDo/pFRCCA1Z1+xm2MUy7fAkZA==", + "devOptional": true + }, + "node_modules/@prisma/engines": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.15.0.tgz", + "integrity": "sha512-hXL5Sn9hh/ZpRKWiyPA5GbvF3laqBHKt6Vo70hYqqOhh5e0ZXDzHcdmxNvOefEFeqxra2DMz2hNbFoPvqrVe1w==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "@prisma/debug": "5.15.0", + "@prisma/engines-version": "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022", + "@prisma/fetch-engine": "5.15.0", + "@prisma/get-platform": "5.15.0" + } + }, + "node_modules/@prisma/engines-version": { + "version": "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022.tgz", + "integrity": "sha512-3BEgZ41Qb4oWHz9kZNofToRvNeS4LZYaT9pienR1gWkjhky6t6K1NyeWNBkqSj2llgraUNbgMOCQPY4f7Qp5wA==", + "devOptional": true + }, + "node_modules/@prisma/fetch-engine": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.15.0.tgz", + "integrity": "sha512-z6AY5yyXxc20Klj7wwnfGP0iIUkVKzybqapT02zLYR/nf9ynaeN8bq73WRmi1TkLYn+DJ5Qy+JGu7hBf1pE78A==", + "devOptional": true, + "dependencies": { + "@prisma/debug": "5.15.0", + "@prisma/engines-version": "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022", + "@prisma/get-platform": "5.15.0" + } + }, + "node_modules/@prisma/get-platform": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.15.0.tgz", + "integrity": "sha512-1GULDkW4+/VQb73vihxCBSc4Chc2x88MA+O40tcZFjmBzG4/fF44PaXFxUqKSFltxU9L9GIMLhh0Gfkk/pUbtg==", + "devOptional": true, + "dependencies": { + "@prisma/debug": "5.15.0" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", @@ -2414,6 +2478,22 @@ "node": ">=0.10.0" } }, + "node_modules/prisma": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.15.0.tgz", + "integrity": "sha512-JA81ACQSCi3a7NUOgonOIkdx8PAVkO+HbUOxmd00Yb8DgIIEpr2V9+Qe/j6MLxIgWtE/OtVQ54rVjfYRbZsCfw==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "@prisma/engines": "5.15.0" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=16.13" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", diff --git a/package.json b/package.json index e1ffbcc..1cf7a4a 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,12 @@ "@types/jsonwebtoken": "^9.0.6", "@types/node": "^20.14.2", "nodemon": "^3.1.3", + "prisma": "^5.15.0", "ts-node": "^10.9.2", "typescript": "^5.4.5" }, "dependencies": { + "@prisma/client": "^5.15.0", "chalk": "^5.3.0", "express": "^4.19.2", "inversify": "^6.0.2", diff --git a/prisma/migrations/20240616071018_init/migration.sql b/prisma/migrations/20240616071018_init/migration.sql new file mode 100644 index 0000000..cf18fcb --- /dev/null +++ b/prisma/migrations/20240616071018_init/migration.sql @@ -0,0 +1,14 @@ +-- CreateTable +CREATE TABLE "User" ( + "internal_id" TEXT NOT NULL, + "id" TEXT NOT NULL, + "email" TEXT NOT NULL, + "password" TEXT NOT NULL, + "name" TEXT NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "User_pkey" PRIMARY KEY ("internal_id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "User_id_key" ON "User"("id"); diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..fbffa92 --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file