@levrbet/shared 0.2.44 → 0.2.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -46
- package/dist/core/contracts/addresses.d.ts +20 -0
- package/dist/core/contracts/addresses.js +33 -13
- package/dist/core/contracts/addresses.js.map +1 -1
- package/dist/core/contracts/instances.d.ts +7 -2
- package/dist/core/contracts/instances.js +20 -1
- package/dist/core/contracts/instances.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/indexers/envio.test.query.d.ts +5 -2
- package/dist/core/indexers/envio.test.query.js +8 -3
- package/dist/core/indexers/envio.test.query.js.map +1 -1
- package/dist/core/indexers/indexers.service.js +32 -12
- package/dist/core/indexers/indexers.service.js.map +1 -1
- package/dist/core/indexers/subsquid.test.query.d.ts +4 -1
- package/dist/core/indexers/subsquid.test.query.js +22 -2
- package/dist/core/indexers/subsquid.test.query.js.map +1 -1
- package/dist/core/prisma/index.d.ts +1 -1
- package/dist/core/prisma/index.js +7 -4
- package/dist/core/prisma/index.js.map +1 -1
- package/dist/core/socket.io/events.d.ts +20 -0
- package/dist/core/socket.io/events.js +20 -0
- package/dist/core/socket.io/events.js.map +1 -0
- package/dist/core/socket.io/index.d.ts +2 -0
- package/dist/{server/prisma → core/socket.io}/index.js +2 -7
- package/dist/core/socket.io/index.js.map +1 -0
- package/dist/core/socket.io/rooms.d.ts +6 -0
- package/dist/core/socket.io/rooms.js +10 -0
- package/dist/core/socket.io/rooms.js.map +1 -0
- package/dist/core/types/oracle/market/markets.types.d.ts +4 -4
- package/dist/core/types/oracle/market/positions.types.d.ts +17 -1
- package/dist/core/types/oracle/requests/game.request.types.d.ts +7 -5
- package/dist/core/types/oracle/requests/game.request.types.js +6 -4
- package/dist/core/types/oracle/requests/game.request.types.js.map +1 -1
- package/dist/core/types/oracle/requests/index.d.ts +2 -0
- package/dist/core/types/oracle/requests/index.js +2 -0
- package/dist/core/types/oracle/requests/index.js.map +1 -1
- package/dist/core/types/oracle/requests/odds.response.types.d.ts +2 -0
- package/dist/core/types/oracle/requests/odds.response.types.js +3 -0
- package/dist/core/types/oracle/requests/odds.response.types.js.map +1 -0
- package/dist/core/types/oracle/requests/user.request.type.d.ts +4 -0
- package/dist/core/types/oracle/requests/user.request.type.js +3 -0
- package/dist/core/types/oracle/requests/user.request.type.js.map +1 -0
- package/dist/core/utils/misc.utils.d.ts +6 -0
- package/dist/core/utils/misc.utils.js +17 -1
- package/dist/core/utils/misc.utils.js.map +1 -1
- package/dist/core/validators/bytes.validators.d.ts +4 -3
- package/dist/core/validators/bytes.validators.js +4 -4
- package/dist/core/validators/bytes.validators.js.map +1 -1
- package/dist/react/hooks/auth/useAuthHeaders.js +2 -1
- package/dist/react/hooks/auth/useAuthHeaders.js.map +1 -1
- package/dist/react/hooks/contracts/erc20/index.d.ts +6 -0
- package/dist/react/hooks/contracts/erc20/index.js +23 -0
- package/dist/react/hooks/contracts/erc20/index.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useApproveErc20.d.ts +13 -0
- package/dist/react/hooks/contracts/erc20/useApproveErc20.js +28 -0
- package/dist/react/hooks/contracts/erc20/useApproveErc20.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Allowance.d.ts +10 -0
- package/dist/react/hooks/contracts/erc20/useErc20Allowance.js +34 -0
- package/dist/react/hooks/contracts/erc20/useErc20Allowance.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Balance.d.ts +22 -0
- package/dist/react/hooks/contracts/erc20/useErc20Balance.js +95 -0
- package/dist/react/hooks/contracts/erc20/useErc20Balance.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Decimals.d.ts +8 -0
- package/dist/react/hooks/contracts/erc20/useErc20Decimals.js +28 -0
- package/dist/react/hooks/contracts/erc20/useErc20Decimals.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useErc20Symbol.d.ts +8 -0
- package/dist/react/hooks/contracts/erc20/useErc20Symbol.js +28 -0
- package/dist/react/hooks/contracts/erc20/useErc20Symbol.js.map +1 -0
- package/dist/react/hooks/contracts/erc20/useTransferErc20.d.ts +13 -0
- package/dist/react/hooks/contracts/erc20/useTransferErc20.js +31 -0
- package/dist/react/hooks/contracts/erc20/useTransferErc20.js.map +1 -0
- package/dist/react/hooks/contracts/index.d.ts +1 -0
- package/dist/react/hooks/contracts/index.js +1 -0
- package/dist/react/hooks/contracts/index.js.map +1 -1
- package/dist/react/hooks/contracts/useContracts.d.ts +7 -1
- package/dist/react/hooks/contracts/useContracts.js +24 -2
- package/dist/react/hooks/contracts/useContracts.js.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/injectedDependencies.d.ts +4 -3
- package/dist/react/injectedDependencies.js +2 -1
- package/dist/react/injectedDependencies.js.map +1 -1
- package/dist/react/queryKeys.d.ts +17 -0
- package/dist/react/queryKeys.js +23 -0
- package/dist/react/queryKeys.js.map +1 -0
- package/dist/server/config/redis.d.ts +1 -1
- package/dist/server/config/redis.js +9 -3
- package/dist/server/config/redis.js.map +1 -1
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.js +0 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/oracle/redis-cache-manager/channels.d.ts +1 -5
- package/dist/server/oracle/redis-cache-manager/channels.js +5 -14
- package/dist/server/oracle/redis-cache-manager/channels.js.map +1 -1
- package/dist/server/services/index.d.ts +1 -0
- package/dist/server/services/index.js +1 -0
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/presigned.urls.d.ts +11 -0
- package/dist/server/services/presigned.urls.js +41 -0
- package/dist/server/services/presigned.urls.js.map +1 -0
- package/package.json +15 -7
- package/{dist/core/prisma/generated → prisma}/schema.prisma +16 -12
- package/scripts/setup-prisma.js +98 -0
- package/dist/core/prisma/generated/client.d.ts +0 -1
- package/dist/core/prisma/generated/client.js +0 -4
- package/dist/core/prisma/generated/default.d.ts +0 -1
- package/dist/core/prisma/generated/default.js +0 -4
- package/dist/core/prisma/generated/edge.d.ts +0 -1
- package/dist/core/prisma/generated/edge.js +0 -540
- package/dist/core/prisma/generated/index-browser.js +0 -523
- package/dist/core/prisma/generated/index.d.ts +0 -31059
- package/dist/core/prisma/generated/index.js +0 -565
- package/dist/core/prisma/generated/libquery_engine-darwin-arm64.dylib.node +0 -0
- package/dist/core/prisma/generated/libquery_engine-linux-musl-openssl-3.0.x.so.node +0 -0
- package/dist/core/prisma/generated/package.json +0 -183
- package/dist/core/prisma/generated/runtime/edge-esm.js +0 -34
- package/dist/core/prisma/generated/runtime/edge.js +0 -34
- package/dist/core/prisma/generated/runtime/index-browser.d.ts +0 -370
- package/dist/core/prisma/generated/runtime/index-browser.js +0 -16
- package/dist/core/prisma/generated/runtime/library.d.ts +0 -3982
- package/dist/core/prisma/generated/runtime/library.js +0 -146
- package/dist/core/prisma/generated/runtime/react-native.js +0 -83
- package/dist/core/prisma/generated/runtime/wasm-compiler-edge.js +0 -84
- package/dist/core/prisma/generated/runtime/wasm-engine-edge.js +0 -36
- package/dist/core/prisma/generated/wasm-edge-light-loader.mjs +0 -4
- package/dist/core/prisma/generated/wasm-worker-loader.mjs +0 -4
- package/dist/core/prisma/generated/wasm.d.ts +0 -1
- package/dist/core/prisma/generated/wasm.js +0 -547
- package/dist/server/prisma/index.d.ts +0 -2
- package/dist/server/prisma/index.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.presignedUrlService = void 0;
|
|
4
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
|
+
const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
const config_1 = require("../config");
|
|
8
|
+
/**
|
|
9
|
+
* Handles AWS S3 presigned URL generation
|
|
10
|
+
*/
|
|
11
|
+
class PresignedUrlService {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.initialized = false;
|
|
14
|
+
}
|
|
15
|
+
init() {
|
|
16
|
+
if (this.initialized)
|
|
17
|
+
return;
|
|
18
|
+
this.initialized = true;
|
|
19
|
+
const { AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION } = core_1.Config.init(config_1.awsCredsSchema);
|
|
20
|
+
this.s3 = new client_s3_1.S3Client({
|
|
21
|
+
region: AWS_REGION,
|
|
22
|
+
credentials: {
|
|
23
|
+
accessKeyId: AWS_ACCESS_KEY_ID,
|
|
24
|
+
secretAccessKey: AWS_SECRET_ACCESS_KEY,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async generatePresignedImageUrl(keyId) {
|
|
29
|
+
if (!this.s3) {
|
|
30
|
+
throw new Error("S3 client not initialized. Call presignedUrlService.init().");
|
|
31
|
+
}
|
|
32
|
+
const command = new client_s3_1.GetObjectCommand({
|
|
33
|
+
Bucket: "levr-v1-assets-dev",
|
|
34
|
+
Key: keyId,
|
|
35
|
+
});
|
|
36
|
+
const imageUrl = await (0, s3_request_presigner_1.getSignedUrl)(this.s3, command, { expiresIn: 172800 }); // 48 hour expiry
|
|
37
|
+
return imageUrl;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.presignedUrlService = new PresignedUrlService();
|
|
41
|
+
//# sourceMappingURL=presigned.urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presigned.urls.js","sourceRoot":"","sources":["../../../src/server/services/presigned.urls.ts"],"names":[],"mappings":";;;AAAA,kDAA+D;AAC/D,wEAA4D;AAC5D,qCAAmC;AACnC,sCAA0C;AAE1C;;GAEG;AACH,MAAM,mBAAmB;IAAzB;QACY,gBAAW,GAAG,KAAK,CAAA;IA8B/B,CAAC;IA3BG,IAAI;QACA,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,aAAM,CAAC,IAAI,CAAC,uBAAc,CAAC,CAAA;QAC5F,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAQ,CAAC;YACnB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE;gBACT,WAAW,EAAE,iBAAiB;gBAC9B,eAAe,EAAE,qBAAqB;aACzC;SACJ,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAa;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACjC,MAAM,EAAE,oBAAoB;YAC5B,GAAG,EAAE,KAAK;SACb,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAAY,EAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC,iBAAiB;QAC9F,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AAEY,QAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@levrbet/shared",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.46",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -26,17 +26,23 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"files": [
|
|
29
|
-
"dist"
|
|
29
|
+
"dist",
|
|
30
|
+
"prisma/schema.prisma",
|
|
31
|
+
"scripts"
|
|
30
32
|
],
|
|
33
|
+
"bin": {
|
|
34
|
+
"levrbet-prisma-setup": "./scripts/setup-prisma.js"
|
|
35
|
+
},
|
|
31
36
|
"sideEffects": false,
|
|
32
37
|
"scripts": {
|
|
33
|
-
"build": "npm run clean && npx
|
|
38
|
+
"build": "npm run clean && npx tsc",
|
|
34
39
|
"dev": "npm run build && npm pack",
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
40
|
+
"clean": "rm -rf dist .tsbuildinfo",
|
|
41
|
+
"prepublishOnly": "npm run build",
|
|
42
|
+
"test-get-healthy-indexer": "tsx src/core/indexers/indexers.service.ts"
|
|
38
43
|
},
|
|
39
44
|
"peerDependencies": {
|
|
45
|
+
"@prisma/client": "^6.0.0",
|
|
40
46
|
"@privy-io/react-auth": ">=3.0.0",
|
|
41
47
|
"@tanstack/react-query": ">=5.0.0",
|
|
42
48
|
"@types/react": ">=18.0.0",
|
|
@@ -69,14 +75,16 @@
|
|
|
69
75
|
"cpx": "^1.5.0",
|
|
70
76
|
"cross-fetch": "^4.1.0",
|
|
71
77
|
"mkdirp": "^3.0.1",
|
|
72
|
-
"prisma": "^6.
|
|
78
|
+
"prisma": "^6.19.0",
|
|
73
79
|
"react": ">=18.0.0",
|
|
74
80
|
"tsx": "^4.20.6",
|
|
75
81
|
"typescript": "^5.9.3"
|
|
76
82
|
},
|
|
77
83
|
"dependencies": {
|
|
78
84
|
"@aws-sdk/client-kms": "^3.913.0",
|
|
85
|
+
"@aws-sdk/client-s3": "^3.926.0",
|
|
79
86
|
"@aws-sdk/client-sts": "^3.913.0",
|
|
87
|
+
"@aws-sdk/s3-request-presigner": "^3.926.0",
|
|
80
88
|
"@opentelemetry/api": "^1.9.0",
|
|
81
89
|
"@opentelemetry/auto-instrumentations-node": "0.65.0",
|
|
82
90
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.206.0",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
generator client {
|
|
2
2
|
provider = "prisma-client-js"
|
|
3
|
-
binaryTargets = ["
|
|
4
|
-
output = "generated"
|
|
3
|
+
binaryTargets = ["native"]
|
|
5
4
|
}
|
|
6
5
|
|
|
7
6
|
datasource db {
|
|
@@ -16,6 +15,12 @@ enum GamePhase {
|
|
|
16
15
|
Cancelled
|
|
17
16
|
}
|
|
18
17
|
|
|
18
|
+
enum Sides {
|
|
19
|
+
A
|
|
20
|
+
B
|
|
21
|
+
C
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
enum MarketTypes {
|
|
20
25
|
FullTimeWinner
|
|
21
26
|
OverUnder
|
|
@@ -168,9 +173,8 @@ model Fixture {
|
|
|
168
173
|
leagueObjectId String @db.ObjectId
|
|
169
174
|
league League @relation(fields: [leagueObjectId], references: [objectId])
|
|
170
175
|
|
|
171
|
-
createdAt DateTime
|
|
172
|
-
updatedAt DateTime
|
|
173
|
-
LevrGame LevrGame[]
|
|
176
|
+
createdAt DateTime @default(now())
|
|
177
|
+
updatedAt DateTime @updatedAt
|
|
174
178
|
|
|
175
179
|
@@index([fixtureDate])
|
|
176
180
|
@@index([leagueObjectId])
|
|
@@ -203,6 +207,7 @@ model LevrGame {
|
|
|
203
207
|
location String
|
|
204
208
|
venueLocation String
|
|
205
209
|
gameClock String
|
|
210
|
+
gameProgressBps Int @default(0)
|
|
206
211
|
paused Boolean @default(false)
|
|
207
212
|
fixtureDate DateTime
|
|
208
213
|
wentLiveAt DateTime?
|
|
@@ -214,12 +219,10 @@ model LevrGame {
|
|
|
214
219
|
levrFixtureId String
|
|
215
220
|
opticOddsFixtureId String?
|
|
216
221
|
lsportsFixtureId String?
|
|
217
|
-
gameProgressBps Int @default(0)
|
|
218
222
|
sportGroup SportGroup
|
|
219
223
|
|
|
220
|
-
fixtureObjectId String @db.ObjectId
|
|
221
|
-
fixture Fixture @relation(fields: [fixtureObjectId], references: [objectId])
|
|
222
224
|
tournamentObjectId String @db.ObjectId
|
|
225
|
+
fixtureObjectId String @db.ObjectId
|
|
223
226
|
tournament Tournament @relation(fields: [tournamentObjectId], references: [objectId])
|
|
224
227
|
leagueObjectId String @db.ObjectId
|
|
225
228
|
league League @relation(fields: [leagueObjectId], references: [objectId])
|
|
@@ -279,6 +282,7 @@ model Market {
|
|
|
279
282
|
activeProvider Json
|
|
280
283
|
marketType MarketTypes
|
|
281
284
|
status MarketStatus
|
|
285
|
+
winner Sides?
|
|
282
286
|
|
|
283
287
|
levrGameObjectId String @db.ObjectId // new unique identifier
|
|
284
288
|
levrGame LevrGame @relation(fields: [levrGameObjectId], references: [objectId])
|
|
@@ -299,10 +303,10 @@ model User {
|
|
|
299
303
|
objectId String @id @default(auto()) @map("_id") @db.ObjectId
|
|
300
304
|
walletAddress String @unique
|
|
301
305
|
userName String @unique
|
|
302
|
-
email String
|
|
303
|
-
timeZone String
|
|
304
|
-
preferredTimeZone String?
|
|
305
|
-
userOddsPreference UserOddsPreference
|
|
306
|
+
email String? @unique
|
|
307
|
+
timeZone String @default("UTC")
|
|
308
|
+
preferredTimeZone String? @default("UTC")
|
|
309
|
+
userOddsPreference UserOddsPreference @default(American)
|
|
306
310
|
profileImageUrl String?
|
|
307
311
|
profileImageKey String?
|
|
308
312
|
language String @default("en")
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This script sets up Prisma for consumers of @levrbet/shared.
|
|
5
|
+
* It copies the schema.prisma file and generates the Prisma client.
|
|
6
|
+
*
|
|
7
|
+
* Runs automatically on postinstall, or manually via: npx levrbet-prisma-setup
|
|
8
|
+
*/
|
|
9
|
+
console.log("\nStarting Prisma setup for @levrbet/shared...\n")
|
|
10
|
+
const { execSync } = require("child_process")
|
|
11
|
+
const fs = require("fs")
|
|
12
|
+
const path = require("path")
|
|
13
|
+
|
|
14
|
+
// Find the consumer's project root (walk up from node_modules/@levrbet/shared)
|
|
15
|
+
function findProjectRoot() {
|
|
16
|
+
let dir = __dirname
|
|
17
|
+
|
|
18
|
+
// Walk up to find the project root (where we exit node_modules)
|
|
19
|
+
while (dir !== path.dirname(dir)) {
|
|
20
|
+
const parentDir = path.dirname(dir)
|
|
21
|
+
const parentName = path.basename(parentDir)
|
|
22
|
+
|
|
23
|
+
// If parent is node_modules, go up one more level to get project root
|
|
24
|
+
if (parentName === "node_modules") {
|
|
25
|
+
return path.dirname(parentDir)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// If we find a package.json that's not in node_modules, we're at project root
|
|
29
|
+
const packageJsonPath = path.join(dir, "package.json")
|
|
30
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
31
|
+
try {
|
|
32
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"))
|
|
33
|
+
// Make sure it's not our own package
|
|
34
|
+
if (pkg.name !== "@levrbet/shared") {
|
|
35
|
+
return dir
|
|
36
|
+
}
|
|
37
|
+
} catch (e) {
|
|
38
|
+
// Ignore parse errors
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
dir = parentDir
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Fallback to current working directory
|
|
46
|
+
return process.cwd()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const projectRoot = findProjectRoot()
|
|
50
|
+
const schemaSource = path.join(__dirname, "..", "prisma", "schema.prisma")
|
|
51
|
+
const prismaDir = path.join(projectRoot, "prisma")
|
|
52
|
+
const schemaDest = path.join(prismaDir, "schema.prisma")
|
|
53
|
+
|
|
54
|
+
// Check if we're in the package itself (development mode) - skip setup
|
|
55
|
+
const ownPackageJson = path.join(__dirname, "..", "package.json")
|
|
56
|
+
if (fs.existsSync(ownPackageJson)) {
|
|
57
|
+
try {
|
|
58
|
+
const pkg = JSON.parse(fs.readFileSync(ownPackageJson, "utf8"))
|
|
59
|
+
if (pkg.name === "@levrbet/shared" && projectRoot === path.join(__dirname, "..")) {
|
|
60
|
+
// We're in the package itself during development, skip consumer setup
|
|
61
|
+
console.log("Skipping consumer setup (running in @levrbet/shared development mode)")
|
|
62
|
+
process.exit(0)
|
|
63
|
+
}
|
|
64
|
+
} catch (e) {
|
|
65
|
+
// Ignore
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
console.log("🔧 Setting up Prisma for @levrbet/shared...")
|
|
70
|
+
console.log(` Project root: ${projectRoot}\n`)
|
|
71
|
+
|
|
72
|
+
// Create prisma directory if it doesn't exist
|
|
73
|
+
if (!fs.existsSync(prismaDir)) {
|
|
74
|
+
fs.mkdirSync(prismaDir, { recursive: true })
|
|
75
|
+
console.log("Created prisma/ directory")
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Copy schema.prisma
|
|
79
|
+
try {
|
|
80
|
+
fs.copyFileSync(schemaSource, schemaDest)
|
|
81
|
+
console.log("Copied schema.prisma to prisma/schema.prisma")
|
|
82
|
+
} catch (err) {
|
|
83
|
+
console.error("Failed to copy schema.prisma:", err.message)
|
|
84
|
+
process.exit(1)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Generate Prisma client
|
|
88
|
+
console.log("\nGenerating Prisma client...")
|
|
89
|
+
try {
|
|
90
|
+
execSync("npx prisma generate", { stdio: "inherit", cwd: projectRoot })
|
|
91
|
+
console.log("\nPrisma client generated successfully!")
|
|
92
|
+
} catch (err) {
|
|
93
|
+
console.error("\nFailed to generate Prisma client:", err.message)
|
|
94
|
+
process.exit(1)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
console.log("\nPrisma setup complete!")
|
|
98
|
+
console.log("\nMake sure to set the MONGO_URI environment variable in your .env file.")
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./index"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./index"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./default"
|