adaptic-backend 1.0.340 → 1.0.342
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/Account.cjs +2670 -2264
- package/Account.d.ts +19 -2
- package/Action.cjs +1195 -839
- package/Action.d.ts +19 -2
- package/Alert.cjs +2651 -2347
- package/Alert.d.ts +19 -2
- package/Allocation.cjs +2631 -2304
- package/Allocation.d.ts +19 -2
- package/AlpacaAccount.cjs +2654 -2104
- package/AlpacaAccount.d.ts +19 -2
- package/Asset.cjs +2611 -1544
- package/Asset.d.ts +19 -2
- package/Authenticator.cjs +2603 -2290
- package/Authenticator.d.ts +19 -2
- package/Customer.cjs +2506 -2220
- package/Customer.d.ts +19 -2
- package/EconomicEvent.cjs +708 -367
- package/EconomicEvent.d.ts +19 -2
- package/MarketSentiment.cjs +691 -340
- package/MarketSentiment.d.ts +19 -2
- package/NewsArticle.cjs +2114 -1655
- package/NewsArticle.d.ts +19 -2
- package/NewsArticleAssetSentiment.cjs +1873 -1564
- package/NewsArticleAssetSentiment.d.ts +19 -2
- package/ScheduledOptionOrder.cjs +607 -316
- package/ScheduledOptionOrder.d.ts +19 -2
- package/Session.cjs +2592 -2294
- package/Session.d.ts +19 -2
- package/Trade.cjs +1261 -795
- package/Trade.d.ts +19 -2
- package/User.cjs +2432 -2013
- package/User.d.ts +19 -2
- package/VerificationToken.cjs +637 -328
- package/VerificationToken.d.ts +19 -2
- package/esm/Account.d.ts +19 -2
- package/esm/Account.d.ts.map +1 -1
- package/esm/Account.js.map +1 -1
- package/esm/Account.mjs +2661 -2262
- package/esm/Action.d.ts +19 -2
- package/esm/Action.d.ts.map +1 -1
- package/esm/Action.js.map +1 -1
- package/esm/Action.mjs +1186 -837
- package/esm/Alert.d.ts +19 -2
- package/esm/Alert.d.ts.map +1 -1
- package/esm/Alert.js.map +1 -1
- package/esm/Alert.mjs +2642 -2345
- package/esm/Allocation.d.ts +19 -2
- package/esm/Allocation.d.ts.map +1 -1
- package/esm/Allocation.js.map +1 -1
- package/esm/Allocation.mjs +2622 -2302
- package/esm/AlpacaAccount.d.ts +19 -2
- package/esm/AlpacaAccount.d.ts.map +1 -1
- package/esm/AlpacaAccount.js.map +1 -1
- package/esm/AlpacaAccount.mjs +2645 -2102
- package/esm/Asset.d.ts +19 -2
- package/esm/Asset.d.ts.map +1 -1
- package/esm/Asset.js.map +1 -1
- package/esm/Asset.mjs +2602 -1542
- package/esm/Authenticator.d.ts +19 -2
- package/esm/Authenticator.d.ts.map +1 -1
- package/esm/Authenticator.js.map +1 -1
- package/esm/Authenticator.mjs +2594 -2288
- package/esm/Customer.d.ts +19 -2
- package/esm/Customer.d.ts.map +1 -1
- package/esm/Customer.js.map +1 -1
- package/esm/Customer.mjs +2497 -2218
- package/esm/EconomicEvent.d.ts +19 -2
- package/esm/EconomicEvent.d.ts.map +1 -1
- package/esm/EconomicEvent.js.map +1 -1
- package/esm/EconomicEvent.mjs +699 -365
- package/esm/MarketSentiment.d.ts +19 -2
- package/esm/MarketSentiment.d.ts.map +1 -1
- package/esm/MarketSentiment.js.map +1 -1
- package/esm/MarketSentiment.mjs +682 -338
- package/esm/NewsArticle.d.ts +19 -2
- package/esm/NewsArticle.d.ts.map +1 -1
- package/esm/NewsArticle.js.map +1 -1
- package/esm/NewsArticle.mjs +2105 -1653
- package/esm/NewsArticleAssetSentiment.d.ts +19 -2
- package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
- package/esm/NewsArticleAssetSentiment.js.map +1 -1
- package/esm/NewsArticleAssetSentiment.mjs +1864 -1562
- package/esm/ScheduledOptionOrder.d.ts +19 -2
- package/esm/ScheduledOptionOrder.d.ts.map +1 -1
- package/esm/ScheduledOptionOrder.js.map +1 -1
- package/esm/ScheduledOptionOrder.mjs +598 -314
- package/esm/Session.d.ts +19 -2
- package/esm/Session.d.ts.map +1 -1
- package/esm/Session.js.map +1 -1
- package/esm/Session.mjs +2583 -2292
- package/esm/Trade.d.ts +19 -2
- package/esm/Trade.d.ts.map +1 -1
- package/esm/Trade.js.map +1 -1
- package/esm/Trade.mjs +1252 -793
- package/esm/User.d.ts +19 -2
- package/esm/User.d.ts.map +1 -1
- package/esm/User.js.map +1 -1
- package/esm/User.mjs +2423 -2011
- package/esm/VerificationToken.d.ts +19 -2
- package/esm/VerificationToken.d.ts.map +1 -1
- package/esm/VerificationToken.js.map +1 -1
- package/esm/VerificationToken.mjs +628 -326
- package/esm/generated/typegraphql-prisma/enhance.js.map +1 -1
- package/esm/generated/typegraphql-prisma/enhance.mjs +1 -1
- package/esm/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.d.ts +1 -1
- package/esm/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.d.ts.map +1 -1
- package/esm/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.js.map +1 -1
- package/esm/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.mjs +7 -7
- package/esm/prismaClient.d.ts +4 -5
- package/esm/prismaClient.d.ts.map +1 -1
- package/esm/prismaClient.js.map +1 -1
- package/esm/prismaClient.mjs +13 -11
- package/generated/typegraphql-prisma/enhance.cjs +1 -1
- package/generated/typegraphql-prisma/enhance.js.map +1 -1
- package/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.cjs +6 -6
- package/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.d.ts +1 -1
- package/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.d.ts.map +1 -1
- package/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.js.map +1 -1
- package/package.json +1 -1
- package/prismaClient.cjs +13 -11
- package/prismaClient.d.ts +4 -5
- package/server.cjs +37 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AccountWhereUniqueInput.d.ts","sourceRoot":"","sources":["../../../../../src/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mDAAmD,EAAE,MAAM,+DAA+D,CAAC;AACpI,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,qBACa,uBAAuB;IAIlC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAKxB,0BAA0B,CAAC,EAAE,mDAAmD,GAAG,SAAS,CAAC;IAK7F,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAKtC,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAKrC,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAKtC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAKhC,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAKhC,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAKpC,
|
1
|
+
{"version":3,"file":"AccountWhereUniqueInput.d.ts","sourceRoot":"","sources":["../../../../../src/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mDAAmD,EAAE,MAAM,+DAA+D,CAAC;AACpI,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,qBACa,uBAAuB;IAIlC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAKxB,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAKvC,0BAA0B,CAAC,EAAE,mDAAmD,GAAG,SAAS,CAAC;IAK7F,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAKtC,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAKrC,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAKtC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAKhC,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAKhC,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAKpC,aAAa,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAKjD,YAAY,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAKhD,UAAU,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAK3C,UAAU,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAK9C,KAAK,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAKzC,QAAQ,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAK5C,aAAa,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAKjD,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAKvC,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAKvC,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACvC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AccountWhereUniqueInput.js","sourceRoot":"","sources":["../../../../../src/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAI5C,uIAAoI;AACpI,mEAAgE;AAChE,6DAA0D;AAC1D,mEAAgE;AAChE,yDAAsD;AACtD,yEAAsE;AACtE,qEAAkE;AAClE,qDAAkD;AAG3C,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CA+FnC,CAAA;AA/FY,0DAAuB;AAIlC;IAHC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE;QAClC,QAAQ,EAAE,IAAI;KACf,CAAC;;mDACsB;AAKxB;IAHC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"AccountWhereUniqueInput.js","sourceRoot":"","sources":["../../../../../src/generated/typegraphql-prisma/resolvers/inputs/AccountWhereUniqueInput.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/prismaClient.cjs
CHANGED
@@ -3,18 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const client_1 = require("@prisma/client");
|
4
4
|
const extension_accelerate_1 = require("@prisma/extension-accelerate");
|
5
5
|
const isProduction = process.env.NODE_ENV === "production";
|
6
|
+
// Initialize a singleton PrismaClient with a connection pool that persists across requests
|
6
7
|
let prisma;
|
7
|
-
|
8
|
-
|
9
|
-
prisma = new client_1.PrismaClient(
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
8
|
+
// Create a singleton that works in all environments
|
9
|
+
if (!global.prisma) {
|
10
|
+
global.prisma = new client_1.PrismaClient({
|
11
|
+
log: ['error', 'warn'],
|
12
|
+
// Increase connection timeout and pool size for better reliability
|
13
|
+
datasources: {
|
14
|
+
db: {
|
15
|
+
url: process.env.DATABASE_URL,
|
16
|
+
},
|
17
|
+
},
|
18
|
+
}).$extends((0, extension_accelerate_1.withAccelerate)());
|
18
19
|
}
|
20
|
+
prisma = global.prisma;
|
19
21
|
exports.default = prisma;
|
20
22
|
//# sourceMappingURL=prismaClient.js.map
|
package/prismaClient.d.ts
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
import { PrismaClient } from "@prisma/client";
|
2
|
+
/**
|
3
|
+
* Define the global type for PrismaClient to use across environments
|
4
|
+
*/
|
2
5
|
declare global {
|
3
|
-
|
4
|
-
interface Global {
|
5
|
-
prisma?: PrismaClient;
|
6
|
-
}
|
7
|
-
}
|
6
|
+
var prisma: PrismaClient | undefined;
|
8
7
|
}
|
9
8
|
declare let prisma: PrismaClient;
|
10
9
|
export default prisma;
|
package/server.cjs
CHANGED
@@ -119,6 +119,11 @@ const startServer = async () => {
|
|
119
119
|
await server.start();
|
120
120
|
app.use('/graphql', (0, cors_1.default)(), body_parser_1.default.json(), (0, express4_1.expressMiddleware)(server, {
|
121
121
|
context: async ({ req }) => {
|
122
|
+
// Ensure we're using the global prisma instance and never disconnecting it between requests
|
123
|
+
if (!global.prisma) {
|
124
|
+
console.warn('Prisma client not found in global scope, reinitializing');
|
125
|
+
global.prisma = prismaClient_1.default;
|
126
|
+
}
|
122
127
|
console.log('Received headers:', req.headers);
|
123
128
|
console.log('Authorization header:', req.headers.authorization);
|
124
129
|
// Extract token from Authorization header
|
@@ -151,11 +156,11 @@ const startServer = async () => {
|
|
151
156
|
catch (e) {
|
152
157
|
console.error('JWT verification failed:', e);
|
153
158
|
console.error('Received token:', token);
|
154
|
-
return { prisma:
|
159
|
+
return { prisma: global.prisma, req, authError: 'Invalid token' };
|
155
160
|
}
|
156
161
|
}
|
157
162
|
}
|
158
|
-
return { prisma:
|
163
|
+
return { prisma: global.prisma, req, user };
|
159
164
|
},
|
160
165
|
}));
|
161
166
|
// Custom error handling middleware for express
|
@@ -175,6 +180,11 @@ const startServer = async () => {
|
|
175
180
|
schema,
|
176
181
|
context: async (ctx, msg, args) => {
|
177
182
|
var _a;
|
183
|
+
// Ensure we're using the global prisma instance for WebSocket connections too
|
184
|
+
if (!global.prisma) {
|
185
|
+
console.warn('Prisma client not found in global scope for WebSocket context, reinitializing');
|
186
|
+
global.prisma = prismaClient_1.default;
|
187
|
+
}
|
178
188
|
const authHeader = ((_a = ctx.connectionParams) === null || _a === void 0 ? void 0 : _a.authorization) || '';
|
179
189
|
const token = authHeader.startsWith('Bearer ') ? authHeader.split(' ')[1] : '';
|
180
190
|
let user = null;
|
@@ -201,11 +211,11 @@ const startServer = async () => {
|
|
201
211
|
}
|
202
212
|
catch (e) {
|
203
213
|
console.error('JWT verification failed:', e);
|
204
|
-
return { prisma:
|
214
|
+
return { prisma: global.prisma, authError: 'Invalid token' };
|
205
215
|
}
|
206
216
|
}
|
207
217
|
}
|
208
|
-
return { prisma:
|
218
|
+
return { prisma: global.prisma, user };
|
209
219
|
},
|
210
220
|
}, wsServer);
|
211
221
|
const PORT = process.env.PORT || 4000;
|
@@ -224,8 +234,30 @@ process.on('unhandledRejection', (reason, promise) => {
|
|
224
234
|
process.on('uncaughtException', (error) => {
|
225
235
|
console.error('Uncaught Exception:', error);
|
226
236
|
});
|
237
|
+
// Only disconnect Prisma when the process is truly shutting down
|
227
238
|
process.on('SIGINT', async () => {
|
228
|
-
|
239
|
+
var _a;
|
240
|
+
console.log('Gracefully shutting down and closing database connections...');
|
241
|
+
try {
|
242
|
+
await ((_a = global.prisma) === null || _a === void 0 ? void 0 : _a.$disconnect());
|
243
|
+
console.log('Database connections closed successfully');
|
244
|
+
}
|
245
|
+
catch (e) {
|
246
|
+
console.error('Error disconnecting from database:', e);
|
247
|
+
}
|
248
|
+
process.exit(0);
|
249
|
+
});
|
250
|
+
// Also handle SIGTERM for containerized environments
|
251
|
+
process.on('SIGTERM', async () => {
|
252
|
+
var _a;
|
253
|
+
console.log('Received SIGTERM, gracefully shutting down...');
|
254
|
+
try {
|
255
|
+
await ((_a = global.prisma) === null || _a === void 0 ? void 0 : _a.$disconnect());
|
256
|
+
console.log('Database connections closed successfully');
|
257
|
+
}
|
258
|
+
catch (e) {
|
259
|
+
console.error('Error disconnecting from database:', e);
|
260
|
+
}
|
229
261
|
process.exit(0);
|
230
262
|
});
|
231
263
|
// // run restartDatabase() function
|