diff --git a/apps/golinks-v2/migrations/0003_add-discord-links.sql b/apps/golinks-v2/migrations/0003_add-discord-links.sql new file mode 100644 index 0000000..a684f63 --- /dev/null +++ b/apps/golinks-v2/migrations/0003_add-discord-links.sql @@ -0,0 +1,15 @@ +-- CreateTable +CREATE TABLE "DiscordInviteLink" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "slug" TEXT NOT NULL, + "inviteCode" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT NOT NULL, + "nsfw" BOOLEAN NOT NULL DEFAULT false, + "is_active" BOOLEAN NOT NULL DEFAULT true, + "created_on" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_on" DATETIME NOT NULL +); + +-- CreateIndex +CREATE UNIQUE INDEX "DiscordInviteLink_slug_key" ON "DiscordInviteLink"("slug"); diff --git a/apps/golinks-v2/package.json b/apps/golinks-v2/package.json index 39fc811..a4deb96 100644 --- a/apps/golinks-v2/package.json +++ b/apps/golinks-v2/package.json @@ -3,30 +3,38 @@ "version": "0.0.1", "private": true, "scripts": { - "deploy": "wrangler deploy", - "dev": "wrangler dev", - "start": "wrangler dev", + "deps:upgrade": "yarn yarn-upgrade-all", + "deploy": "wrangler deploy --env staging", + "deploy:stg": "wrangler deploy --env staging", + "deploy:prod": "wrangler deploy --env production", + "dev": "wrangler dev --port 35120", + "start": "wrangler dev --port 35120", "types:gen": "wrangler types && prisma generate", + "types:prisma-client": "prisma generate", "migrations:new": "wrangler d1 migrations create golinks", - "migrations:diff": "prisma migrate diff --from-local-d1 --to-schema-datamodel ./prisma/schema.prisma", - "migrations:apply": "wrangler d1 migrations apply golinks-db", - "d1-exec:dev": "wrangler d1 execute golinks-db --local", - "d1-exec:prod": "wrangler d1 execute golinks-db --remote", + "migrations:diff": "prisma migrate diff --to-schema-datamodel ./prisma/schema.prisma", + "migrate:local": "wrangler d1 migrations apply golinks", + "migrate:stg": "wrangler d1 migrations apply golinks --remote --env staging", + "migrate:prod": "wrangler d1 migrations apply golinks --remote --env production", + "d1-exec:dev": "wrangler d1 execute golinks --local", + "d1-exec:stg": "wrangler d1 execute golinks --remote --env staging", + "d1-exec:prod": "wrangler d1 execute golinks --remote --env production", "args": "echo $*" }, "dependencies": { - "@prisma/adapter-d1": "^5.16.2", - "@prisma/client": "^5.16.2", + "@prisma/adapter-d1": "^5.17.0", + "@prisma/client": "^5.17.0", "chanfana": "^2.0.2", - "hono": "^4.4.7", + "hono": "^4.5.0", "zod": "^3.23.8" }, "devDependencies": { "@cloudflare/workers-types": "^4.20240712.0", - "@types/node": "20.8.3", - "@types/service-worker-mock": "^2.0.1", - "prisma": "^5.16.2", + "@types/node": "^20.14.11", + "@types/service-worker-mock": "^2.0.4", + "prisma": "^5.17.0", "typescript": "^5.5.3", - "wrangler": "3.65.0" + "wrangler": "^3.65.0", + "yarn-upgrade-all": "^0.7.2" } } diff --git a/yarn.lock b/yarn.lock index 7dd944d..5775c64 100644 --- a/yarn.lock +++ b/yarn.lock @@ -481,80 +481,80 @@ __metadata: languageName: node linkType: hard -"@prisma/adapter-d1@npm:^5.16.2": - version: 5.16.2 - resolution: "@prisma/adapter-d1@npm:5.16.2" +"@prisma/adapter-d1@npm:^5.17.0": + version: 5.17.0 + resolution: "@prisma/adapter-d1@npm:5.17.0" dependencies: "@cloudflare/workers-types": "npm:4.20240614.0" - "@prisma/driver-adapter-utils": "npm:5.16.2" - checksum: 10c0/5afed818201a990ea5eec66d31586d73d02162ce9d1090db90421c2b92344f6e3caae2386e67c6b4f86cd1777fcd8d02f5b5711e56a66d161caba42ca5dc6fab + "@prisma/driver-adapter-utils": "npm:5.17.0" + checksum: 10c0/252e65dd55f9661b4cfc64ec82e8f7af2b2f2ecb1ef93ce6abcc16397b5e883c043a625bd5a56ad5408c54869115fcca15961f050a8e11c5c101b4acb16ec113 languageName: node linkType: hard -"@prisma/client@npm:^5.16.2": - version: 5.16.2 - resolution: "@prisma/client@npm:5.16.2" +"@prisma/client@npm:^5.17.0": + version: 5.17.0 + resolution: "@prisma/client@npm:5.17.0" peerDependencies: prisma: "*" peerDependenciesMeta: prisma: optional: true - checksum: 10c0/4aefff22a3ad5ac3a7b6298c41949e4962b328a13d9f9e9095b530ce3ad931a1052716450d464850f240e6fa109b6db5719a9cf0f868e75ad44c39ad2409f2df + checksum: 10c0/cc6c5e9bfbc2f9a01fdf73e009c42298b8a9fea8c9b19db0089cad84a9ee94c3bb6f66f53f1e2f4b32b3506706bf16d23a8e3bcb4619a8bc76d0812a8382ae63 languageName: node linkType: hard -"@prisma/debug@npm:5.16.2": - version: 5.16.2 - resolution: "@prisma/debug@npm:5.16.2" - checksum: 10c0/63dac1010cb8304f512b84c903209f4f5b3d8a359284b576101d11e457af9af4eb57e78a1445e101e9e4a6801cdd04e299f12dd0a50eb26fd785387f6c0986b7 +"@prisma/debug@npm:5.17.0": + version: 5.17.0 + resolution: "@prisma/debug@npm:5.17.0" + checksum: 10c0/10aca89c8cd3a96c7f1153792110f33d96d1875e4af807002b9ca061eda255b1aa21e757b9e7a1690ac0676fb2312c441191cdb357acf45617dd658678984053 languageName: node linkType: hard -"@prisma/driver-adapter-utils@npm:5.16.2": - version: 5.16.2 - resolution: "@prisma/driver-adapter-utils@npm:5.16.2" +"@prisma/driver-adapter-utils@npm:5.17.0": + version: 5.17.0 + resolution: "@prisma/driver-adapter-utils@npm:5.17.0" dependencies: - "@prisma/debug": "npm:5.16.2" - checksum: 10c0/66e6d99d72a0acb42411dd8991f83e3e844b24376404041f78451dc85ff19b16bc61e08b16d44a776a7d8fa6bdbb417543c3f2c75d15751451fb137df497bd4d + "@prisma/debug": "npm:5.17.0" + checksum: 10c0/e116045bd45b8ae9a0f8776496a88eb78c2000d2730bb6fb833a686a1fd31cd692550ab56de9e539a49bd34348f0ea0dbf253b38a783cad7fd5f4f13908df8ed languageName: node linkType: hard -"@prisma/engines-version@npm:5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303": - version: 5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303 - resolution: "@prisma/engines-version@npm:5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303" - checksum: 10c0/de02aed86429fbae0c98dbcb35baa9e1583a37aa222692a832a24153ed173a5559257c31296ecbd8ae5a8a99887f3aaf0797d819ca45e562905ce0bea411fe75 +"@prisma/engines-version@npm:5.17.0-31.393aa359c9ad4a4bb28630fb5613f9c281cde053": + version: 5.17.0-31.393aa359c9ad4a4bb28630fb5613f9c281cde053 + resolution: "@prisma/engines-version@npm:5.17.0-31.393aa359c9ad4a4bb28630fb5613f9c281cde053" + checksum: 10c0/164b4cd6965da770bcd085fa0596466b092060d19eb8a4ba3402e66bd9b2e813cae417eeca99422b66a3a05a65cfe6d0e0339083b53644acf553ac138693232d languageName: node linkType: hard -"@prisma/engines@npm:5.16.2": - version: 5.16.2 - resolution: "@prisma/engines@npm:5.16.2" +"@prisma/engines@npm:5.17.0": + version: 5.17.0 + resolution: "@prisma/engines@npm:5.17.0" dependencies: - "@prisma/debug": "npm:5.16.2" - "@prisma/engines-version": "npm:5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303" - "@prisma/fetch-engine": "npm:5.16.2" - "@prisma/get-platform": "npm:5.16.2" - checksum: 10c0/4e059639779402c9446b2d4795f7cc6b17ef1e9eb85f000a8b591d45fc755fbe66d49b6acec7ed2fd2847b4ffd48fefdc961a9e2439a24de53e59447e03179b5 + "@prisma/debug": "npm:5.17.0" + "@prisma/engines-version": "npm:5.17.0-31.393aa359c9ad4a4bb28630fb5613f9c281cde053" + "@prisma/fetch-engine": "npm:5.17.0" + "@prisma/get-platform": "npm:5.17.0" + checksum: 10c0/b1d48c39fbe16680947685960be615894ccc1a2ca40263fc6d1ac4599e3100f2f31e71b02bd000c0f3269cd045f38817dfbddd37fefcb8a4dec6155a6df48e2f languageName: node linkType: hard -"@prisma/fetch-engine@npm:5.16.2": - version: 5.16.2 - resolution: "@prisma/fetch-engine@npm:5.16.2" +"@prisma/fetch-engine@npm:5.17.0": + version: 5.17.0 + resolution: "@prisma/fetch-engine@npm:5.17.0" dependencies: - "@prisma/debug": "npm:5.16.2" - "@prisma/engines-version": "npm:5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303" - "@prisma/get-platform": "npm:5.16.2" - checksum: 10c0/00b63683df0278bdcfa4b88756189359dbe03ac5a08f33db29cba839fd9f5c97818608ac9ddc4bc99e407957e7227a5bb6dbb08d64c709835af097a607da78aa + "@prisma/debug": "npm:5.17.0" + "@prisma/engines-version": "npm:5.17.0-31.393aa359c9ad4a4bb28630fb5613f9c281cde053" + "@prisma/get-platform": "npm:5.17.0" + checksum: 10c0/b5c554e8a637871fd6497e656d67e649d9eea3a06be325b68a686b707c78d200ba9ba20bd76b0a3408e5cb78f6e34bab535ce161174273db377353a01368806e languageName: node linkType: hard -"@prisma/get-platform@npm:5.16.2": - version: 5.16.2 - resolution: "@prisma/get-platform@npm:5.16.2" +"@prisma/get-platform@npm:5.17.0": + version: 5.17.0 + resolution: "@prisma/get-platform@npm:5.17.0" dependencies: - "@prisma/debug": "npm:5.16.2" - checksum: 10c0/4a9cb31411944e59f8fd678c38e40de8f52dcb931a63f95bd33b951157c5d61229d5d0c5928fd9450a49edcb0723cabf239e65c6f277488af7cb36d45bb125c4 + "@prisma/debug": "npm:5.17.0" + checksum: 10c0/8687736c6e18737e29544bc1f98653b75b4dcb85c1ffe02686da100e843bb30041dd9d00146a2178517d34b783a650c8b76bdde5029d1675bd28c2be6ee6565a languageName: node linkType: hard @@ -655,10 +655,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:20.8.3": - version: 20.8.3 - resolution: "@types/node@npm:20.8.3" - checksum: 10c0/83511d7c310100f3fddbbf3a28f0049d60da6ffc4255231845b2e2189d7ff104727647d2b05d2a29b0af2ad61b529a4897056b3798e0cba027c629f3b13d7e82 +"@types/node@npm:^20.14.11": + version: 20.14.11 + resolution: "@types/node@npm:20.14.11" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/5306becc0ff41d81b1e31524bd376e958d0741d1ce892dffd586b9ae0cb6553c62b0d62abd16da8bea6b9a2c17572d360450535d7c073794b0cef9cb4e39691e languageName: node linkType: hard @@ -678,7 +680,7 @@ __metadata: languageName: node linkType: hard -"@types/service-worker-mock@npm:^2.0.1": +"@types/service-worker-mock@npm:^2.0.4": version: 2.0.4 resolution: "@types/service-worker-mock@npm:2.0.4" checksum: 10c0/fd878f06b32c333fbf26cbc00af2bfbae8d8f013b9757923a529f7a8055beb644736196221bc85fbdbdf8ac15550a0f653d98fbeef91405621d7ffc035e9ffad @@ -1111,15 +1113,16 @@ __metadata: resolution: "cloudflare-workers-openapi@workspace:apps/golinks-v2" dependencies: "@cloudflare/workers-types": "npm:^4.20240712.0" - "@prisma/adapter-d1": "npm:^5.16.2" - "@prisma/client": "npm:^5.16.2" - "@types/node": "npm:20.8.3" - "@types/service-worker-mock": "npm:^2.0.1" + "@prisma/adapter-d1": "npm:^5.17.0" + "@prisma/client": "npm:^5.17.0" + "@types/node": "npm:^20.14.11" + "@types/service-worker-mock": "npm:^2.0.4" chanfana: "npm:^2.0.2" - hono: "npm:^4.4.7" - prisma: "npm:^5.16.2" + hono: "npm:^4.5.0" + prisma: "npm:^5.17.0" typescript: "npm:^5.5.3" - wrangler: "npm:3.65.0" + wrangler: "npm:^3.65.0" + yarn-upgrade-all: "npm:^0.7.2" zod: "npm:^3.23.8" languageName: unknown linkType: soft @@ -1630,10 +1633,10 @@ __metadata: languageName: node linkType: hard -"hono@npm:^4.4.7": - version: 4.4.13 - resolution: "hono@npm:4.4.13" - checksum: 10c0/213c09eafa4d82dfa6b6326fd37e8f0d17753ece62581ea849ec0eb87b0984a721389a0d8480f64dbef564d3fa49cc6031603374f326cb48ad4bc9eb9496e876 +"hono@npm:^4.5.0": + version: 4.5.0 + resolution: "hono@npm:4.5.0" + checksum: 10c0/0c1d10b0e30202a1493ab9db7e8068449a10ad352e3a9794d866eaa08c15b04c0d896499fec8ebe8994035a93ae0f54691c59c712600cd0515bcaee87bfbb1c9 languageName: node linkType: hard @@ -2302,14 +2305,14 @@ __metadata: languageName: node linkType: hard -"prisma@npm:^5.16.2": - version: 5.16.2 - resolution: "prisma@npm:5.16.2" +"prisma@npm:^5.17.0": + version: 5.17.0 + resolution: "prisma@npm:5.17.0" dependencies: - "@prisma/engines": "npm:5.16.2" + "@prisma/engines": "npm:5.17.0" bin: prisma: build/index.js - checksum: 10c0/0820150bfe2f9372b34b97be694554fe8ceb51542e467df0afed94575c425556b534bf8080d8526544c5d3ec339c43072360abfe6b14319b65a0480b116aa983 + checksum: 10c0/30546a8576ffadf66d6f34cd833e25e21eec99847db92c4d88f6c9dbbc401abbd3f699f9e0f0dbcd9d5229ccba47c6aadb42ba6cd6e29afb7335689c7257c964 languageName: node linkType: hard @@ -2963,29 +2966,28 @@ __metadata: languageName: node linkType: hard -"wrangler@npm:3.65.0": - version: 3.65.0 - resolution: "wrangler@npm:3.65.0" +"wrangler@npm:^3.60.0": + version: 3.60.0 + resolution: "wrangler@npm:3.60.0" dependencies: - "@cloudflare/kv-asset-handler": "npm:0.3.4" + "@cloudflare/kv-asset-handler": "npm:0.3.2" "@esbuild-plugins/node-globals-polyfill": "npm:^0.2.3" "@esbuild-plugins/node-modules-polyfill": "npm:^0.2.2" blake3-wasm: "npm:^2.1.5" chokidar: "npm:^3.5.3" - date-fns: "npm:^3.6.0" esbuild: "npm:0.17.19" fsevents: "npm:~2.3.2" - miniflare: "npm:3.20240712.0" + miniflare: "npm:3.20240605.0" nanoid: "npm:^3.3.3" path-to-regexp: "npm:^6.2.0" resolve: "npm:^1.22.8" resolve.exports: "npm:^2.0.2" selfsigned: "npm:^2.0.1" - source-map: "npm:^0.6.1" + source-map: "npm:0.6.1" unenv: "npm:unenv-nightly@1.10.0-1717606461.a117952" xxhash-wasm: "npm:^1.0.1" peerDependencies: - "@cloudflare/workers-types": ^4.20240712.0 + "@cloudflare/workers-types": ^4.20240605.0 dependenciesMeta: fsevents: optional: true @@ -2995,32 +2997,33 @@ __metadata: bin: wrangler: bin/wrangler.js wrangler2: bin/wrangler.js - checksum: 10c0/f7e73f107a0cb2b27e17035b4d3b78ac86d953e90fde196d0149799d550c0f5714918beae53ef2506f142bba47eca801b14c26ea16bfa4289ba0b6d31f6d239d + checksum: 10c0/6d4f1bb7c2d6342fceb4310f7e3aee5651403b58edf264be68e63ece3d2e16db256bafb68ca3699f07c1b2b27a619e90a574bbe33acdd6c5460392c88d6c0e1a languageName: node linkType: hard -"wrangler@npm:^3.60.0": - version: 3.60.0 - resolution: "wrangler@npm:3.60.0" +"wrangler@npm:^3.64.0": + version: 3.64.0 + resolution: "wrangler@npm:3.64.0" dependencies: - "@cloudflare/kv-asset-handler": "npm:0.3.2" + "@cloudflare/kv-asset-handler": "npm:0.3.4" "@esbuild-plugins/node-globals-polyfill": "npm:^0.2.3" "@esbuild-plugins/node-modules-polyfill": "npm:^0.2.2" blake3-wasm: "npm:^2.1.5" chokidar: "npm:^3.5.3" + date-fns: "npm:^3.6.0" esbuild: "npm:0.17.19" fsevents: "npm:~2.3.2" - miniflare: "npm:3.20240605.0" + miniflare: "npm:3.20240701.0" nanoid: "npm:^3.3.3" path-to-regexp: "npm:^6.2.0" resolve: "npm:^1.22.8" resolve.exports: "npm:^2.0.2" selfsigned: "npm:^2.0.1" - source-map: "npm:0.6.1" + source-map: "npm:^0.6.1" unenv: "npm:unenv-nightly@1.10.0-1717606461.a117952" xxhash-wasm: "npm:^1.0.1" peerDependencies: - "@cloudflare/workers-types": ^4.20240605.0 + "@cloudflare/workers-types": ^4.20240620.0 dependenciesMeta: fsevents: optional: true @@ -3030,13 +3033,13 @@ __metadata: bin: wrangler: bin/wrangler.js wrangler2: bin/wrangler.js - checksum: 10c0/6d4f1bb7c2d6342fceb4310f7e3aee5651403b58edf264be68e63ece3d2e16db256bafb68ca3699f07c1b2b27a619e90a574bbe33acdd6c5460392c88d6c0e1a + checksum: 10c0/0c93c26eee0f2e9ee748f5459e831f26549f1f385ad82159a41a18b0f3951249437b000d013d28298bf3fa573c73545fc5bdb4eeb01f698c93f6ce9ab1844750 languageName: node linkType: hard -"wrangler@npm:^3.64.0": - version: 3.64.0 - resolution: "wrangler@npm:3.64.0" +"wrangler@npm:^3.65.0": + version: 3.65.0 + resolution: "wrangler@npm:3.65.0" dependencies: "@cloudflare/kv-asset-handler": "npm:0.3.4" "@esbuild-plugins/node-globals-polyfill": "npm:^0.2.3" @@ -3046,7 +3049,7 @@ __metadata: date-fns: "npm:^3.6.0" esbuild: "npm:0.17.19" fsevents: "npm:~2.3.2" - miniflare: "npm:3.20240701.0" + miniflare: "npm:3.20240712.0" nanoid: "npm:^3.3.3" path-to-regexp: "npm:^6.2.0" resolve: "npm:^1.22.8" @@ -3056,7 +3059,7 @@ __metadata: unenv: "npm:unenv-nightly@1.10.0-1717606461.a117952" xxhash-wasm: "npm:^1.0.1" peerDependencies: - "@cloudflare/workers-types": ^4.20240620.0 + "@cloudflare/workers-types": ^4.20240712.0 dependenciesMeta: fsevents: optional: true @@ -3066,7 +3069,7 @@ __metadata: bin: wrangler: bin/wrangler.js wrangler2: bin/wrangler.js - checksum: 10c0/0c93c26eee0f2e9ee748f5459e831f26549f1f385ad82159a41a18b0f3951249437b000d013d28298bf3fa573c73545fc5bdb4eeb01f698c93f6ce9ab1844750 + checksum: 10c0/f7e73f107a0cb2b27e17035b4d3b78ac86d953e90fde196d0149799d550c0f5714918beae53ef2506f142bba47eca801b14c26ea16bfa4289ba0b6d31f6d239d languageName: node linkType: hard @@ -3152,6 +3155,15 @@ __metadata: languageName: node linkType: hard +"yarn-upgrade-all@npm:^0.7.2": + version: 0.7.2 + resolution: "yarn-upgrade-all@npm:0.7.2" + bin: + yarn-upgrade-all: build/index.js + checksum: 10c0/9c004879f6f82dc2fca6a5a62553b408d6e4c863d0a038c68cc95175f12cf30aeb09bae8a7948c96dda4cfd9403916f73ccbb664513e6c1007e012e60e8f85a9 + languageName: node + linkType: hard + "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1"