@rapidrest/service-core 1.0.0-rc.21 → 1.0.0-rc.22
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/dist/lib/ApiErrors.js +2 -0
- package/dist/lib/ApiErrors.js.map +1 -1
- package/dist/lib/Server.js +3 -1
- package/dist/lib/Server.js.map +1 -1
- package/dist/lib/auth/JWTStrategy.js +21 -1
- package/dist/lib/auth/JWTStrategy.js.map +1 -1
- package/dist/lib/decorators/ModelDecorators.js +17 -0
- package/dist/lib/decorators/ModelDecorators.js.map +1 -1
- package/dist/lib/http/Adapters.js +36 -5
- package/dist/lib/http/Adapters.js.map +1 -1
- package/dist/lib/http/Router.js +20 -13
- package/dist/lib/http/Router.js.map +1 -1
- package/dist/lib/models/ModelUtils.js +104 -9
- package/dist/lib/models/ModelUtils.js.map +1 -1
- package/dist/lib/models/RepoUtils.js +89 -5
- package/dist/lib/models/RepoUtils.js.map +1 -1
- package/dist/lib/routes/BaseAdminRoute.js +6 -4
- package/dist/lib/routes/BaseAdminRoute.js.map +1 -1
- package/dist/lib/routes/BasePushRoute.js +32 -5
- package/dist/lib/routes/BasePushRoute.js.map +1 -1
- package/dist/lib/routes/RouteUtils.js +6 -2
- package/dist/lib/routes/RouteUtils.js.map +1 -1
- package/dist/lib/security/ACLUtils.js +4 -2
- package/dist/lib/security/ACLUtils.js.map +1 -1
- package/dist/types/ApiErrors.d.ts +2 -0
- package/dist/types/auth/JWTStrategy.d.ts +1 -0
- package/dist/types/decorators/ModelDecorators.d.ts +7 -0
- package/dist/types/http/Adapters.d.ts +11 -1
- package/dist/types/http/Router.d.ts +3 -1
- package/dist/types/models/ModelUtils.d.ts +30 -0
- package/dist/types/routes/BasePushRoute.d.ts +4 -0
- package/package.json +2 -2
|
@@ -49,6 +49,10 @@ export class BasePushRoute {
|
|
|
49
49
|
this.activeSocks = new Map();
|
|
50
50
|
/** A map of active subscription uids to users. */
|
|
51
51
|
this.activeSubs = new Map();
|
|
52
|
+
/** The maximum number of concurrent sockets a single user may hold open at once. */
|
|
53
|
+
this.maxSocketsPerUser = 10;
|
|
54
|
+
/** The maximum number of channels a single user may be subscribed to at once. */
|
|
55
|
+
this.maxSubscriptionsPerUser = 50;
|
|
52
56
|
}
|
|
53
57
|
init() {
|
|
54
58
|
if (this.redisConfig) {
|
|
@@ -59,6 +63,13 @@ export class BasePushRoute {
|
|
|
59
63
|
}
|
|
60
64
|
}
|
|
61
65
|
async connect(sock, user) {
|
|
66
|
+
// Cap the number of concurrent connections a single user may hold, to prevent an authenticated user
|
|
67
|
+
// from exhausting server resources by opening unbounded sockets.
|
|
68
|
+
if ((this.activeSocks.get(user.uid)?.length ?? 0) >= this.maxSocketsPerUser) {
|
|
69
|
+
this.logger.debug(`User ${user.uid} exceeded the maximum of ${this.maxSocketsPerUser} concurrent push connections.`);
|
|
70
|
+
sock.close(1008, "Too many concurrent connections.");
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
62
73
|
// Establish a new redis pub/sub client for this connection
|
|
63
74
|
const redis = new Redis(this.redisConfig.url, this.redisConfig.options);
|
|
64
75
|
const subs = this.activeSubs.get(user.uid) ?? [user.uid];
|
|
@@ -72,10 +83,12 @@ export class BasePushRoute {
|
|
|
72
83
|
this.logger.error(`Failed to subscribe to push channels: user: ${user.uid}, subs: ${subs}`);
|
|
73
84
|
this.logger.debug(err);
|
|
74
85
|
}
|
|
75
|
-
// Track the socket so it doesn't get automatically cleaned up
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
86
|
+
// Track the socket so it doesn't get automatically cleaned up. Uses an atomic get-or-create so two
|
|
87
|
+
// concurrent connect() calls for a brand-new uid can't clobber each other's tracked array.
|
|
88
|
+
if (!this.activeSocks.has(user.uid)) {
|
|
89
|
+
this.activeSocks.set(user.uid, []);
|
|
90
|
+
}
|
|
91
|
+
this.activeSocks.get(user.uid).push(sock);
|
|
79
92
|
// Set up the outgoing message forwarding handler to the client
|
|
80
93
|
redis.on("message", (channel, message) => {
|
|
81
94
|
this.logger.debug(`Forwarding message to ${user.uid}`);
|
|
@@ -95,10 +108,16 @@ export class BasePushRoute {
|
|
|
95
108
|
if (message.type === "SUBSCRIBE") {
|
|
96
109
|
const subs = Array.isArray(message.data) ? message.data : [message.data];
|
|
97
110
|
const subd = [];
|
|
98
|
-
// Check that the user has permission for each requested channel
|
|
111
|
+
// Check that the user has permission for each requested channel, up to the per-user
|
|
112
|
+
// subscription cap — once the budget is exhausted further requested channels are
|
|
113
|
+
// silently dropped from the approved set, same as a channel lacking ACL permission.
|
|
114
|
+
let remaining = this.maxSubscriptionsPerUser - origSubs.length;
|
|
99
115
|
for (const channel of subs) {
|
|
116
|
+
if (remaining <= 0)
|
|
117
|
+
break;
|
|
100
118
|
if (await this.aclUtils?.hasPermission(user, channel, ACLAction.READ)) {
|
|
101
119
|
subd.push(channel);
|
|
120
|
+
remaining--;
|
|
102
121
|
}
|
|
103
122
|
}
|
|
104
123
|
// Subscribe to all approved channels
|
|
@@ -162,6 +181,14 @@ __decorate([
|
|
|
162
181
|
Config("datastores:events"),
|
|
163
182
|
__metadata("design:type", Object)
|
|
164
183
|
], BasePushRoute.prototype, "redisConfig", void 0);
|
|
184
|
+
__decorate([
|
|
185
|
+
Config("push:max_sockets_per_user", 10),
|
|
186
|
+
__metadata("design:type", Number)
|
|
187
|
+
], BasePushRoute.prototype, "maxSocketsPerUser", void 0);
|
|
188
|
+
__decorate([
|
|
189
|
+
Config("push:max_subscriptions_per_user", 50),
|
|
190
|
+
__metadata("design:type", Number)
|
|
191
|
+
], BasePushRoute.prototype, "maxSubscriptionsPerUser", void 0);
|
|
165
192
|
__decorate([
|
|
166
193
|
Init,
|
|
167
194
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePushRoute.js","sourceRoot":"","sources":["../../../src/routes/BasePushRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,aAAa;IAA1B;QAII,oDAAoD;QAC5C,gBAAW,GAAsB,IAAI,GAAG,EAAE,CAAC;QAEnD,kDAAkD;QAC1C,eAAU,GAA0B,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"BasePushRoute.js","sourceRoot":"","sources":["../../../src/routes/BasePushRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,8 +132,12 @@ export class RouteUtils {
|
|
|
132
132
|
defaultAcl = await this.aclUtils.saveDefaultACL(defaultAcl);
|
|
133
133
|
}
|
|
134
134
|
catch (err) {
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
// If the default ACL can't be persisted, `checkRequestPerms` will have nothing to find for this
|
|
136
|
+
// route's uid. Registration must not proceed in that case — continuing would silently register
|
|
137
|
+
// a `@Protect`-ed route with no permission enforcement at all.
|
|
138
|
+
this.logger?.error(`Failed to save default ACL for: ${defaultAcl?.uid}. Refusing to register this route.`);
|
|
139
|
+
this.logger?.debug(err);
|
|
140
|
+
throw err;
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
// Each route definition will contain a set of functions that have been decorated to include route metadata.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteUtils.js","sourceRoot":"","sources":["../../../src/routes/RouteUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RouteUtils.js","sourceRoot":"","sources":["../../../src/routes/RouteUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,10 +86,9 @@ export class ACLUtils {
|
|
|
86
86
|
* @param req The request whose URL path and method will be verified.
|
|
87
87
|
*/
|
|
88
88
|
async checkRequestPerms(uid, user, req) {
|
|
89
|
-
let result = true;
|
|
90
89
|
// If RBAC is disabled just return
|
|
91
90
|
if (!this.enabled) {
|
|
92
|
-
return
|
|
91
|
+
return true;
|
|
93
92
|
}
|
|
94
93
|
// Request-scoped cache avoids duplicate Redis/DB fetches when the same ACL uid is
|
|
95
94
|
// checked more than once within a single request (e.g. class + method @Protect).
|
|
@@ -97,6 +96,9 @@ export class ACLUtils {
|
|
|
97
96
|
req._aclCache = new Map();
|
|
98
97
|
}
|
|
99
98
|
const reqCache = req._aclCache;
|
|
99
|
+
// Deny by default — if the ACL record can't be found (e.g. it failed to persist at
|
|
100
|
+
// registration time) a `@Protect`-ed route must not silently become open to everyone.
|
|
101
|
+
let result = false;
|
|
100
102
|
let acl = await this.findACL(uid, [], reqCache);
|
|
101
103
|
if (acl) {
|
|
102
104
|
// Make sure all parents are populated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACLUtils.js","sourceRoot":"","sources":["../../../src/security/ACLUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAW,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAqB,SAAS,EAAa,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAE1D,MAAM,cAAc,GAAW,4BAA4B,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QAEW,YAAO,GAAY,IAAI,CAAC;QAEvB,aAAQ,GAAW,EAAE,CAAC;QAMtB,iBAAY,GAAa,CAAC,OAAO,CAAC,CAAC;IA4e/C,CAAC;IA1eG,IAAY,WAAW;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAsB,CAAC;IACvE,CAAC;IAED,IAAY,IAAI;QACZ,MAAM,IAAI,GAAQ,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGO,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAAyB,EAAE,YAAoB;QACjE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;YACb,OAAO,YAAY,KAAK,WAAW,CAAC;QACxC,CAAC;QACD,8EAA8E;QAC9E,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC/D,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,YAAY;oBAAE,OAAO,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,IAAyB,EAAE,GAAY;QAC/E,IAAI,MAAM,GAAY,IAAI,CAAC;QAE3B,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,kFAAkF;QAClF,iFAAiF;QACjF,IAAI,CAAE,GAAW,CAAC,SAAS,EAAE,CAAC;YACzB,GAAW,CAAC,SAAS,GAAG,IAAI,GAAG,EAAoC,CAAC;QACzE,CAAC;QACD,MAAM,QAAQ,GAAgD,GAAW,CAAC,SAAS,CAAC;QAEpF,IAAI,GAAG,GAAkC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,GAAG,EAAE,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,sGAAsG;YACtG,qGAAqG;YACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,2FAA2F;gBAC3F,kDAAkD;gBAClD,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,iEAAiE;oBACjE,QAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC/B,KAAK,QAAQ;4BACT,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;wBACV,KAAK,KAAK;4BACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC7D,MAAM;wBACV,KAAK,MAAM;4BACP,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;wBACV,KAAK,KAAK;4BACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;4BAC/D,MAAM;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,aAAa,CACtB,IAAyB,EACzB,GAA+B,EAC/B,MAAiB;QAEjB,IAAI,MAAM,GAAmB,IAAI,CAAC;QAElC,8GAA8G;QAC9G,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,sGAAsG;QACtG,qGAAqG;QACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,8EAA8E;QAC9E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAkC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE3D,oDAAoD;QACpD,IAAI,MAAM,EAAE,CAAC;YACT,sDAAsD;YACtD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAErB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,QAAQ,MAAM,EAAE,CAAC;oBACb,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;oBACV,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;oBACV,KAAK,SAAS,CAAC,IAAI;wBACf,MAAM;4BACF,MAAM,CAAC,IAAI;gCACX,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvF,MAAM;oBACV,KAAK,SAAS,CAAC,IAAI;wBACf,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;wBACrB,MAAM;oBACV,KAAK,SAAS,CAAC,OAAO;wBAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;wBACxB,MAAM;oBACV,KAAK,SAAS,CAAC,MAAM;wBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACvB,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAChB,QAAgB,EAChB,aAAuB,EAAE,EACzB,QAAqD;QAErD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,+EAA+E;QAC/E,sEAAsE;QACtE,IAAI,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QAC/C,CAAC;QAED,IAAI,GAAG,GAAkC,SAAS,CAAC;QAEnD,6CAA6C;QAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,GAAkB,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;YACxF,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,8BAA8B;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBACvC,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC5D,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,CAAC;YAED,2DAA2D;YAC3D,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1B,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACrG,CAAC;QACL,CAAC;QAED,8EAA8E;QAC9E,iDAAiD;QACjD,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,mFAAmF;QACnF,kDAAkD;QAClD,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,GAAW;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;oBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,qDAAqD;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,OAAO,CAAC,IAAuB,EAAE,IAAuB;QAC5D,IAAI,MAAM,GAAW,CAAC,CAAC;QAEvB,yBAAyB;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC;QACb,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,WAAW,GAA0B,SAAS,CAAC;YAEnD,mCAAmC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,iEAAiE;gBACjE,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,WAAW,GAA0B,SAAS,CAAC;YAEnD,mCAAmC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;oBAChD,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,iEAAiE;gBACjE,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,GAAsB;QACvC,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YACvC,MAAM,IAAI,GAA2B,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAkC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAS,CAAC,CAAC;YACjG,oEAAoE;YACpE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,sDAAsD;YACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,GAAG,CAAC,GAAG,cAAc,QAAQ,CAAC,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CACtH,CAAC;YACN,CAAC;YACD,MAAM,QAAQ,GAA2B,IAAI,sBAAsB,CAAC;gBAChE,GAAG,GAAG;gBACN,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,GAAyB,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnG,oEAAoE;YACpE,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,sDAAsD;YACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACX,oDAAoD,GAAG,CAAC,GAAG,cAAc,QAAQ,CAAC,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CACtH,CAAC;YACN,CAAC;YACD,MAAM,MAAM,GAAyB,IAAI,oBAAoB,CAAC;gBAC1D,GAAG,GAAG;gBACN,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1G,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,cAAc,CAAC,GAAsB;QAC9C,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,+DAA+D;QAC/D,IAAI,UAAU,GAAsB;YAChC,GAAG,GAAG;YACN,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,EAAE;SAC5B,CAAC;QAEF,4FAA4F;QAC5F,MAAM,WAAW,GAAW,CAAC,CAAC;QAC9B,IAAI,QAAQ,GAAW,CAAC,CAAC;QACzB,OAAO,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACD,iFAAiF;gBACjF,0EAA0E;gBAC1E,gFAAgF;gBAChF,mFAAmF;gBACnF,MAAM,QAAQ,GAAkC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAEnF,IAAI,QAAQ,EAAE,CAAC;oBACX,sCAAsC;oBACtC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;oBACtC,UAAU,GAAG,QAAQ,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,0CAA0C;oBAC1C,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;wBACxB,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,SAAS,EAAE,UAAU,CAAC,GAAG;wBACzB,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;gBAED,yCAAyC;gBACzC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC/B,QAAQ,GAAG,WAAW,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;oBACzB,sFAAsF;oBACtF,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACJ,kCAAkC;oBAClC,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACI,SAAS,CAAC,GAAsB,EAAE,IAAyB;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,GAAsB,EAAE,aAAuB,EAAE;QACzE,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ;AApfU;IADN,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC;;yCACE;AAIvB;IADP,MAAM,CAAC,iBAAiB,CAAC;8BACR,iBAAiB;yCAAC;AAE5B;IADP,MAAM;;wCACc;AAEb;IADP,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;;8CACQ;AAiBnC;IADP,IAAI;;;;oCAUJ"}
|
|
1
|
+
{"version":3,"file":"ACLUtils.js","sourceRoot":"","sources":["../../../src/security/ACLUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare enum ApiErrors {
|
|
|
5
5
|
UNKNOWN = "api-001",
|
|
6
6
|
INTERNAL_ERROR = "api-002",
|
|
7
7
|
INVALID_REQUEST = "api-003",
|
|
8
|
+
PAYLOAD_TOO_LARGE = "api-004",
|
|
8
9
|
NOT_FOUND = "api-010",
|
|
9
10
|
IDENTIFIER_EXISTS = "api-011",
|
|
10
11
|
INVALID_OBJECT_VERSION = "api-012",
|
|
@@ -24,6 +25,7 @@ export declare enum ApiErrorMessages {
|
|
|
24
25
|
UNKNOWN = "An unknown error has occurred. Please try again.",
|
|
25
26
|
INTERNAL_ERROR = "An internal error has occurred. Please contact the adminstrator.",
|
|
26
27
|
INVALID_REQUEST = "Invalid message or request.",
|
|
28
|
+
PAYLOAD_TOO_LARGE = "The request body exceeds the maximum allowed size.",
|
|
27
29
|
NOT_FOUND = "No resource could be found with the specified identifier.",
|
|
28
30
|
IDENTIFIER_EXISTS = "A resource with that identifier already exists.",
|
|
29
31
|
INVALID_OBJECT_VERSION = "Invalid object version. Do you have the latest version?",
|
|
@@ -54,6 +54,7 @@ export declare class JWTStrategy {
|
|
|
54
54
|
private options;
|
|
55
55
|
private readonly _headerSchemeRegex;
|
|
56
56
|
constructor(options?: JWTStrategyOptions);
|
|
57
|
+
private init;
|
|
57
58
|
/**
|
|
58
59
|
* Scans the provided request object for an authentication token this strategy can process.
|
|
59
60
|
* @param req The request to scan for an auth token.
|
|
@@ -44,6 +44,13 @@ export declare function DataStore(datastore: string): (target: any) => void;
|
|
|
44
44
|
* Apply this to a property that is considered a unique identifier.
|
|
45
45
|
*/
|
|
46
46
|
export declare function Identifier(target: any, propertyKey: string | symbol): void;
|
|
47
|
+
/**
|
|
48
|
+
* Apply this to a property that must never be settable by a client. `RepoUtils.create()`/`update()` strip any
|
|
49
|
+
* client-supplied value for a `@ReadOnly` property before persisting — the property's existing/declared-default
|
|
50
|
+
* value is kept instead, regardless of what the request body contains. Use this for fields that should only ever
|
|
51
|
+
* be changed by application/business logic (e.g. `roles`, ownership fields, computed/derived state).
|
|
52
|
+
*/
|
|
53
|
+
export declare function ReadOnly(target: any, propertyKey: string | symbol): void;
|
|
47
54
|
type PartialACL = Partial<AccessControlList> & Pick<AccessControlList, "records">;
|
|
48
55
|
/**
|
|
49
56
|
* Apply this to a model class to indicate that it should be protected by the AccessControlList security system.
|
|
@@ -79,9 +79,19 @@ export declare class UWSResponse implements HttpResponse {
|
|
|
79
79
|
/** Converts a numeric status code to the "200 OK" string format uWS expects. */
|
|
80
80
|
private _statusToString;
|
|
81
81
|
}
|
|
82
|
+
/** Default maximum accepted request body size (10 MiB) when no explicit limit is configured. */
|
|
83
|
+
export declare const DEFAULT_MAX_BODY_SIZE: number;
|
|
82
84
|
/**
|
|
83
85
|
* Reads the full request body from a uWS response object as a Buffer.
|
|
84
86
|
* Body parsing (JSON / URL-encoded) is applied based on content-type and the result
|
|
85
87
|
* is cached on `req.body` / `req.rawBody`.
|
|
88
|
+
*
|
|
89
|
+
* If the accumulated body exceeds `maxBodySize`, a `413 Payload Too Large` response is written
|
|
90
|
+
* directly and the connection is ended — the caller must check the resolved value and skip running
|
|
91
|
+
* any further middleware/routing for this request when it's `false`, since a response has already
|
|
92
|
+
* been sent.
|
|
93
|
+
*
|
|
94
|
+
* @returns `true` if the body was read normally (or there was none to read), `false` if the request
|
|
95
|
+
* was rejected for exceeding `maxBodySize`.
|
|
86
96
|
*/
|
|
87
|
-
export declare function readBody(uwsRes: UWSHttpResponse, req: UWSRequest): Promise<
|
|
97
|
+
export declare function readBody(uwsRes: UWSHttpResponse, req: UWSRequest, maxBodySize?: number): Promise<boolean>;
|
|
@@ -57,7 +57,9 @@ export declare class HttpRouter {
|
|
|
57
57
|
* avoid clobbering an app-defined root catch-all with the default JSON 404 fallback.
|
|
58
58
|
*/
|
|
59
59
|
private readonly rootWildcardVerbs;
|
|
60
|
-
|
|
60
|
+
/** Maximum accepted request body size, in bytes. */
|
|
61
|
+
private readonly maxBodySize;
|
|
62
|
+
constructor(uwsApp: uWS.TemplatedApp, maxBodySize?: number);
|
|
61
63
|
/** Returns `true` if the server is currently listening. */
|
|
62
64
|
get isListening(): boolean;
|
|
63
65
|
/** Register global middleware that runs before every route handler. */
|
|
@@ -10,6 +10,7 @@ export declare class ModelUtils {
|
|
|
10
10
|
/** The `typeorm` module containing the query operators used to build SQL queries. */
|
|
11
11
|
private static typeOrm;
|
|
12
12
|
private static idPropertyCache;
|
|
13
|
+
private static readOnlyPropertyCache;
|
|
13
14
|
/**
|
|
14
15
|
* Provides the `typeorm` module to use when building SQL queries. This is called automatically when a SQL
|
|
15
16
|
* datastore connection is established.
|
|
@@ -28,6 +29,13 @@ export declare class ModelUtils {
|
|
|
28
29
|
* @returns The list of all property names that have the @Identifier decorator applied.
|
|
29
30
|
*/
|
|
30
31
|
static getIdPropertyNames(modelClass: any): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves a list of all of the specified class's properties that have the @ReadOnly decorator applied.
|
|
34
|
+
*
|
|
35
|
+
* @param modelClass The class definition to search for read-only properties from.
|
|
36
|
+
* @returns The list of all property names that have the @ReadOnly decorator applied.
|
|
37
|
+
*/
|
|
38
|
+
static getReadOnlyPropertyNames(modelClass: any): string[];
|
|
31
39
|
/**
|
|
32
40
|
* Builds a query object for use with `find` functions of the given repository for retrieving objects matching the
|
|
33
41
|
* specified unique identifier.
|
|
@@ -68,6 +76,28 @@ export declare class ModelUtils {
|
|
|
68
76
|
* @param param
|
|
69
77
|
*/
|
|
70
78
|
private static getQueryParamValue;
|
|
79
|
+
/**
|
|
80
|
+
* Recursively verifies that no key in the given value (at any depth, including keys of objects nested inside
|
|
81
|
+
* arrays) is a MongoDB operator (starts with `$`) or uses dot-notation field addressing (contains `.`). Client
|
|
82
|
+
* input is only ever meant to supply plain field values/comparison operands — never raw Mongo query operators —
|
|
83
|
+
* so any such key indicates an attempt to inject arbitrary query behavior (e.g. `$where`, `$expr`, or reaching
|
|
84
|
+
* into a field the API doesn't expose via dot-notation).
|
|
85
|
+
*
|
|
86
|
+
* @param value The value to check, typically a parsed query parameter.
|
|
87
|
+
* @throws {ApiError} If an operator-like or dotted key is found anywhere in `value`.
|
|
88
|
+
*/
|
|
89
|
+
private static assertNoOperatorInjection;
|
|
90
|
+
/** Maximum accepted length of a client-supplied `like()` search pattern. */
|
|
91
|
+
private static readonly MAX_LIKE_PATTERN_LENGTH;
|
|
92
|
+
/**
|
|
93
|
+
* Best-effort check for regex patterns vulnerable to catastrophic backtracking (ReDoS). Rejects patterns that
|
|
94
|
+
* are unreasonably long, or that contain a quantified group whose contents are themselves quantified (e.g.
|
|
95
|
+
* `(a+)+`, `(a*)*`) — the classic shape that causes exponential backtracking in JS's regex engine. This is not
|
|
96
|
+
* an exhaustive defense; it catches the common cases a client would realistically send.
|
|
97
|
+
*
|
|
98
|
+
* @param pattern The user-supplied `like()` pattern.
|
|
99
|
+
*/
|
|
100
|
+
private static isUnsafeRegexPattern;
|
|
71
101
|
/**
|
|
72
102
|
* Given a string containing a parameter value and/or a comparison operation return a MongoDB compatible find value.
|
|
73
103
|
* e.g.
|
|
@@ -31,6 +31,10 @@ export declare class BasePushRoute {
|
|
|
31
31
|
private activeSubs;
|
|
32
32
|
private logger;
|
|
33
33
|
private redisConfig;
|
|
34
|
+
/** The maximum number of concurrent sockets a single user may hold open at once. */
|
|
35
|
+
private maxSocketsPerUser;
|
|
36
|
+
/** The maximum number of channels a single user may be subscribed to at once. */
|
|
37
|
+
private maxSubscriptionsPerUser;
|
|
34
38
|
/** A persistent redis client used to publish outgoing push messages. */
|
|
35
39
|
private redisPub?;
|
|
36
40
|
private init;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rapidrest/service-core",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.22",
|
|
4
4
|
"description": "Provides all core functionality for RapidREST based backend services.",
|
|
5
5
|
"repository": "https://github.com/rapidrest/service-core.git",
|
|
6
6
|
"author": "RapidREST <rapidrests@gmail.com>",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@rapidrest/core": "^1.
|
|
60
|
+
"@rapidrest/core": "^1.4.0",
|
|
61
61
|
"@swc/core": "^1.15.41",
|
|
62
62
|
"@types/ioredis-mock": "^8.2.7",
|
|
63
63
|
"@types/node": "^25.9.2",
|