Add admin dashboard and Replit authentication integration

Integrates Replit authentication using OpenID Connect, adds an admin dashboard route with video management and thumbnail upload capabilities, and updates dependencies.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 890577b1-c154-40a4-a177-a0c6d55320c3
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/890577b1-c154-40a4-a177-a0c6d55320c3/1jMBtLj
This commit is contained in:
sebastjanartic
2025-09-02 12:01:00 +00:00
parent 12df511504
commit c71720454f
12 changed files with 975 additions and 31 deletions
+24 -24
View File
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@google-cloud/storage": "^7.16.0",
"@google-cloud/storage": "^7.17.0",
"@google-cloud/video-intelligence": "^6.2.0",
"@hookform/resolvers": "^3.10.0",
"@jridgewell/trace-mapping": "^0.3.25",
@@ -49,7 +49,7 @@
"@types/node-fetch": "^2.6.13",
"@types/video.js": "^7.3.58",
"@uppy/aws-s3": "^4.3.2",
"@uppy/core": "^4.5.2",
"@uppy/core": "^4.5.3",
"@uppy/dashboard": "^4.4.3",
"@uppy/drag-drop": "^4.2.2",
"@uppy/file-input": "^4.2.2",
@@ -70,7 +70,7 @@
"express-session": "^1.18.2",
"face-api.js": "^0.22.2",
"framer-motion": "^11.13.1",
"google-auth-library": "^10.2.1",
"google-auth-library": "^10.3.0",
"hls.js": "^1.6.7",
"input-otp": "^1.4.2",
"lucide-react": "^0.453.0",
@@ -80,7 +80,7 @@
"next-themes": "^0.4.6",
"node-fetch": "^2.0.0",
"nodemon": "^3.1.10",
"openid-client": "^6.6.3",
"openid-client": "^6.7.1",
"passport": "^0.7.0",
"passport-local": "^1.0.0",
"react": "^18.3.1",
@@ -1380,9 +1380,9 @@
}
},
"node_modules/@google-cloud/storage": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-7.16.0.tgz",
"integrity": "sha512-7/5LRgykyOfQENcm6hDKP8SX/u9XxE5YOiWOkgkwcoO+cG8xT/cyOvp9wwN3IxfdYgpHs8CE7Nq2PKX2lNaEXw==",
"version": "7.17.0",
"resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-7.17.0.tgz",
"integrity": "sha512-5m9GoZqKh52a1UqkxDBu/+WVFDALNtHg5up5gNmNbXQWBcV813tzJKsyDtKjOPrlR1em1TxtD7NSPCrObH7koQ==",
"license": "Apache-2.0",
"dependencies": {
"@google-cloud/paginator": "^5.0.0",
@@ -4768,9 +4768,9 @@
}
},
"node_modules/@uppy/core": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/@uppy/core/-/core-4.5.2.tgz",
"integrity": "sha512-5XoPJNcqEXtxtw+vg8EyqUFe11JSbG3/aln83Y7+CLbs7WOovYdfwwKEt1aTbfg1+ijsxudLchya5yh72jaLqw==",
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/@uppy/core/-/core-4.5.3.tgz",
"integrity": "sha512-52VLeBUY/j904h48lpPGykuWikkOOS4Lz/qkmalDiBQfNALb6iB1MOZs079IM3o/uMLYxzZRL80C3sKpkBUYcw==",
"license": "MIT",
"dependencies": {
"@transloadit/prettier-bytes": "^0.3.4",
@@ -7994,9 +7994,9 @@
}
},
"node_modules/google-auth-library": {
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.2.1.tgz",
"integrity": "sha512-HMxFl2NfeHYnaL1HoRIN1XgorKS+6CDaM+z9LSSN+i/nKDDL4KFFEWogMXu7jV4HZQy2MsxpY+wA5XIf3w410A==",
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.3.0.tgz",
"integrity": "sha512-ylSE3RlCRZfZB56PFJSfUCuiuPq83Fx8hqu1KPWGK8FVdSaxlp/qkeMMX/DT/18xkwXIHvXEXkZsljRwfrdEfQ==",
"license": "Apache-2.0",
"dependencies": {
"base64-js": "^1.3.0",
@@ -8450,9 +8450,9 @@
}
},
"node_modules/jose": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/jose/-/jose-6.0.12.tgz",
"integrity": "sha512-T8xypXs8CpmiIi78k0E+Lk7T2zlK4zDyg+o1CZ4AkOHgDg98ogdP2BeZ61lTFKFyoEwJ9RgAgN+SdM3iPgNonQ==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jose/-/jose-6.1.0.tgz",
"integrity": "sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/panva"
@@ -9407,9 +9407,9 @@
}
},
"node_modules/oauth4webapi": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-3.6.2.tgz",
"integrity": "sha512-hwWLiyBYuqhVdcIUJMJVKdEvz+DCweOcbSfqDyIv9PuUwrNfqrzfHP2bypZgZdbYOS67QYqnAnvZa2BJwBBrHw==",
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-3.8.1.tgz",
"integrity": "sha512-olkZDELNycOWQf9LrsELFq8n05LwJgV8UkrS0cburk6FOwf8GvLam+YB+Uj5Qvryee+vwWOfQVeI5Vm0MVg7SA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/panva"
@@ -9482,13 +9482,13 @@
}
},
"node_modules/openid-client": {
"version": "6.6.3",
"resolved": "https://registry.npmjs.org/openid-client/-/openid-client-6.6.3.tgz",
"integrity": "sha512-sYYFJsyN21bjf/QepIU/t6w22tEUT+rYVPf1VZOSQwC+s1hAkyZpvAbFNLMrnrYMS/H74MctEHna2jPLvWbkCA==",
"version": "6.7.1",
"resolved": "https://registry.npmjs.org/openid-client/-/openid-client-6.7.1.tgz",
"integrity": "sha512-kOiE4q0kNogr90hXsxPrKeEDuY+V0kkZazvZScOwZkYept9slsaQ3usXTaKkm6I04vLNuw5caBoX7UfrwC6x8w==",
"license": "MIT",
"dependencies": {
"jose": "^6.0.12",
"oauth4webapi": "^3.6.1"
"jose": "^6.1.0",
"oauth4webapi": "^3.8.0"
},
"funding": {
"url": "https://github.com/sponsors/panva"