From 3d0dbdd0a5a5d0a6d33b69a29f40b7c0bfb29d0c Mon Sep 17 00:00:00 2001 From: Kirill Date: Fri, 22 May 2026 19:41:47 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1523-1779454537/state/server.pid | 1 + .../1702-1779454560/state/server.pid | 1 + client/src/shared/config/index.ts | 6 +- server/package-lock.json | 433 +++++++++++++++++- server/package.json | 2 + server/prisma/prisma/dev.db | Bin 364544 -> 364544 bytes 6 files changed, 439 insertions(+), 4 deletions(-) create mode 100644 .superpowers/brainstorm/1523-1779454537/state/server.pid create mode 100644 .superpowers/brainstorm/1702-1779454560/state/server.pid diff --git a/.superpowers/brainstorm/1523-1779454537/state/server.pid b/.superpowers/brainstorm/1523-1779454537/state/server.pid new file mode 100644 index 0000000..45ff3ac --- /dev/null +++ b/.superpowers/brainstorm/1523-1779454537/state/server.pid @@ -0,0 +1 @@ +1531 diff --git a/.superpowers/brainstorm/1702-1779454560/state/server.pid b/.superpowers/brainstorm/1702-1779454560/state/server.pid new file mode 100644 index 0000000..1d25bf7 --- /dev/null +++ b/.superpowers/brainstorm/1702-1779454560/state/server.pid @@ -0,0 +1 @@ +1702 diff --git a/client/src/shared/config/index.ts b/client/src/shared/config/index.ts index 70c2585..367ddab 100644 --- a/client/src/shared/config/index.ts +++ b/client/src/shared/config/index.ts @@ -13,6 +13,6 @@ export const STORE_PUBLIC_SITE_URL = (() => { })() /** Демо-контакты для футера; при необходимости задайте через VITE_* в `.env`. */ -export const STORE_EMAIL = import.meta.env.VITE_STORE_EMAIL ?? 'hello@example.com' -export const STORE_PHONE = import.meta.env.VITE_STORE_PHONE ?? '+7 (900) 000-00-00' -export const VK_URL = import.meta.env.VITE_VK_URL ?? '#' +export const STORE_EMAIL = import.meta.env.VITE_STORE_EMAIL ?? 'larisa8502@yandex.ru' +export const STORE_PHONE = import.meta.env.VITE_STORE_PHONE ?? '+7 (952) 318-16-24' +export const VK_URL = import.meta.env.VITE_VK_URL ?? 'https://vk.com/club158395871' diff --git a/server/package-lock.json b/server/package-lock.json index 48993e2..293ae7b 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -8,6 +8,8 @@ "name": "server", "version": "1.0.0", "dependencies": { + "@dicebear/collection": "^9.4.2", + "@dicebear/core": "^9.4.2", "@fastify/cors": "^11.2.0", "@fastify/jwt": "^10.0.0", "@fastify/multipart": "^10.0.0", @@ -31,6 +33,436 @@ "vitest": "^3.2.4" } }, + "node_modules/@dicebear/adventurer": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/adventurer/-/adventurer-9.4.2.tgz", + "integrity": "sha512-jqYp834ZmGDA9HBBDQAdgF1O2UTCwHF4vVrktXWa2Dppp1JczPL5HnVOWsjtrLmXNn61Wd6OLmBb2e6rhzp3ig==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/adventurer-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/adventurer-neutral/-/adventurer-neutral-9.4.2.tgz", + "integrity": "sha512-5xgkG/mNL4j3Q4SJGQLBU/KnU90tng8Ze5ofThD+55wi0oeY/nSAUowg6UFCmHrktjifj/MEx3CQqbpcPWtfIA==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/avataaars": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/avataaars/-/avataaars-9.4.2.tgz", + "integrity": "sha512-3x9jKFkOkFSPmpTbt9xvhiU2E1GX7beCSsX0tXRUShj8x6+5Ks9yBRT1VlkySbnXrZ/GglADGg7vJ/D2uIx1Yw==", + "license": "See LICENSE file", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/avataaars-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/avataaars-neutral/-/avataaars-neutral-9.4.2.tgz", + "integrity": "sha512-/eNrp0YCNJRwQXqOloLm1+3Ss2C+pMpUQIGkbEnGsP1UK+13Ge80ggDDof1HpdqvG9HAZcKa7hnbG/0HSwyDSw==", + "license": "See LICENSE file", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/big-ears": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/big-ears/-/big-ears-9.4.2.tgz", + "integrity": "sha512-mNfz3ppNA7UBq0IO3nXCiV5pFPG7c1DfzRB0foNU2Wo1XXT8FIcSY2BvDlYqorZTOUOz7dHb0vx06hqvG0HP5w==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/big-ears-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/big-ears-neutral/-/big-ears-neutral-9.4.2.tgz", + "integrity": "sha512-M8Ozmzza4eY4hpLOYULgJxMYmBA0CsBnrE15/xw6LZkEREXnrX5z0NJsf8hUfdyF6BWZ+RBgzoiav32DAC5zcg==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/big-smile": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/big-smile/-/big-smile-9.4.2.tgz", + "integrity": "sha512-hmT5i7rcPPhStjZyg28pbIhdTnnMBzK3RObI0vKCpY30EFrzaPkkdDL6Ck5fAFBdvDIW1EpOJkenyR0XPmhgbQ==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/bottts": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/bottts/-/bottts-9.4.2.tgz", + "integrity": "sha512-tsx+dII7EFUCVA8URj66G1GqORCCVduCAx4dY2prEY2IeFianVpkntXuFsWZ9BBGx1NZFndvDith5oTwKMQPbQ==", + "license": "See LICENSE file", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/bottts-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/bottts-neutral/-/bottts-neutral-9.4.2.tgz", + "integrity": "sha512-kFNwWt6j+gzZ5n5Pz7WVwePubREAQOF8ZwWA9ztwVYDVMLnOChWbAofy5FED4j5md2MXFH2EgLCFCMr5K2BmIA==", + "license": "See LICENSE file", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/collection": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/collection/-/collection-9.4.2.tgz", + "integrity": "sha512-KArubv7if8H7j9sIfpDK2hJJqrdNVR5zMPAMOSpIU2JPyXx8TC9o5wsmXb8il5wOHgaS9Q/cla7jUNIiDD7Gsg==", + "license": "MIT", + "dependencies": { + "@dicebear/adventurer": "9.4.2", + "@dicebear/adventurer-neutral": "9.4.2", + "@dicebear/avataaars": "9.4.2", + "@dicebear/avataaars-neutral": "9.4.2", + "@dicebear/big-ears": "9.4.2", + "@dicebear/big-ears-neutral": "9.4.2", + "@dicebear/big-smile": "9.4.2", + "@dicebear/bottts": "9.4.2", + "@dicebear/bottts-neutral": "9.4.2", + "@dicebear/croodles": "9.4.2", + "@dicebear/croodles-neutral": "9.4.2", + "@dicebear/dylan": "9.4.2", + "@dicebear/fun-emoji": "9.4.2", + "@dicebear/glass": "9.4.2", + "@dicebear/icons": "9.4.2", + "@dicebear/identicon": "9.4.2", + "@dicebear/initials": "9.4.2", + "@dicebear/lorelei": "9.4.2", + "@dicebear/lorelei-neutral": "9.4.2", + "@dicebear/micah": "9.4.2", + "@dicebear/miniavs": "9.4.2", + "@dicebear/notionists": "9.4.2", + "@dicebear/notionists-neutral": "9.4.2", + "@dicebear/open-peeps": "9.4.2", + "@dicebear/personas": "9.4.2", + "@dicebear/pixel-art": "9.4.2", + "@dicebear/pixel-art-neutral": "9.4.2", + "@dicebear/rings": "9.4.2", + "@dicebear/shapes": "9.4.2", + "@dicebear/thumbs": "9.4.2", + "@dicebear/toon-head": "9.4.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/core": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/core/-/core-9.4.2.tgz", + "integrity": "sha512-MF0042+Z3s8PGZKZLySfhft28bUa3B1iq0e5NSjCvY8gfMi5aIH/iRJGRJa1N9Jz1BNkxYb4yvJ/N9KO8Z6Y+w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@dicebear/croodles": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/croodles/-/croodles-9.4.2.tgz", + "integrity": "sha512-6VoO0JviIf7dKKMBTL/SMXxWhnXHaZuzufX90G0nXxS77ELG1YkGNMaZzawizN4C09Gbya2gJkozqrWiJN/aGw==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/croodles-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/croodles-neutral/-/croodles-neutral-9.4.2.tgz", + "integrity": "sha512-oG5IeUdtiYshQ89gkAVcl5w3xAEi5UZX2fTzIyelpBPCG176l7VuuFzlxi2umnB3E6LVHYy06DXvUo/p+rXB2Q==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/dylan": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/dylan/-/dylan-9.4.2.tgz", + "integrity": "sha512-1vQvRu9x9DrwFxhFaIU2rf0EUL04yDTbAt7fHyAjM0mEsKzTD4mRNf95tCRuavCoW6W48u7A/OY6jyIub6kxLQ==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/fun-emoji": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/fun-emoji/-/fun-emoji-9.4.2.tgz", + "integrity": "sha512-kqB6LPkdYCdEU/mwbyz34xLzoNUKL6ARcoo3fr5ASq9D6ZE07qIKybC3xv5+CPz7VmspJ1Q3c/VVWVMDRP7Twg==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/glass": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/glass/-/glass-9.4.2.tgz", + "integrity": "sha512-z5qUogHQ1b6UJ2zCqT848mU2U9DKbVDhiX6GPDjD7tYLisCCJVisH9p6WyNdHvflUd4SHkA6gRqVJIh2v2HnTA==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/icons": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/icons/-/icons-9.4.2.tgz", + "integrity": "sha512-QSMMz0NA03ypSGhXC8HQX8FSj8lYT+/5yqH+/N03OH2IjL0q7wwGZ7nqsrtlRp76O5WqMTwGfSbTUUYPjFr+Xw==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/identicon": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/identicon/-/identicon-9.4.2.tgz", + "integrity": "sha512-JVDSmZsv11mSWqwAktK5x9Bslht2xY3TFUn8xzu6slAYe1Z7hEXZ76eb+UJ6F4qEzdwZ7xPWzAS6Nb0Y3A0pww==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/initials": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/initials/-/initials-9.4.2.tgz", + "integrity": "sha512-yePuIUasmwtl9IrtB6rEzE/zb5fImKP/neW0CdcTC2MwLgMuP1GLHEGRgg1zI8exIh+PMv1YdLGyyUuRTE2Qpw==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/lorelei": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/lorelei/-/lorelei-9.4.2.tgz", + "integrity": "sha512-YMv6vnriW6VLFDsreKuOnUFFno6SRe7+7X7R7zPY0rZ+MaHX9V3jcioIG+1PSjIHEDfOLUHpr5vd1JBWv8y7UA==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/lorelei-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/lorelei-neutral/-/lorelei-neutral-9.4.2.tgz", + "integrity": "sha512-yspanTthA5vh6iCdeLzn6xZ4yYMYRcfcxblcgSvHTF1ut0bjAXtw5SXzZ6aJTrJWiHkzYOQuTOR6GVYiW80Q7w==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/micah": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/micah/-/micah-9.4.2.tgz", + "integrity": "sha512-e4D3W/OlChSsLo7Llwsy0J18vk0azJqF/uFoY+EKACCNHBc1HGNsqVvu2CTf+OWOA8wTyAK6UkjBN5p01r7D+g==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/miniavs": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/miniavs/-/miniavs-9.4.2.tgz", + "integrity": "sha512-wLwyFNNUnDRd3BbhSBhXR0XEpX8sG0/xDA5M/OkDoapLqZnnI48YLUSDd2N5QTAVMmcSEuZOYxkcnj7WW79vlg==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/notionists": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/notionists/-/notionists-9.4.2.tgz", + "integrity": "sha512-ZCySq+nxcD/x4xyYgytcj2N9uY3gxrL+qpnmOdp2BdA221KacVrxlsUPpIgEMqxS2rMmBQXfxg129Pzn4ycIpA==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/notionists-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/notionists-neutral/-/notionists-neutral-9.4.2.tgz", + "integrity": "sha512-AyD9kEfVxQUwDGf4Op059gVmYIOAkTKg3dtE9h9mEKP7zl/kMy5B67BFFOo7sB0mXCjzAegZ6ekGU02E8+hIHw==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/open-peeps": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/open-peeps/-/open-peeps-9.4.2.tgz", + "integrity": "sha512-i01tLgtp2g937T81sVeAOVlqsCtiTck/Kw20g7hN80+7xrXjOUepz2HPLy3HeiMjwjMGRy5o54kSd0/8Ht4Dqg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/personas": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/personas/-/personas-9.4.2.tgz", + "integrity": "sha512-NJlkvI5F5gugt6t2+7QrYNTwQC7+4IQZS3vG0dYk2BncxOHax0BuLovdSdiAesTL4ZkytFYIydWmKmV2/xcUwg==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/pixel-art": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/pixel-art/-/pixel-art-9.4.2.tgz", + "integrity": "sha512-peHf7oKICDgBZ8dUyj+txPnS7VZEWgvKE+xW4mNQqBt6dYZIjmva2shOVHn0b1JU+FDxMx3uIkWVixKdUq4WGg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/pixel-art-neutral": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/pixel-art-neutral/-/pixel-art-neutral-9.4.2.tgz", + "integrity": "sha512-9e9Lz554uQvWaXV2P17ss+hPa6rTyuAKBtB8zk8ECjHiZzIl61N/KcTVLZ4dILVZwj7gYriaLo16QEqvL2GJCg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/rings": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/rings/-/rings-9.4.2.tgz", + "integrity": "sha512-Pc3ymWrRDQPJFNrbbLt7RJrzGvUuuxUiDkrfLhoVE+B6mZWEL1PC78DPbS1yUWYLErJOpJuM2GSwXmTbVjWf+g==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/shapes": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/shapes/-/shapes-9.4.2.tgz", + "integrity": "sha512-AFL6jAaiLztvcqyq+ds+lWZu6Vbp3PlGWhJeJRm842jxtiluJpl6r4f6nUXP2fdMz7MNpDzXfLooQK9E04NbUQ==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/thumbs": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/thumbs/-/thumbs-9.4.2.tgz", + "integrity": "sha512-ccWvDBqbkWS5uzHbsg5L6uML6vBfX7jT3J3jHCQksvz8haHItxTK02w+6e1UavZUsvza4lG5X/XY3eji3siJ4Q==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, + "node_modules/@dicebear/toon-head": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@dicebear/toon-head/-/toon-head-9.4.2.tgz", + "integrity": "sha512-lwFeSXyAnaKnCfMt9TiJwnD1cXQUGkey/0h6i/+4TVHVMCz5/Ri5u1ynovPNHy1SnBf858QwoXHkxilGLwQX/g==", + "license": "(MIT AND CC-BY-4.0)", + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@dicebear/core": "^9.0.0" + } + }, "node_modules/@emnapi/wasi-threads": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", @@ -1466,7 +1898,6 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, "license": "MIT" }, "node_modules/@typescript-eslint/types": { diff --git a/server/package.json b/server/package.json index ed46702..0e552ad 100644 --- a/server/package.json +++ b/server/package.json @@ -18,6 +18,8 @@ "db:reset:test": "prisma migrate reset --force" }, "dependencies": { + "@dicebear/collection": "^9.4.2", + "@dicebear/core": "^9.4.2", "@fastify/cors": "^11.2.0", "@fastify/jwt": "^10.0.0", "@fastify/multipart": "^10.0.0", diff --git a/server/prisma/prisma/dev.db b/server/prisma/prisma/dev.db index 27d8a10eeabcc1bb415aafeacaf59a985741f676..cb117d1450cd5e2f234b43a51dcd7e3955ed239d 100644 GIT binary patch delta 27778 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 delta 31743 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 F{{R{H(LMkG