-
+
- {MeData?.me.nickname}
+ {data?.name}
-
- {MeData?.me.email || ""}
+
+ {data?.email || ""}
{/*
*/}
diff --git a/packages/canyon-platform/middleware.ts b/packages/canyon-platform/middleware.ts
new file mode 100644
index 00000000..8155fe04
--- /dev/null
+++ b/packages/canyon-platform/middleware.ts
@@ -0,0 +1 @@
+export { auth as middleware } from "@/auth";
diff --git a/packages/canyon-platform/package.json b/packages/canyon-platform/package.json
index 1008423e..3c606ace 100755
--- a/packages/canyon-platform/package.json
+++ b/packages/canyon-platform/package.json
@@ -25,16 +25,16 @@
"echarts-for-react": "^3.0.2",
"lucide-react": "^0.460.0",
"next": "15.0.3",
+ "next-auth": "5.0.0-beta.25",
+ "next-intl": "^3.25.3",
"prisma": "5.16.1",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"recharts": "^2.13.3",
"shiki": "^1.22.1",
- "swr": "^2.2.5",
- "next-intl": "^3.25.3"
+ "swr": "^2.2.5"
},
"devDependencies": {
- "tailwind-merge": "^2.5.5",
"@iconify/json": "^2.2.242",
"@iconify/tailwind": "^1.1.3",
"@types/node": "^20",
@@ -49,6 +49,7 @@
"postcss": "^8",
"swc-plugin-canyon": "2.0.0-beta.3",
"swc-plugin-coverage-instrument": "^0.0.25",
+ "tailwind-merge": "^2.5.5",
"tailwindcss": "^3.4.1",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5"
diff --git a/packages/canyon-platform/public/providers/github.svg b/packages/canyon-platform/public/providers/github.svg
new file mode 100644
index 00000000..6eeeace6
--- /dev/null
+++ b/packages/canyon-platform/public/providers/github.svg
@@ -0,0 +1 @@
+
diff --git a/packages/canyon-platform/public/providers/gitlab.svg b/packages/canyon-platform/public/providers/gitlab.svg
new file mode 100644
index 00000000..f5556c4b
--- /dev/null
+++ b/packages/canyon-platform/public/providers/gitlab.svg
@@ -0,0 +1 @@
+
diff --git a/packages/canyon-platform/public/providers/google.svg b/packages/canyon-platform/public/providers/google.svg
new file mode 100644
index 00000000..6f895153
--- /dev/null
+++ b/packages/canyon-platform/public/providers/google.svg
@@ -0,0 +1 @@
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 68f632d3..7706db8c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -22,7 +22,7 @@ importers:
version: 9.1.7
pnpm:
specifier: latest
- version: 9.14.4
+ version: 9.15.0
turbo:
specifier: latest
version: 2.3.3
@@ -226,6 +226,9 @@ importers:
next:
specifier: 15.0.3
version: 15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next-auth:
+ specifier: 5.0.0-beta.25
+ version: 5.0.0-beta.25(next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
next-intl:
specifier: ^3.25.3
version: 3.25.3(next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
@@ -468,10 +471,10 @@ importers:
version: 2.0.0(typescript@5.7.2)
vite:
specifier: latest
- version: 6.0.2(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)
+ version: 6.0.3(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)
vite-plugin-istanbul:
specifier: latest
- version: 6.0.2(vite@6.0.2(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1))
+ version: 6.0.2(vite@6.0.3(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1))
tools/canyon-sdk:
dependencies:
@@ -499,7 +502,7 @@ importers:
version: 1.7.40(@swc/helpers@0.5.15)
rolldown:
specifier: nightly
- version: 0.15.0-snapshot-22747a3-20241206003640(@babel/runtime@7.26.0)
+ version: 0.15.0-snapshot-de64ad9-20241209003633(@babel/runtime@7.26.0)
tools/canyon-uploader:
dependencies:
@@ -527,7 +530,7 @@ importers:
version: 1.7.40(@swc/helpers@0.5.15)
rolldown:
specifier: nightly
- version: 0.15.0-snapshot-22747a3-20241206003640(@babel/runtime@7.26.0)
+ version: 0.15.0-snapshot-de64ad9-20241209003633(@babel/runtime@7.26.0)
packages:
@@ -600,6 +603,20 @@ packages:
peerDependencies:
react: '>=16.9.0'
+ '@auth/core@0.37.2':
+ resolution: {integrity: sha512-kUvzyvkcd6h1vpeMAojK2y7+PAV5H+0Cc9+ZlKYDFhDY31AlvsB+GW5vNO4qE3Y07KeQgvNO9U0QUx/fN62kBw==}
+ peerDependencies:
+ '@simplewebauthn/browser': ^9.0.1
+ '@simplewebauthn/server': ^9.0.2
+ nodemailer: ^6.8.0
+ peerDependenciesMeta:
+ '@simplewebauthn/browser':
+ optional: true
+ '@simplewebauthn/server':
+ optional: true
+ nodemailer:
+ optional: true
+
'@babel/cli@7.25.9':
resolution: {integrity: sha512-I+02IfrTiSanpxJBlZQYb18qCxB6c2Ih371cVpfgIrPQrjAYkf45XxomTJOG8JBWX5GY35/+TmhCMdJ4ZPkL8Q==}
engines: {node: '>=6.9.0'}
@@ -1922,6 +1939,9 @@ packages:
engines: {node: '>=8.0.0', npm: '>=5.0.0'}
hasBin: true
+ '@panva/hkdf@1.2.1':
+ resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==}
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -2014,67 +2034,67 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@rolldown/binding-darwin-arm64@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-qQwxvtYrA0H8W/WeTVxCLuXqiQ6Ivfi6P5yOrSqjEdgkSTwn2hHxbGRoOULQ8c5Anb2eM+/h7PcBzdLXbm0+sg==}
+ '@rolldown/binding-darwin-arm64@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-NszzqLpq51ql/AlyRv0tyz+zKgUSl3NFM64nu4lrSC7kkoiApZE8xUIqybDGMt0gMrd/oSLpsKixyeJQH7BJ4w==}
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-x64@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-ZjR33I0GI5p0cvIzBGYJDiwDXoN6v+uu16ixZ0aN1CTFiVWy/OxOw7ZBxSJSv542C/FTCquYlQMNlio5gu8/yA==}
+ '@rolldown/binding-darwin-x64@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-+5x3M6UBS6vockC1pEpNwNEQv7BBytar7jvKo/hWgPV39x2AiszLRslNEX7N8Xovlo1ecpkVLmwfrUsvrfD+YA==}
cpu: [x64]
os: [darwin]
- '@rolldown/binding-freebsd-x64@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-qrcmSG61bmfSSSy2LACrrMutkQvS6guLvjEqavHZEAHHXAK41mA5SePqreToeiqKYNRZlHxim4EkyRxeDE4YQw==}
+ '@rolldown/binding-freebsd-x64@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-CZRqAXJghqB/CTJVoKrkS7rqS+Q+ZHR6J/g+IdJSLXYIewVUMDswwcBjucZ0cz+ol8UQKcj90Stq9uRUkS+iLA==}
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-linux-arm-gnueabihf@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-JhPLDKH3fw8oggOwUwDxzh3rIqk/qcOArTEMje213PDMehJdvVBPLYdzFlm3s6shge6lC8OZU6zqgzKPTJfoSA==}
+ '@rolldown/binding-linux-arm-gnueabihf@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-InnY0/csQrDkbcdHBhyv3NIfzwVXX2AN6n0yejcJdwTBwWk9SoBMyRlBVbbmaXHGaIuEOsvyUtSP7UnzebfPZQ==}
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm64-gnu@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-5B/VPjoXabZ8kWmdWjraYPkUYLxVPftSdiIrkGqQWgP5mQVUZaFrf09giw8NqxbJihdCcd1AiVRoNaYVsnLukw==}
+ '@rolldown/binding-linux-arm64-gnu@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-v+qWM02F8vL+6LRCbm2o69So+fx1+/7cn8HNTYnZPMft+GZWLydsIGhykF30BOEEdn3RCPbuKlaQJHUPBDunbw==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-arm64-musl@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-VoEjypm09HjJvSbcEB+ec7OfRMvHij2ECBerRBZcPr9Hhx6UY1noHFNsJIJj5yhtariXrpq2nVj9zBnNX5WbpQ==}
+ '@rolldown/binding-linux-arm64-musl@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-SdCRfgazwbHb9EIAX8ZLbGK586WS5lAmVpEM4gm10s29n85OX1aoFyPWD/diQ3zv7ul8XObIj5TUlbHMGYlWOw==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-x64-gnu@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-DKmGLiqKKuHa60aQgVPPMjhUXoFRe6gdzembpWDQ7HoGQlAv9fwI+qMldnmKMoiEf94VCGUDJLiqhMa0vpFCSQ==}
+ '@rolldown/binding-linux-x64-gnu@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-nUblcr19AlGdzPS8YC0OwPehANxWLQpqr3o0/OKTNBbPSj20io+CATauSz1bxTcd6ssMSYiRKsrsmrlE5TNjpA==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-musl@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-Kb0PxQVWj3sVjTpoYvHbUoREzAfQyqvLBZ2zXmWPW5ec8gFxayM+8OleYcbFXfTF/VBas+rzDXZ8havTsXopsA==}
+ '@rolldown/binding-linux-x64-musl@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-E7xu0hRMiyQVutgf/cNmKJTmn6vGyt8OtF/V4PlkqMlY5pZ/MLAdxqCOtGyzB6IHNdA9l3HAiVW89X07OxdrLw==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rolldown/binding-wasm32-wasi@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-3rBmdEEWPpVOFaOoE9csk3teZcfAiERmirN0h3Fi3hiIMtbegV8nwESoJOGMkcf0HFF0AxhTrBfEA876lDosBw==}
+ '@rolldown/binding-wasm32-wasi@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-sygxTVcrcBFII4nG7VCAXRIOGPd2n9YwW5EbDmeVJ068i0A/2/zjUw8c/Tj3RlyJFa8ZpjM9aoM+jsP/57ctSg==}
engines: {node: '>=14.21.3'}
cpu: [wasm32]
- '@rolldown/binding-win32-arm64-msvc@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-owuSEVERSW4SDFPJlq45oy0W0lY8+UFo7DOa3Jh9VnJGjz8LrwpiO0utDeNyxbyA/jcvkSjBWd7mdgs80hhcHg==}
+ '@rolldown/binding-win32-arm64-msvc@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-y2myoo/CNeA+urujbeLZ0ufhx6WjgxT8K2wEbVuuMhpgKxL/zciQAXP/Sm7Lb3uDjt69uyJpDy1jlJfW/NbnDg==}
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-ia32-msvc@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-/NetUp293hWlz2igozjpbsPOtq7ez5wwBIbqVup0BJjO0ME175aKRgpY1dWW7dg3PJbm9gBXz6++EwfGKPR4Yw==}
+ '@rolldown/binding-win32-ia32-msvc@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-OhdUa9F33CfJF12NksJBxN/3l/lgtszoJWiLWCrqUjMPZagQb8KJUOobZuHSRHGLwqOkEohRHsny1oV1sz37hg==}
cpu: [ia32]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@0.15.0-snapshot-22747a3-20241206003640':
- resolution: {integrity: sha512-CR2vjFeG4gx0/0gzkwxLnW6ghxzsPcHEylFDePpIRYZfQnNZSq10R7TghzkP/4POksyLEWeCzLblct+BqmI7Lw==}
+ '@rolldown/binding-win32-x64-msvc@0.15.0-snapshot-de64ad9-20241209003633':
+ resolution: {integrity: sha512-VJn1pgeaS4vFg444q/J79xiwkgmaaSjItl/V2EzeoRU1H2R6ag0V91pZ39YNKiZnDHCHbCLbxTB5ejKeyYNbbA==}
cpu: [x64]
os: [win32]
@@ -2522,6 +2542,9 @@ packages:
'@types/conventional-commits-parser@5.0.1':
resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==}
+ '@types/cookie@0.6.0':
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+
'@types/cookiejar@2.1.5':
resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==}
@@ -4882,6 +4905,9 @@ packages:
resolution: {integrity: sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g==}
hasBin: true
+ jose@5.9.6:
+ resolution: {integrity: sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==}
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -5322,6 +5348,22 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+ next-auth@5.0.0-beta.25:
+ resolution: {integrity: sha512-2dJJw1sHQl2qxCrRk+KTQbeH+izFbGFPuJj5eGgBZFYyiYYtvlrBeUw1E/OJJxTRjuxbSYGnCTkUIRsIIW0bog==}
+ peerDependencies:
+ '@simplewebauthn/browser': ^9.0.1
+ '@simplewebauthn/server': ^9.0.2
+ next: ^14.0.0-0 || ^15.0.0-0
+ nodemailer: ^6.6.5
+ react: ^18.2.0 || ^19.0.0-0
+ peerDependenciesMeta:
+ '@simplewebauthn/browser':
+ optional: true
+ '@simplewebauthn/server':
+ optional: true
+ nodemailer:
+ optional: true
+
next-intl@3.25.3:
resolution: {integrity: sha512-3VQ+OZdU9Z2enx5uWLYfmd/eb/gZN6QIfj59ROE/R+MTSD7ZAOPsGFnKqj5wwqm4EISGviYenkSuxypyYnhomA==}
peerDependencies:
@@ -5415,6 +5457,9 @@ packages:
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ oauth4webapi@3.1.4:
+ resolution: {integrity: sha512-eVfN3nZNbok2s/ROifO0UAc5G8nRoLSbrcKJ09OqmucgnhXEfdIQOR4gq1eJH1rN3gV7rNw62bDEgftsgFtBEg==}
+
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -5652,8 +5697,8 @@ packages:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
- pnpm@9.14.4:
- resolution: {integrity: sha512-yBgLP75OS8oCyUI0cXiWtVKXQKbLrfGfp4JUJwQD6i8n1OHUagig9WyJtj3I6/0+5TMm2nICc3lOYgD88NGEqw==}
+ pnpm@9.15.0:
+ resolution: {integrity: sha512-duI3l2CkMo7EQVgVvNZije5yevN3mqpMkU45RBVsQpmSGon5djge4QfUHxLPpLZmgcqccY8GaPoIMe1MbYulbA==}
engines: {node: '>=18.12'}
hasBin: true
@@ -5868,6 +5913,14 @@ packages:
resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
engines: {node: ^10 || ^12 || >=14}
+ preact-render-to-string@5.2.3:
+ resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==}
+ peerDependencies:
+ preact: '>=10'
+
+ preact@10.11.3:
+ resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==}
+
prebuild-install@7.1.2:
resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==}
engines: {node: '>=10'}
@@ -5894,6 +5947,9 @@ packages:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ pretty-format@3.8.0:
+ resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==}
+
prisma@5.16.1:
resolution: {integrity: sha512-Z1Uqodk44diztImxALgJJfNl2Uisl9xDRvqybMKEBYJLNKNhDfAHf+ZIJbZyYiBhLMbKU9cYGdDVG5IIXEnL2Q==}
engines: {node: '>=16.13'}
@@ -6366,8 +6422,8 @@ packages:
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rolldown@0.15.0-snapshot-22747a3-20241206003640:
- resolution: {integrity: sha512-jeeMxobtlNzBhch6VXHWh2o2Sjkkw6qwHlHWWwdrtTzc+Us12uqt5Nao4Tcz6pUbFg7AIgufPnD50n7DhN8c5w==}
+ rolldown@0.15.0-snapshot-de64ad9-20241209003633:
+ resolution: {integrity: sha512-q1dHKqM/lFgJKu0zQuy89FkBvoMJNLlsOngJedw9VOG6knxhoLiccgZjPLTs89JVF14afCf9epwMw1PBvZqrmw==}
hasBin: true
peerDependencies:
'@babel/runtime': '>=7'
@@ -7260,8 +7316,8 @@ packages:
peerDependencies:
vite: '>=4 <=6'
- vite@6.0.2:
- resolution: {integrity: sha512-XdQ+VsY2tJpBsKGs0wf3U/+azx8BBpYRHFAyKm5VeEZNOJZRB63q7Sc8Iup3k0TrN3KO6QgyzFf+opSbfY1y0g==}
+ vite@6.0.3:
+ resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
@@ -7580,6 +7636,16 @@ snapshots:
resize-observer-polyfill: 1.5.1
throttle-debounce: 5.0.2
+ '@auth/core@0.37.2':
+ dependencies:
+ '@panva/hkdf': 1.2.1
+ '@types/cookie': 0.6.0
+ cookie: 0.7.1
+ jose: 5.9.6
+ oauth4webapi: 3.1.4
+ preact: 10.11.3
+ preact-render-to-string: 5.2.3(preact@10.11.3)
+
'@babel/cli@7.25.9(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
@@ -8897,6 +8963,8 @@ snapshots:
transitivePeerDependencies:
- encoding
+ '@panva/hkdf@1.2.1': {}
+
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -9061,42 +9129,42 @@ snapshots:
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
- '@rolldown/binding-darwin-arm64@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-darwin-arm64@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-darwin-x64@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-darwin-x64@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-freebsd-x64@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-freebsd-x64@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-linux-arm-gnueabihf@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-linux-arm64-gnu@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-linux-arm64-gnu@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-linux-arm64-musl@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-linux-arm64-musl@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-linux-x64-gnu@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-linux-x64-gnu@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-linux-x64-musl@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-linux-x64-musl@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-wasm32-wasi@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-wasm32-wasi@0.15.0-snapshot-de64ad9-20241209003633':
dependencies:
'@napi-rs/wasm-runtime': 0.2.5
optional: true
- '@rolldown/binding-win32-arm64-msvc@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-win32-arm64-msvc@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-win32-ia32-msvc@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-win32-ia32-msvc@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
- '@rolldown/binding-win32-x64-msvc@0.15.0-snapshot-22747a3-20241206003640':
+ '@rolldown/binding-win32-x64-msvc@0.15.0-snapshot-de64ad9-20241209003633':
optional: true
'@rollup/plugin-alias@5.1.1(rollup@3.29.5)':
@@ -9481,6 +9549,8 @@ snapshots:
dependencies:
'@types/node': 20.17.9
+ '@types/cookie@0.6.0': {}
+
'@types/cookiejar@2.1.5': {}
'@types/d3-array@3.2.1': {}
@@ -11185,8 +11255,8 @@ snapshots:
'@typescript-eslint/parser': 8.16.0(eslint@8.57.1)(typescript@5.7.2)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1)
@@ -11209,37 +11279,37 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1):
+ eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.3.7
enhanced-resolve: 5.17.1
eslint: 8.57.1
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
fast-glob: 3.3.2
get-tsconfig: 4.8.1
is-bun-module: 1.3.0
is-glob: 4.0.3
optionalDependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.16.0(eslint@8.57.1)(typescript@5.7.2)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -11250,7 +11320,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -12587,6 +12657,8 @@ snapshots:
jiti@2.4.0: {}
+ jose@5.9.6: {}
+
js-tokens@4.0.0: {}
js-yaml@3.14.1:
@@ -12997,6 +13069,12 @@ snapshots:
neo-async@2.6.2: {}
+ next-auth@5.0.0-beta.25(next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0):
+ dependencies:
+ '@auth/core': 0.37.2
+ next: 15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+
next-intl@3.25.3(next@15.0.3(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0):
dependencies:
'@formatjs/intl-localematcher': 0.5.8
@@ -13101,6 +13179,8 @@ snapshots:
dependencies:
boolbase: 1.0.0
+ oauth4webapi@3.1.4: {}
+
object-assign@4.1.1: {}
object-hash@3.0.0: {}
@@ -13319,7 +13399,7 @@ snapshots:
pluralize@8.0.0: {}
- pnpm@9.14.4: {}
+ pnpm@9.15.0: {}
possible-typed-array-names@1.0.0: {}
@@ -13516,6 +13596,13 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ preact-render-to-string@5.2.3(preact@10.11.3):
+ dependencies:
+ preact: 10.11.3
+ pretty-format: 3.8.0
+
+ preact@10.11.3: {}
+
prebuild-install@7.1.2:
dependencies:
detect-libc: 2.0.3
@@ -13547,6 +13634,8 @@ snapshots:
ansi-styles: 5.2.0
react-is: 18.3.1
+ pretty-format@3.8.0: {}
+
prisma@5.16.1:
dependencies:
'@prisma/engines': 5.16.1
@@ -14438,23 +14527,23 @@ snapshots:
dependencies:
glob: 7.2.3
- rolldown@0.15.0-snapshot-22747a3-20241206003640(@babel/runtime@7.26.0):
+ rolldown@0.15.0-snapshot-de64ad9-20241209003633(@babel/runtime@7.26.0):
dependencies:
zod: 3.23.8
optionalDependencies:
'@babel/runtime': 7.26.0
- '@rolldown/binding-darwin-arm64': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-darwin-x64': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-freebsd-x64': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-linux-arm-gnueabihf': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-linux-arm64-gnu': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-linux-arm64-musl': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-linux-x64-gnu': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-linux-x64-musl': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-wasm32-wasi': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-win32-arm64-msvc': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-win32-ia32-msvc': 0.15.0-snapshot-22747a3-20241206003640
- '@rolldown/binding-win32-x64-msvc': 0.15.0-snapshot-22747a3-20241206003640
+ '@rolldown/binding-darwin-arm64': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-darwin-x64': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-freebsd-x64': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-linux-arm-gnueabihf': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-linux-arm64-gnu': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-linux-arm64-musl': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-linux-x64-gnu': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-linux-x64-musl': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-wasm32-wasi': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-win32-arm64-msvc': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-win32-ia32-msvc': 0.15.0-snapshot-de64ad9-20241209003633
+ '@rolldown/binding-win32-x64-msvc': 0.15.0-snapshot-de64ad9-20241209003633
rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.7.2):
dependencies:
@@ -15462,7 +15551,7 @@ snapshots:
d3-time: 3.1.0
d3-timer: 3.0.1
- vite-plugin-istanbul@6.0.2(vite@6.0.2(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)):
+ vite-plugin-istanbul@6.0.2(vite@6.0.3(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)):
dependencies:
'@istanbuljs/load-nyc-config': 1.1.0
espree: 10.3.0
@@ -15470,11 +15559,11 @@ snapshots:
picocolors: 1.1.1
source-map: 0.7.4
test-exclude: 6.0.0
- vite: 6.0.2(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)
+ vite: 6.0.3(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)
transitivePeerDependencies:
- supports-color
- vite@6.0.2(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1):
+ vite@6.0.3(@types/node@20.17.9)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1):
dependencies:
esbuild: 0.24.0
postcss: 8.4.49
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index 92f9db76..4daf288d 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -10,6 +10,21 @@ datasource db {
url = env("DATABASE_URL") // uses connection pooling
}
+model User {
+ id String @id
+ username String
+ password String
+ nickname String
+ avatar String
+ refreshToken String @map("refresh_token")
+ accessToken String @map("access_token")
+ email String
+ favor String
+ createdAt DateTime @default(now()) @map("created_at") @db.Timestamp(3)
+
+ @@map("canyon_v3_user")
+}
+
model Coverage {
id String @id @default(cuid())
sha String