mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Add picture and email verified columns to the user, migrations, fixing OAuth with Google, creating types for OAuth
This commit is contained in:
parent
cb271d377e
commit
3aa1c77947
12 changed files with 2037 additions and 116 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
import 'dotenv/config'
|
import 'dotenv/config'
|
||||||
import env from '$lib/server/api/common/env'
|
import env from './src/lib/server/api/common/env'
|
||||||
import { defineConfig } from 'drizzle-kit'
|
import { defineConfig } from 'drizzle-kit'
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
|
|
||||||
12
package.json
12
package.json
|
|
@ -27,7 +27,7 @@
|
||||||
"@faker-js/faker": "^8.4.1",
|
"@faker-js/faker": "^8.4.1",
|
||||||
"@melt-ui/pp": "^0.3.2",
|
"@melt-ui/pp": "^0.3.2",
|
||||||
"@melt-ui/svelte": "^0.83.0",
|
"@melt-ui/svelte": "^0.83.0",
|
||||||
"@playwright/test": "^1.47.1",
|
"@playwright/test": "^1.47.2",
|
||||||
"@sveltejs/adapter-auto": "^3.2.5",
|
"@sveltejs/adapter-auto": "^3.2.5",
|
||||||
"@sveltejs/enhanced-img": "^0.3.8",
|
"@sveltejs/enhanced-img": "^0.3.8",
|
||||||
"@sveltejs/kit": "^2.5.28",
|
"@sveltejs/kit": "^2.5.28",
|
||||||
|
|
@ -64,13 +64,13 @@
|
||||||
"svelte-sequential-preprocessor": "^2.0.1",
|
"svelte-sequential-preprocessor": "^2.0.1",
|
||||||
"sveltekit-flash-message": "^2.4.4",
|
"sveltekit-flash-message": "^2.4.4",
|
||||||
"sveltekit-rate-limiter": "^0.5.2",
|
"sveltekit-rate-limiter": "^0.5.2",
|
||||||
"sveltekit-superforms": "^2.18.1",
|
"sveltekit-superforms": "^2.19.0",
|
||||||
"tailwindcss": "^3.4.12",
|
"tailwindcss": "^3.4.12",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"tslib": "^2.7.0",
|
"tslib": "^2.7.0",
|
||||||
"tsx": "^4.19.1",
|
"tsx": "^4.19.1",
|
||||||
"typescript": "^5.6.2",
|
"typescript": "^5.6.2",
|
||||||
"vite": "^5.4.6",
|
"vite": "^5.4.7",
|
||||||
"vitest": "^1.6.0",
|
"vitest": "^1.6.0",
|
||||||
"zod": "^3.23.8"
|
"zod": "^3.23.8"
|
||||||
},
|
},
|
||||||
|
|
@ -88,13 +88,13 @@
|
||||||
"@neondatabase/serverless": "^0.9.5",
|
"@neondatabase/serverless": "^0.9.5",
|
||||||
"@paralleldrive/cuid2": "^2.2.2",
|
"@paralleldrive/cuid2": "^2.2.2",
|
||||||
"@resvg/resvg-js": "^2.6.2",
|
"@resvg/resvg-js": "^2.6.2",
|
||||||
"@sveltejs/adapter-node": "^5.2.3",
|
"@sveltejs/adapter-node": "^5.2.4",
|
||||||
"@sveltejs/adapter-vercel": "^5.4.4",
|
"@sveltejs/adapter-vercel": "^5.4.4",
|
||||||
"@types/feather-icons": "^4.29.4",
|
"@types/feather-icons": "^4.29.4",
|
||||||
"@vercel/og": "^0.5.20",
|
"@vercel/og": "^0.5.20",
|
||||||
"bits-ui": "^0.21.13",
|
"bits-ui": "^0.21.15",
|
||||||
"boardgamegeekclient": "^1.9.1",
|
"boardgamegeekclient": "^1.9.1",
|
||||||
"bullmq": "^5.13.1",
|
"bullmq": "^5.13.2",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cookie": "^0.6.0",
|
"cookie": "^0.6.0",
|
||||||
|
|
|
||||||
174
pnpm-lock.yaml
174
pnpm-lock.yaml
|
|
@ -45,11 +45,11 @@ importers:
|
||||||
specifier: ^2.6.2
|
specifier: ^2.6.2
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
'@sveltejs/adapter-node':
|
'@sveltejs/adapter-node':
|
||||||
specifier: ^5.2.3
|
specifier: ^5.2.4
|
||||||
version: 5.2.3(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))
|
version: 5.2.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))
|
||||||
'@sveltejs/adapter-vercel':
|
'@sveltejs/adapter-vercel':
|
||||||
specifier: ^5.4.4
|
specifier: ^5.4.4
|
||||||
version: 5.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))
|
version: 5.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))
|
||||||
'@types/feather-icons':
|
'@types/feather-icons':
|
||||||
specifier: ^4.29.4
|
specifier: ^4.29.4
|
||||||
version: 4.29.4
|
version: 4.29.4
|
||||||
|
|
@ -57,14 +57,14 @@ importers:
|
||||||
specifier: ^0.5.20
|
specifier: ^0.5.20
|
||||||
version: 0.5.20
|
version: 0.5.20
|
||||||
bits-ui:
|
bits-ui:
|
||||||
specifier: ^0.21.13
|
specifier: ^0.21.15
|
||||||
version: 0.21.13(svelte@5.0.0-next.175)
|
version: 0.21.15(svelte@5.0.0-next.175)
|
||||||
boardgamegeekclient:
|
boardgamegeekclient:
|
||||||
specifier: ^1.9.1
|
specifier: ^1.9.1
|
||||||
version: 1.9.1
|
version: 1.9.1
|
||||||
bullmq:
|
bullmq:
|
||||||
specifier: ^5.13.1
|
specifier: ^5.13.2
|
||||||
version: 5.13.1
|
version: 5.13.2
|
||||||
class-variance-authority:
|
class-variance-authority:
|
||||||
specifier: ^0.7.0
|
specifier: ^0.7.0
|
||||||
version: 0.7.0
|
version: 0.7.0
|
||||||
|
|
@ -91,7 +91,7 @@ importers:
|
||||||
version: 4.29.2
|
version: 4.29.2
|
||||||
formsnap:
|
formsnap:
|
||||||
specifier: ^1.0.1
|
specifier: ^1.0.1
|
||||||
version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.18.1(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175))
|
version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.19.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175))
|
||||||
handlebars:
|
handlebars:
|
||||||
specifier: ^4.7.8
|
specifier: ^4.7.8
|
||||||
version: 4.7.8
|
version: 4.7.8
|
||||||
|
|
@ -181,20 +181,20 @@ importers:
|
||||||
specifier: ^0.83.0
|
specifier: ^0.83.0
|
||||||
version: 0.83.0(svelte@5.0.0-next.175)
|
version: 0.83.0(svelte@5.0.0-next.175)
|
||||||
'@playwright/test':
|
'@playwright/test':
|
||||||
specifier: ^1.47.1
|
specifier: ^1.47.2
|
||||||
version: 1.47.1
|
version: 1.47.2
|
||||||
'@sveltejs/adapter-auto':
|
'@sveltejs/adapter-auto':
|
||||||
specifier: ^3.2.5
|
specifier: ^3.2.5
|
||||||
version: 3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))
|
version: 3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))
|
||||||
'@sveltejs/enhanced-img':
|
'@sveltejs/enhanced-img':
|
||||||
specifier: ^0.3.8
|
specifier: ^0.3.8
|
||||||
version: 0.3.8(rollup@4.21.2)(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
version: 0.3.8(rollup@4.21.2)(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
'@sveltejs/kit':
|
'@sveltejs/kit':
|
||||||
specifier: ^2.5.28
|
specifier: ^2.5.28
|
||||||
version: 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
version: 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
'@sveltejs/vite-plugin-svelte':
|
'@sveltejs/vite-plugin-svelte':
|
||||||
specifier: ^3.1.2
|
specifier: ^3.1.2
|
||||||
version: 3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
version: 3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
'@types/cookie':
|
'@types/cookie':
|
||||||
specifier: ^0.6.0
|
specifier: ^0.6.0
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
|
|
@ -287,13 +287,13 @@ importers:
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
sveltekit-flash-message:
|
sveltekit-flash-message:
|
||||||
specifier: ^2.4.4
|
specifier: ^2.4.4
|
||||||
version: 2.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)
|
version: 2.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)
|
||||||
sveltekit-rate-limiter:
|
sveltekit-rate-limiter:
|
||||||
specifier: ^0.5.2
|
specifier: ^0.5.2
|
||||||
version: 0.5.2(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))
|
version: 0.5.2(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))
|
||||||
sveltekit-superforms:
|
sveltekit-superforms:
|
||||||
specifier: ^2.18.1
|
specifier: ^2.19.0
|
||||||
version: 2.18.1(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)
|
version: 2.19.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)
|
||||||
tailwindcss:
|
tailwindcss:
|
||||||
specifier: ^3.4.12
|
specifier: ^3.4.12
|
||||||
version: 3.4.12(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2))
|
version: 3.4.12(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.6.2))
|
||||||
|
|
@ -310,8 +310,8 @@ importers:
|
||||||
specifier: ^5.6.2
|
specifier: ^5.6.2
|
||||||
version: 5.6.2
|
version: 5.6.2
|
||||||
vite:
|
vite:
|
||||||
specifier: ^5.4.6
|
specifier: ^5.4.7
|
||||||
version: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
version: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^1.6.0
|
specifier: ^1.6.0
|
||||||
version: 1.6.0(@types/node@20.16.5)(sass@1.79.1)
|
version: 1.6.0(@types/node@20.16.5)(sass@1.79.1)
|
||||||
|
|
@ -329,11 +329,11 @@ packages:
|
||||||
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
|
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
|
|
||||||
'@ark/schema@0.2.0':
|
'@ark/schema@0.10.0':
|
||||||
resolution: {integrity: sha512-IkNWCSHdjaoemMXpps4uFHEAQzwJPbTAS8K2vcQpk90sa+eNBuPSVyB/81/Qyl1VYW0iX3ceGC5NL/OznQv1jg==}
|
resolution: {integrity: sha512-zpfXwWLOzj9aUK+dXQ6aleJAOgle4/WrHDop5CMX2M88dFQ85NdH8O0v0pvMAQnfFcaQAZ/nVDYLlBJsFc09XA==}
|
||||||
|
|
||||||
'@ark/util@0.1.0':
|
'@ark/util@0.10.0':
|
||||||
resolution: {integrity: sha512-qCLYICQoCy3kEKDVwirQp8qvxhY7NJd8BhhoHaj1l3wCFAk9NUbcDsxAkPStZEMdPI/d7NcbGJe8SWZuRG2twQ==}
|
resolution: {integrity: sha512-uK+9VU5doGMYOoOZVE+XaSs1vYACoaEJdrDkuBx26S4X7y3ChyKsPnIg/9pIw2vUySph1GkAXbvBnfVE2GmXgQ==}
|
||||||
|
|
||||||
'@asteasolutions/zod-to-openapi@7.1.1':
|
'@asteasolutions/zod-to-openapi@7.1.1':
|
||||||
resolution: {integrity: sha512-lF0d1gAc0lYLO9/BAGivwTwE2Sh9h6CHuDcbk5KnGBfIuAsAkDC+Fdat4dkQY3CS/zUWKHRmFEma0B7X132Ymw==}
|
resolution: {integrity: sha512-lF0d1gAc0lYLO9/BAGivwTwE2Sh9h6CHuDcbk5KnGBfIuAsAkDC+Fdat4dkQY3CS/zUWKHRmFEma0B7X132Ymw==}
|
||||||
|
|
@ -1706,8 +1706,8 @@ packages:
|
||||||
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
'@playwright/test@1.47.1':
|
'@playwright/test@1.47.2':
|
||||||
resolution: {integrity: sha512-dbWpcNQZ5nj16m+A5UNScYx7HX5trIy7g4phrcitn+Nk83S32EBX/CLU4hiF4RGKX/yRc93AAqtfaXB7JWBd4Q==}
|
resolution: {integrity: sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
|
@ -1946,8 +1946,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': ^2.0.0
|
'@sveltejs/kit': ^2.0.0
|
||||||
|
|
||||||
'@sveltejs/adapter-node@5.2.3':
|
'@sveltejs/adapter-node@5.2.4':
|
||||||
resolution: {integrity: sha512-0KNrTc9NiEhB1vyVL0HiqZaW2P5JWNJgTYT5PnUZCLO9Oydx8G+6PNtJPJ/NNPyeGrn+6LwR5L8GNRvA4b5Bpw==}
|
resolution: {integrity: sha512-L9Kngx1ce2SMCbyGBbRaJovl5lzdwH650SzOa50txAAssMfWLj2f8yPsA2eCX8EhT6AxD4RHLNrVa5W8VUYz8w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': ^2.4.0
|
'@sveltejs/kit': ^2.4.0
|
||||||
|
|
||||||
|
|
@ -2231,8 +2231,8 @@ packages:
|
||||||
aria-query@5.3.0:
|
aria-query@5.3.0:
|
||||||
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
|
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
|
||||||
|
|
||||||
arktype@2.0.0-beta.0:
|
arktype@2.0.0-rc.8:
|
||||||
resolution: {integrity: sha512-fE3ssMiXjr/bLqFPzlDhRlXngdyHQreu7p7i8+dtcY1CA+f8WrVUcue6JxywhnqEJXPG4HOcIwQcC+q4VfeUMQ==}
|
resolution: {integrity: sha512-ByrqjptsavUCUL9ptts6BUL2LCNkVZyniOdaBw76dlBQ6gYIhYSeycuuj4gRFwcAafszOnAPD2fAqHK7bbo/Zw==}
|
||||||
|
|
||||||
array-flatten@1.1.1:
|
array-flatten@1.1.1:
|
||||||
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
||||||
|
|
@ -2272,8 +2272,8 @@ packages:
|
||||||
bindings@1.5.0:
|
bindings@1.5.0:
|
||||||
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
||||||
|
|
||||||
bits-ui@0.21.13:
|
bits-ui@0.21.15:
|
||||||
resolution: {integrity: sha512-7nmOh6Ig7ND4DXZHv1FhNsY9yUGrad0+mf3tc4YN//3MgnJT1LnHtk4HZAKgmxCOe7txSX7/39LtYHbkrXokAQ==}
|
resolution: {integrity: sha512-+m5WSpJnFdCcNdXSTIVC1WYBozipO03qRh03GFWgrdxoHiolCfwW71EYG4LPCWYPG6KcTZV0Cj6iHSiZ7cdKdg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^4.0.0 || ^5.0.0-next.118
|
svelte: ^4.0.0 || ^5.0.0-next.118
|
||||||
|
|
||||||
|
|
@ -2311,8 +2311,8 @@ packages:
|
||||||
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
|
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
bullmq@5.13.1:
|
bullmq@5.13.2:
|
||||||
resolution: {integrity: sha512-9Ss2GzV+VVA2Q/+qUxQ7zxAwfLWBwc7DIUNboq0EdXGRf2Ia+Qi7BwT51rnxglu4b/0SRsSElevRT8IZc7HvtQ==}
|
resolution: {integrity: sha512-McGE8k3mrCvdUHdU0sHkTKDS1xr4pff+hbEKBY51wk5S6Za0gkuejYA620VQTo3Zz37E/NVWMgumwiXPQ3yZcA==}
|
||||||
|
|
||||||
bytes@3.1.2:
|
bytes@3.1.2:
|
||||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||||
|
|
@ -3702,13 +3702,13 @@ packages:
|
||||||
pkg-types@1.2.0:
|
pkg-types@1.2.0:
|
||||||
resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
|
resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
|
||||||
|
|
||||||
playwright-core@1.47.1:
|
playwright-core@1.47.2:
|
||||||
resolution: {integrity: sha512-i1iyJdLftqtt51mEk6AhYFaAJCDx0xQ/O5NU8EKaWFgMjItPVma542Nh/Aq8aLCjIJSzjaiEQGW/nyqLkGF1OQ==}
|
resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
playwright@1.47.1:
|
playwright@1.47.2:
|
||||||
resolution: {integrity: sha512-SUEKi6947IqYbKxRiqnbUobVZY4bF1uu+ZnZNJX9DfU1tlf2UhWfvVjLf01pQx9URsOr18bFVUKXmanYWhbfkw==}
|
resolution: {integrity: sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
|
@ -4490,8 +4490,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': 1.x || 2.x
|
'@sveltejs/kit': 1.x || 2.x
|
||||||
|
|
||||||
sveltekit-superforms@2.18.1:
|
sveltekit-superforms@2.19.0:
|
||||||
resolution: {integrity: sha512-bdWXlWfvG0AauTj8KGZ00dZGix4jxzGM5ywXFZuodJjwGyEpnfNbui4n1KX5KdIqsVoTU1cKrxt0gZnuJivJsw==}
|
resolution: {integrity: sha512-WJmdYf8WpuDkl6zxdRP72R+wDefx1OhIQYKdsIQqNkFntNq0/BUrkMdUr1i7d/FbX0gS1A9GRflCx3WiYQlAXg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': 1.x || 2.x
|
'@sveltejs/kit': 1.x || 2.x
|
||||||
svelte: 3.x || 4.x || >=5.0.0-next.51
|
svelte: 3.x || 4.x || >=5.0.0-next.51
|
||||||
|
|
@ -4716,8 +4716,8 @@ packages:
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
vite@5.4.6:
|
vite@5.4.7:
|
||||||
resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==}
|
resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -4889,12 +4889,12 @@ snapshots:
|
||||||
'@jridgewell/gen-mapping': 0.3.5
|
'@jridgewell/gen-mapping': 0.3.5
|
||||||
'@jridgewell/trace-mapping': 0.3.25
|
'@jridgewell/trace-mapping': 0.3.25
|
||||||
|
|
||||||
'@ark/schema@0.2.0':
|
'@ark/schema@0.10.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ark/util': 0.1.0
|
'@ark/util': 0.10.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@ark/util@0.1.0':
|
'@ark/util@0.10.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@asteasolutions/zod-to-openapi@7.1.1(zod@3.23.8)':
|
'@asteasolutions/zod-to-openapi@7.1.1(zod@3.23.8)':
|
||||||
|
|
@ -5925,9 +5925,9 @@ snapshots:
|
||||||
'@pkgjs/parseargs@0.11.0':
|
'@pkgjs/parseargs@0.11.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@playwright/test@1.47.1':
|
'@playwright/test@1.47.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
playwright: 1.47.1
|
playwright: 1.47.2
|
||||||
|
|
||||||
'@polka/url@1.0.0-next.25': {}
|
'@polka/url@1.0.0-next.25': {}
|
||||||
|
|
||||||
|
|
@ -6100,41 +6100,41 @@ snapshots:
|
||||||
'@sodaru/yup-to-json-schema@2.0.1':
|
'@sodaru/yup-to-json-schema@2.0.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@sveltejs/adapter-auto@3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))':
|
'@sveltejs/adapter-auto@3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
import-meta-resolve: 4.1.0
|
import-meta-resolve: 4.1.0
|
||||||
|
|
||||||
'@sveltejs/adapter-node@5.2.3(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))':
|
'@sveltejs/adapter-node@5.2.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/plugin-commonjs': 26.0.1(rollup@4.21.2)
|
'@rollup/plugin-commonjs': 26.0.1(rollup@4.21.2)
|
||||||
'@rollup/plugin-json': 6.1.0(rollup@4.21.2)
|
'@rollup/plugin-json': 6.1.0(rollup@4.21.2)
|
||||||
'@rollup/plugin-node-resolve': 15.2.3(rollup@4.21.2)
|
'@rollup/plugin-node-resolve': 15.2.3(rollup@4.21.2)
|
||||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
rollup: 4.21.2
|
rollup: 4.21.2
|
||||||
|
|
||||||
'@sveltejs/adapter-vercel@5.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))':
|
'@sveltejs/adapter-vercel@5.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
'@vercel/nft': 0.27.4
|
'@vercel/nft': 0.27.4
|
||||||
esbuild: 0.21.5
|
esbuild: 0.21.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/enhanced-img@0.3.8(rollup@4.21.2)(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))':
|
'@sveltejs/enhanced-img@0.3.8(rollup@4.21.2)(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
magic-string: 0.30.11
|
magic-string: 0.30.11
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
svelte-parse-markup: 0.1.5(svelte@5.0.0-next.175)
|
svelte-parse-markup: 0.1.5(svelte@5.0.0-next.175)
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
vite-imagetools: 7.0.4(rollup@4.21.2)
|
vite-imagetools: 7.0.4(rollup@4.21.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
|
|
||||||
'@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))':
|
'@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
'@types/cookie': 0.6.0
|
'@types/cookie': 0.6.0
|
||||||
cookie: 0.6.0
|
cookie: 0.6.0
|
||||||
devalue: 5.0.0
|
devalue: 5.0.0
|
||||||
|
|
@ -6148,28 +6148,28 @@ snapshots:
|
||||||
sirv: 2.0.4
|
sirv: 2.0.4
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
|
|
||||||
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))':
|
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))':
|
'@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
deepmerge: 4.3.1
|
deepmerge: 4.3.1
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.30.11
|
magic-string: 0.30.11
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
svelte-hmr: 0.16.0(svelte@5.0.0-next.175)
|
svelte-hmr: 0.16.0(svelte@5.0.0-next.175)
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
vitefu: 0.2.5(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
vitefu: 0.2.5(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
|
@ -6465,10 +6465,10 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
dequal: 2.0.3
|
dequal: 2.0.3
|
||||||
|
|
||||||
arktype@2.0.0-beta.0:
|
arktype@2.0.0-rc.8:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ark/schema': 0.2.0
|
'@ark/schema': 0.10.0
|
||||||
'@ark/util': 0.1.0
|
'@ark/util': 0.10.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
array-flatten@1.1.1: {}
|
array-flatten@1.1.1: {}
|
||||||
|
|
@ -6501,7 +6501,7 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
file-uri-to-path: 1.0.0
|
file-uri-to-path: 1.0.0
|
||||||
|
|
||||||
bits-ui@0.21.13(svelte@5.0.0-next.175):
|
bits-ui@0.21.15(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@internationalized/date': 3.5.5
|
'@internationalized/date': 3.5.5
|
||||||
'@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175)
|
'@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175)
|
||||||
|
|
@ -6559,7 +6559,7 @@ snapshots:
|
||||||
|
|
||||||
builtin-modules@3.3.0: {}
|
builtin-modules@3.3.0: {}
|
||||||
|
|
||||||
bullmq@5.13.1:
|
bullmq@5.13.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
cron-parser: 4.9.0
|
cron-parser: 4.9.0
|
||||||
ioredis: 5.4.1
|
ioredis: 5.4.1
|
||||||
|
|
@ -7233,11 +7233,11 @@ snapshots:
|
||||||
cross-spawn: 7.0.3
|
cross-spawn: 7.0.3
|
||||||
signal-exit: 4.1.0
|
signal-exit: 4.1.0
|
||||||
|
|
||||||
formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.18.1(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)):
|
formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.19.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)):
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: 5.0.7
|
nanoid: 5.0.7
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
sveltekit-superforms: 2.18.1(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)
|
sveltekit-superforms: 2.19.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)
|
||||||
|
|
||||||
forwarded@0.2.0: {}
|
forwarded@0.2.0: {}
|
||||||
|
|
||||||
|
|
@ -7953,11 +7953,11 @@ snapshots:
|
||||||
mlly: 1.7.1
|
mlly: 1.7.1
|
||||||
pathe: 1.1.2
|
pathe: 1.1.2
|
||||||
|
|
||||||
playwright-core@1.47.1: {}
|
playwright-core@1.47.2: {}
|
||||||
|
|
||||||
playwright@1.47.1:
|
playwright@1.47.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
playwright-core: 1.47.1
|
playwright-core: 1.47.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
|
|
||||||
|
|
@ -8790,19 +8790,19 @@ snapshots:
|
||||||
magic-string: 0.30.11
|
magic-string: 0.30.11
|
||||||
zimmerframe: 1.1.2
|
zimmerframe: 1.1.2
|
||||||
|
|
||||||
sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175):
|
sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
||||||
sveltekit-rate-limiter@0.5.2(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))):
|
sveltekit-rate-limiter@0.5.2(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@isaacs/ttlcache': 1.4.1
|
'@isaacs/ttlcache': 1.4.1
|
||||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
|
|
||||||
sveltekit-superforms@2.18.1(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175):
|
sveltekit-superforms@2.19.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1))
|
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)))(svelte@5.0.0-next.175)(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1))
|
||||||
devalue: 5.0.0
|
devalue: 5.0.0
|
||||||
just-clone: 6.2.0
|
just-clone: 6.2.0
|
||||||
memoize-weak: 1.0.2
|
memoize-weak: 1.0.2
|
||||||
|
|
@ -8815,7 +8815,7 @@ snapshots:
|
||||||
'@sodaru/yup-to-json-schema': 2.0.1
|
'@sodaru/yup-to-json-schema': 2.0.1
|
||||||
'@typeschema/class-validator': 0.2.0(@types/json-schema@7.0.15)(class-validator@0.14.1)
|
'@typeschema/class-validator': 0.2.0(@types/json-schema@7.0.15)(class-validator@0.14.1)
|
||||||
'@vinejs/vine': 1.8.0
|
'@vinejs/vine': 1.8.0
|
||||||
arktype: 2.0.0-beta.0
|
arktype: 2.0.0-rc.8
|
||||||
class-validator: 0.14.1
|
class-validator: 0.14.1
|
||||||
joi: 17.13.3
|
joi: 17.13.3
|
||||||
json-schema-to-ts: 3.1.1
|
json-schema-to-ts: 3.1.1
|
||||||
|
|
@ -9043,7 +9043,7 @@ snapshots:
|
||||||
debug: 4.3.6
|
debug: 4.3.6
|
||||||
pathe: 1.1.2
|
pathe: 1.1.2
|
||||||
picocolors: 1.1.0
|
picocolors: 1.1.0
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@types/node'
|
- '@types/node'
|
||||||
- less
|
- less
|
||||||
|
|
@ -9055,7 +9055,7 @@ snapshots:
|
||||||
- supports-color
|
- supports-color
|
||||||
- terser
|
- terser
|
||||||
|
|
||||||
vite@5.4.6(@types/node@20.16.5)(sass@1.79.1):
|
vite@5.4.7(@types/node@20.16.5)(sass@1.79.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.21.5
|
esbuild: 0.21.5
|
||||||
postcss: 8.4.47
|
postcss: 8.4.47
|
||||||
|
|
@ -9065,9 +9065,9 @@ snapshots:
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
sass: 1.79.1
|
sass: 1.79.1
|
||||||
|
|
||||||
vitefu@0.2.5(vite@5.4.6(@types/node@20.16.5)(sass@1.79.1)):
|
vitefu@0.2.5(vite@5.4.7(@types/node@20.16.5)(sass@1.79.1)):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
|
|
||||||
vitest@1.6.0(@types/node@20.16.5)(sass@1.79.1):
|
vitest@1.6.0(@types/node@20.16.5)(sass@1.79.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -9088,7 +9088,7 @@ snapshots:
|
||||||
strip-literal: 2.1.0
|
strip-literal: 2.1.0
|
||||||
tinybench: 2.9.0
|
tinybench: 2.9.0
|
||||||
tinypool: 0.8.4
|
tinypool: 0.8.4
|
||||||
vite: 5.4.6(@types/node@20.16.5)(sass@1.79.1)
|
vite: 5.4.7(@types/node@20.16.5)(sass@1.79.1)
|
||||||
vite-node: 1.6.0(@types/node@20.16.5)(sass@1.79.1)
|
vite-node: 1.6.0(@types/node@20.16.5)(sass@1.79.1)
|
||||||
why-is-node-running: 2.3.0
|
why-is-node-running: 2.3.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
|
|
||||||
9
src/lib/server/api/common/types/oauth-user.ts
Normal file
9
src/lib/server/api/common/types/oauth-user.ts
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
export type OAuthUser = {
|
||||||
|
sub: string;
|
||||||
|
given_name?: string;
|
||||||
|
family_name?: string;
|
||||||
|
picture?: string;
|
||||||
|
username: string;
|
||||||
|
email?: string;
|
||||||
|
email_verified?: boolean;
|
||||||
|
}
|
||||||
|
|
@ -7,6 +7,7 @@ import { OAuth2RequestError } from 'arctic'
|
||||||
import { getCookie, setCookie } from 'hono/cookie'
|
import { getCookie, setCookie } from 'hono/cookie'
|
||||||
import { TimeSpan } from 'oslo'
|
import { TimeSpan } from 'oslo'
|
||||||
import { inject, injectable } from 'tsyringe'
|
import { inject, injectable } from 'tsyringe'
|
||||||
|
import type {OAuthUser} from "$lib/server/api/common/types/oauth-user";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class OAuthController extends Controller {
|
export class OAuthController extends Controller {
|
||||||
|
|
@ -25,8 +26,6 @@ export class OAuthController extends Controller {
|
||||||
const state = c.req.query('state')?.toString() ?? null
|
const state = c.req.query('state')?.toString() ?? null
|
||||||
const storedState = getCookie(c).github_oauth_state ?? null
|
const storedState = getCookie(c).github_oauth_state ?? null
|
||||||
|
|
||||||
console.log('code', code, 'state', state, 'storedState', storedState)
|
|
||||||
|
|
||||||
if (!code || !state || !storedState || state !== storedState) {
|
if (!code || !state || !storedState || state !== storedState) {
|
||||||
return c.body(null, 400)
|
return c.body(null, 400)
|
||||||
}
|
}
|
||||||
|
|
@ -39,7 +38,13 @@ export class OAuthController extends Controller {
|
||||||
})
|
})
|
||||||
const githubUser: GitHubUser = await githubUserResponse.json()
|
const githubUser: GitHubUser = await githubUserResponse.json()
|
||||||
|
|
||||||
const userId = await this.oauthService.handleOAuthUser(githubUser.id, githubUser.login, 'github')
|
const oAuthUser: OAuthUser = {
|
||||||
|
sub: `${githubUser.id}`,
|
||||||
|
username: githubUser.login,
|
||||||
|
email: null
|
||||||
|
}
|
||||||
|
|
||||||
|
const userId = await this.oauthService.handleOAuthUser(oAuthUser, 'github')
|
||||||
|
|
||||||
const session = await this.luciaService.lucia.createSession(userId, {})
|
const session = await this.luciaService.lucia.createSession(userId, {})
|
||||||
const sessionCookie = this.luciaService.lucia.createSessionCookie(session.id)
|
const sessionCookie = this.luciaService.lucia.createSessionCookie(session.id)
|
||||||
|
|
@ -75,23 +80,29 @@ export class OAuthController extends Controller {
|
||||||
const storedState = getCookie(c).google_oauth_state ?? null
|
const storedState = getCookie(c).google_oauth_state ?? null
|
||||||
const storedCodeVerifier = getCookie(c).google_oauth_code_verifier ?? null
|
const storedCodeVerifier = getCookie(c).google_oauth_code_verifier ?? null
|
||||||
|
|
||||||
console.log('code', code, 'state', state, 'storedState', storedState)
|
|
||||||
|
|
||||||
if (!code || !storedState || !storedCodeVerifier || state !== storedState) {
|
if (!code || !storedState || !storedCodeVerifier || state !== storedState) {
|
||||||
return c.body(null, 400)
|
return c.body(null, 400)
|
||||||
}
|
}
|
||||||
|
|
||||||
const tokens = await google.validateAuthorizationCode(code, storedCodeVerifier)
|
const tokens = await google.validateAuthorizationCode(code, storedCodeVerifier)
|
||||||
console.log('tokens', tokens)
|
const googleUserResponse = await fetch("https://openidconnect.googleapis.com/v1/userinfo", {
|
||||||
const googleUserResponse = await fetch('https://www.googleapis.com/oauth2/v3/userinfo', {
|
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: `Bearer ${tokens.accessToken}`,
|
Authorization: `Bearer ${tokens.accessToken}`,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
console.log('googleUserResponse', googleUserResponse)
|
|
||||||
const googleUser: GoogleUser = await googleUserResponse.json()
|
const googleUser: GoogleUser = await googleUserResponse.json()
|
||||||
|
|
||||||
const userId = await this.oauthService.handleOAuthUser(googleUser.id, googleUser.login, 'github')
|
const oAuthUser: OAuthUser = {
|
||||||
|
sub: googleUser.sub,
|
||||||
|
given_name: googleUser.given_name,
|
||||||
|
family_name: googleUser.family_name,
|
||||||
|
picture: googleUser.picture,
|
||||||
|
username: googleUser.email,
|
||||||
|
email: googleUser.email,
|
||||||
|
email_verified: googleUser.email_verified,
|
||||||
|
}
|
||||||
|
|
||||||
|
const userId = await this.oauthService.handleOAuthUser(oAuthUser, 'google')
|
||||||
|
|
||||||
const session = await this.luciaService.lucia.createSession(userId, {})
|
const session = await this.luciaService.lucia.createSession(userId, {})
|
||||||
const sessionCookie = this.luciaService.lucia.createSessionCookie(session.id)
|
const sessionCookie = this.luciaService.lucia.createSessionCookie(session.id)
|
||||||
|
|
@ -129,6 +140,11 @@ interface GitHubUser {
|
||||||
}
|
}
|
||||||
|
|
||||||
interface GoogleUser {
|
interface GoogleUser {
|
||||||
id: number
|
sub: string
|
||||||
login: string
|
name: string
|
||||||
|
given_name: string
|
||||||
|
family_name: string
|
||||||
|
picture: string
|
||||||
|
email: string
|
||||||
|
email_verified: boolean
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
ALTER TABLE "users" ADD COLUMN "email_verified" boolean DEFAULT false;--> statement-breakpoint
|
||||||
|
ALTER TABLE "users" ADD COLUMN "picture" text;
|
||||||
1876
src/lib/server/api/databases/migrations/meta/0001_snapshot.json
Normal file
1876
src/lib/server/api/databases/migrations/meta/0001_snapshot.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -8,6 +8,13 @@
|
||||||
"when": 1725489682980,
|
"when": 1725489682980,
|
||||||
"tag": "0000_volatile_warhawk",
|
"tag": "0000_volatile_warhawk",
|
||||||
"breakpoints": true
|
"breakpoints": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idx": 1,
|
||||||
|
"version": "7",
|
||||||
|
"when": 1726877846811,
|
||||||
|
"tag": "0001_pink_the_enforcers",
|
||||||
|
"breakpoints": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -15,6 +15,8 @@ export const usersTable = pgTable('users', {
|
||||||
last_name: text('last_name'),
|
last_name: text('last_name'),
|
||||||
verified: boolean('verified').default(false),
|
verified: boolean('verified').default(false),
|
||||||
receive_email: boolean('receive_email').default(false),
|
receive_email: boolean('receive_email').default(false),
|
||||||
|
email_verified: boolean('email_verified').default(false),
|
||||||
|
picture: text('picture'),
|
||||||
mfa_enabled: boolean('mfa_enabled').notNull().default(false),
|
mfa_enabled: boolean('mfa_enabled').notNull().default(false),
|
||||||
theme: text('theme').default('system'),
|
theme: text('theme').default('system'),
|
||||||
...timestamps,
|
...timestamps,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import { inject, injectable } from 'tsyringe'
|
import { inject, injectable } from 'tsyringe'
|
||||||
import { FederatedIdentityRepository } from '../repositories/federated_identity.repository'
|
import { FederatedIdentityRepository } from '../repositories/federated_identity.repository'
|
||||||
import { UsersService } from './users.service'
|
import { UsersService } from './users.service'
|
||||||
|
import type {OAuthUser} from "$lib/server/api/common/types/oauth-user";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class OAuthService {
|
export class OAuthService {
|
||||||
|
|
@ -9,14 +10,14 @@ export class OAuthService {
|
||||||
@inject(UsersService) private readonly usersService: UsersService,
|
@inject(UsersService) private readonly usersService: UsersService,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
async handleOAuthUser(oauthUserId: number, oauthUsername: string, oauthProvider: string) {
|
async handleOAuthUser(oAuthUser: OAuthUser, oauthProvider: string) {
|
||||||
const federatedUser = await this.federatedIdentityRepository.findOneByFederatedUserIdAndProvider(`${oauthUserId}`, oauthProvider)
|
const federatedUser = await this.federatedIdentityRepository.findOneByFederatedUserIdAndProvider(oAuthUser.sub, oauthProvider)
|
||||||
|
|
||||||
if (federatedUser) {
|
if (federatedUser) {
|
||||||
return federatedUser.user_id
|
return federatedUser.user_id
|
||||||
}
|
}
|
||||||
|
|
||||||
const user = await this.usersService.createOAuthUser(oauthUserId, oauthUsername, oauthProvider)
|
const user = await this.usersService.createOAuthUser(oAuthUser, oauthProvider)
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
throw new Error('Failed to create user')
|
throw new Error('Failed to create user')
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,12 @@ import { WishlistsRepository } from '$lib/server/api/repositories/wishlists.repo
|
||||||
import { TokensService } from '$lib/server/api/services/tokens.service'
|
import { TokensService } from '$lib/server/api/services/tokens.service'
|
||||||
import { UserRolesService } from '$lib/server/api/services/user_roles.service'
|
import { UserRolesService } from '$lib/server/api/services/user_roles.service'
|
||||||
import { inject, injectable } from 'tsyringe'
|
import { inject, injectable } from 'tsyringe'
|
||||||
import { CredentialsType } from '../databases/tables'
|
import {CredentialsType, RoleName} from '../databases/tables'
|
||||||
import { type UpdateUser, UsersRepository } from '../repositories/users.repository'
|
import { type UpdateUser, UsersRepository } from '../repositories/users.repository'
|
||||||
import { CollectionsService } from './collections.service'
|
import { CollectionsService } from './collections.service'
|
||||||
import { DrizzleService } from './drizzle.service'
|
import { DrizzleService } from './drizzle.service'
|
||||||
import { WishlistsService } from './wishlists.service'
|
import { WishlistsService } from './wishlists.service'
|
||||||
|
import type {OAuthUser} from "$lib/server/api/common/types/oauth-user";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class UsersService {
|
export class UsersService {
|
||||||
|
|
@ -58,18 +59,23 @@ export class UsersService {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.userRolesService.addRoleToUser(createdUser.id, 'user', true, trx)
|
await this.userRolesService.addRoleToUser(createdUser.id, RoleName.USER, true, trx)
|
||||||
|
|
||||||
await this.wishlistsService.createEmptyNoName(createdUser.id, trx)
|
await this.wishlistsService.createEmptyNoName(createdUser.id, trx)
|
||||||
await this.collectionsService.createEmptyNoName(createdUser.id, trx)
|
await this.collectionsService.createEmptyNoName(createdUser.id, trx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async createOAuthUser(oauthUserId: number, oauthUsername: string, oauthProvider: string) {
|
async createOAuthUser(oAuthUser: OAuthUser, oauthProvider: string) {
|
||||||
return await this.drizzleService.db.transaction(async (trx) => {
|
return await this.drizzleService.db.transaction(async (trx) => {
|
||||||
const createdUser = await this.usersRepository.create(
|
const createdUser = await this.usersRepository.create(
|
||||||
{
|
{
|
||||||
username: oauthUsername,
|
username: oAuthUser.username || oAuthUser.username,
|
||||||
|
email: oAuthUser.email || null,
|
||||||
|
first_name: oAuthUser.given_name || null,
|
||||||
|
last_name: oAuthUser.family_name || null,
|
||||||
|
picture: oAuthUser.picture || null,
|
||||||
|
email_verified: oAuthUser.email_verified || false,
|
||||||
},
|
},
|
||||||
trx,
|
trx,
|
||||||
)
|
)
|
||||||
|
|
@ -82,13 +88,13 @@ export class UsersService {
|
||||||
{
|
{
|
||||||
identity_provider: oauthProvider,
|
identity_provider: oauthProvider,
|
||||||
user_id: createdUser.id,
|
user_id: createdUser.id,
|
||||||
federated_user_id: `${oauthUserId}`,
|
federated_user_id: oAuthUser.sub,
|
||||||
federated_username: oauthUsername,
|
federated_username: oAuthUser.email || oAuthUser.username,
|
||||||
},
|
},
|
||||||
trx,
|
trx,
|
||||||
)
|
)
|
||||||
|
|
||||||
await this.userRolesService.addRoleToUser(createdUser.id, 'user', true, trx)
|
await this.userRolesService.addRoleToUser(createdUser.id, RoleName.USER, true, trx)
|
||||||
|
|
||||||
await this.wishlistsService.createEmptyNoName(createdUser.id, trx)
|
await this.wishlistsService.createEmptyNoName(createdUser.id, trx)
|
||||||
await this.collectionsService.createEmptyNoName(createdUser.id, trx)
|
await this.collectionsService.createEmptyNoName(createdUser.id, trx)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,9 @@ export async function GET(event: RequestEvent): Promise<Response> {
|
||||||
const state = generateState()
|
const state = generateState()
|
||||||
const codeVerifier = generateCodeVerifier();
|
const codeVerifier = generateCodeVerifier();
|
||||||
|
|
||||||
const url = await google.createAuthorizationURL(state, codeVerifier)
|
const url = await google.createAuthorizationURL(state, codeVerifier, {
|
||||||
|
scopes: ["profile", "email", "openid"]
|
||||||
|
})
|
||||||
|
|
||||||
event.cookies.set('google_oauth_state', state, {
|
event.cookies.set('google_oauth_state', state, {
|
||||||
path: '/',
|
path: '/',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue