@rapidrest/service-core 1.0.0-rc.21 → 1.0.0-rc.23
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/OpenApiSpec.js.map +1 -1
- package/dist/lib/Server.js +25 -15
- package/dist/lib/Server.js.map +1 -1
- package/dist/lib/auth/AuthMiddleware.js +2 -1
- package/dist/lib/auth/AuthMiddleware.js.map +1 -1
- package/dist/lib/auth/JWTStrategy.js +21 -1
- package/dist/lib/auth/JWTStrategy.js.map +1 -1
- package/dist/lib/database/ConnectionManager.js +7 -1
- package/dist/lib/database/ConnectionManager.js.map +1 -1
- package/dist/lib/database/MongoSchemaSync.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/IWebSocketShim.js +2 -0
- package/dist/lib/http/IWebSocketShim.js.map +1 -0
- package/dist/lib/http/MiddlewareChain.js +129 -0
- package/dist/lib/http/MiddlewareChain.js.map +1 -0
- package/dist/lib/http/RuntimeDetect.js +8 -0
- package/dist/lib/http/RuntimeDetect.js.map +1 -0
- package/dist/lib/http/bun/BunAdapters.js +270 -0
- package/dist/lib/http/bun/BunAdapters.js.map +1 -0
- package/dist/lib/http/bun/BunRouter.js +377 -0
- package/dist/lib/http/bun/BunRouter.js.map +1 -0
- package/dist/lib/http/bun/BunWebSocket.js +48 -0
- package/dist/lib/http/bun/BunWebSocket.js.map +1 -0
- package/dist/lib/http/index.js +13 -3
- package/dist/lib/http/index.js.map +1 -1
- package/dist/lib/http/{Adapters.js → uWS/Adapters.js} +65 -27
- package/dist/lib/http/uWS/Adapters.js.map +1 -0
- package/dist/lib/http/{Router.js → uWS/Router.js} +24 -133
- package/dist/lib/http/uWS/Router.js.map +1 -0
- package/dist/lib/http/uWS/WebSocket.js.map +1 -0
- package/dist/lib/models/ModelUtils.js +104 -9
- package/dist/lib/models/ModelUtils.js.map +1 -1
- package/dist/lib/models/RepoUtils.js +89 -6
- package/dist/lib/models/RepoUtils.js.map +1 -1
- package/dist/lib/routes/BaseAdminRoute.js +7 -5
- package/dist/lib/routes/BaseAdminRoute.js.map +1 -1
- package/dist/lib/routes/BaseMetricsRoute.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/CRUDRoute.js.map +1 -1
- package/dist/lib/routes/ModelRoute.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 +10 -5
- package/dist/lib/security/ACLUtils.js.map +1 -1
- package/dist/lib/security/AccessControlListMongo.js +29 -29
- package/dist/lib/security/AccessControlListSQL.js +29 -29
- package/dist/lib/security/BaseACLRoute.js.map +1 -1
- package/dist/lib/test/requestws.js +28 -3
- package/dist/lib/test/requestws.js.map +1 -1
- package/dist/types/ApiErrors.d.ts +2 -0
- package/dist/types/OpenApiSpec.d.ts +1 -1
- package/dist/types/Server.d.ts +4 -4
- package/dist/types/auth/AuthMiddleware.d.ts +2 -2
- package/dist/types/auth/AuthStrategy.d.ts +2 -2
- package/dist/types/auth/BasicStrategy.d.ts +3 -3
- package/dist/types/auth/JWTStrategy.d.ts +3 -2
- package/dist/types/decorators/ModelDecorators.d.ts +8 -1
- package/dist/types/decorators/RouteDecorators.d.ts +1 -1
- package/dist/types/http/IWebSocketShim.d.ts +11 -0
- package/dist/types/http/MiddlewareChain.d.ts +40 -0
- package/dist/types/http/RuntimeDetect.d.ts +2 -0
- package/dist/types/http/bun/BunAdapters.d.ts +128 -0
- package/dist/types/http/bun/BunRouter.d.ts +79 -0
- package/dist/types/http/bun/BunWebSocket.d.ts +35 -0
- package/dist/types/http/index.d.ts +12 -6
- package/dist/types/http/types.d.ts +21 -0
- package/dist/types/http/{Adapters.d.ts → uWS/Adapters.d.ts} +24 -2
- package/dist/types/http/{Router.d.ts → uWS/Router.d.ts} +8 -32
- package/dist/types/http/{WebSocket.d.ts → uWS/WebSocket.d.ts} +6 -5
- package/dist/types/models/ModelUtils.d.ts +30 -0
- package/dist/types/models/RepoUtils.d.ts +2 -2
- package/dist/types/routes/BaseAdminRoute.d.ts +3 -3
- package/dist/types/routes/BaseMetricsRoute.d.ts +1 -1
- package/dist/types/routes/BasePushRoute.d.ts +4 -0
- package/dist/types/routes/BaseStaticRoute.d.ts +1 -1
- package/dist/types/routes/CRUDRoute.d.ts +2 -2
- package/dist/types/routes/ModelRoute.d.ts +2 -2
- package/dist/types/security/ACLUtils.d.ts +6 -3
- package/dist/types/security/AccessControlListMongo.d.ts +1 -1
- package/dist/types/security/AccessControlListSQL.d.ts +1 -1
- package/dist/types/security/BaseACLRoute.d.ts +3 -3
- package/package.json +138 -132
- package/dist/lib/http/Adapters.js.map +0 -1
- package/dist/lib/http/Router.js.map +0 -1
- package/dist/lib/http/WebSocket.js.map +0 -1
- /package/dist/lib/http/{WebSocket.js → uWS/WebSocket.js} +0 -0
|
@@ -104,12 +104,36 @@ export class RepoUtils {
|
|
|
104
104
|
throw new ApiError(ApiErrors.INTERNAL_ERROR, 500, ApiErrorMessages.INTERNAL_ERROR);
|
|
105
105
|
}
|
|
106
106
|
let count = 0;
|
|
107
|
-
// Check user permissions
|
|
107
|
+
// Check user permissions against the class-level ACL. This is a fast-fail gate for users with no
|
|
108
|
+
// legitimate access to the resource type at all; per-record narrowing (below) is an additional layer
|
|
109
|
+
// on top of this, not a replacement for it.
|
|
108
110
|
if (this.aclUtils?.enabled && !options?.ignoreACL) {
|
|
109
111
|
if (!(await this.aclUtils.hasPermission(options?.user, this.defaultACLUid, ACLAction.READ))) {
|
|
110
112
|
throw new ApiError(ApiErrors.AUTH_PERMISSION_FAILURE, 403, ApiErrorMessages.AUTH_PERMISSION_FAILURE);
|
|
111
113
|
}
|
|
112
114
|
}
|
|
115
|
+
// Record-level ACLs aren't reflected in the query itself, so the matched uids must be checked
|
|
116
|
+
// individually and counted rather than delegating the count to the database.
|
|
117
|
+
if (this.aclUtils?.enabled && !options?.ignoreACL && this.modelClass.recordACL) {
|
|
118
|
+
let uids = [];
|
|
119
|
+
if (this.repo instanceof MongoRepository) {
|
|
120
|
+
if (Array.isArray(query)) {
|
|
121
|
+
uids = await this.repo.distinct("uid", query[0].$match);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
uids = await this.repo.distinct("uid", query["$match"] ? query["$match"] : query);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
(await this.repo.find(query)).forEach((obj) => uids.push(obj.uid));
|
|
129
|
+
}
|
|
130
|
+
for (const uid of uids) {
|
|
131
|
+
if (await this.aclUtils.hasPermission(options?.user, uid, ACLAction.READ)) {
|
|
132
|
+
count++;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return count;
|
|
136
|
+
}
|
|
113
137
|
if (this.repo instanceof MongoRepository) {
|
|
114
138
|
if (Array.isArray(query)) {
|
|
115
139
|
query.push({ $count: "count" });
|
|
@@ -144,6 +168,19 @@ export class RepoUtils {
|
|
|
144
168
|
}
|
|
145
169
|
// Instantiate the object if not already done
|
|
146
170
|
const clazz = this.getClassType(obj);
|
|
171
|
+
// Reset any @ReadOnly property back to the class's own declared default, discarding whatever the client
|
|
172
|
+
// supplied. `obj` may already be a fully-constructed instance by this point (callers such as
|
|
173
|
+
// ModelRoute.doCreateObject() instantiate before calling create()), so simply deleting the incoming key
|
|
174
|
+
// wouldn't be enough — the constructor that would normally re-apply the default never runs again in
|
|
175
|
+
// that case. Setting the value directly works regardless of whether `obj` is a plain object or already
|
|
176
|
+
// an instance.
|
|
177
|
+
const readOnlyProps = ModelUtils.getReadOnlyPropertyNames(clazz);
|
|
178
|
+
if (readOnlyProps.length > 0) {
|
|
179
|
+
const defaults = new clazz();
|
|
180
|
+
for (const prop of readOnlyProps) {
|
|
181
|
+
obj[prop] = defaults[prop];
|
|
182
|
+
}
|
|
183
|
+
}
|
|
147
184
|
const newObj = obj instanceof clazz ? obj : this.instantiateObject(obj, clazz);
|
|
148
185
|
// Make sure an existing object doesn't already exist with the same identifiers
|
|
149
186
|
const ids = [];
|
|
@@ -159,6 +196,20 @@ export class RepoUtils {
|
|
|
159
196
|
if (!this.modelClass.trackChanges && count > 0) {
|
|
160
197
|
throw new ApiError(ApiErrors.IDENTIFIER_EXISTS, 400, ApiErrorMessages.IDENTIFIER_EXISTS);
|
|
161
198
|
}
|
|
199
|
+
else if (this.modelClass.trackChanges &&
|
|
200
|
+
count > 0 &&
|
|
201
|
+
this.modelClass.recordACL &&
|
|
202
|
+
this.aclUtils?.enabled &&
|
|
203
|
+
!(await this.aclUtils.hasPermission(options?.user, newObj.uid, ACLAction.UPDATE))) {
|
|
204
|
+
// A trackChanges + recordACL model is being "re-created" under an existing uid (i.e. a new version).
|
|
205
|
+
// That's only legitimate for someone who already has update rights on the existing record — generic
|
|
206
|
+
// class-level CREATE permission isn't enough, otherwise any creator could inject a new "latest
|
|
207
|
+
// version" of another user's record. Deliberately NOT gated on `options.ignoreACL`: that flag exists
|
|
208
|
+
// so ModelRoute.doCreate() can skip re-doing the class-level CREATE check it already performed
|
|
209
|
+
// upstream — it says nothing about this distinct, additional per-record check, which has no
|
|
210
|
+
// upstream equivalent and must always run.
|
|
211
|
+
throw new ApiError(ApiErrors.AUTH_PERMISSION_FAILURE, 403, ApiErrorMessages.AUTH_PERMISSION_FAILURE);
|
|
212
|
+
}
|
|
162
213
|
// Override the date and version fields with their defaults
|
|
163
214
|
if (newObj instanceof BaseEntity) {
|
|
164
215
|
newObj.dateCreated = new Date();
|
|
@@ -179,8 +230,12 @@ export class RepoUtils {
|
|
|
179
230
|
void this.cacheClient.setex(cacheKey, this.modelClass.cacheTTL, JSON.stringify(result));
|
|
180
231
|
}
|
|
181
232
|
if (this.aclUtils?.enabled && this.modelClass.recordACL) {
|
|
182
|
-
//
|
|
183
|
-
|
|
233
|
+
// Reuse an existing ACL (and its real version/records) if one already exists for this uid — e.g.
|
|
234
|
+
// when creating a new version of a trackChanges record — rather than building a fresh, version-less
|
|
235
|
+
// object from scratch. Building fresh here would let saveACL()'s optimistic-lock version check pass
|
|
236
|
+
// by coincidence (a never-updated ACL is also version 0), silently discarding the real records.
|
|
237
|
+
const existingAcl = await this.aclUtils.findACL(result.uid);
|
|
238
|
+
const acl = existingAcl || {
|
|
184
239
|
uid: result.uid,
|
|
185
240
|
parentUid: options?.acl?.parentUid || this.defaultACLUid,
|
|
186
241
|
records: options?.acl?.records || [],
|
|
@@ -271,9 +326,12 @@ export class RepoUtils {
|
|
|
271
326
|
if (!this.repo) {
|
|
272
327
|
throw new ApiError(ApiErrors.INTERNAL_ERROR, 500, ApiErrorMessages.INTERNAL_ERROR);
|
|
273
328
|
}
|
|
274
|
-
|
|
329
|
+
const reqCache = new Map();
|
|
330
|
+
// Check user permissions against the class-level ACL. This is a fast-fail gate for users with no
|
|
331
|
+
// legitimate access to the resource type at all; per-record narrowing (below, right before the
|
|
332
|
+
// results are returned) is an additional layer on top of this, not a replacement for it.
|
|
275
333
|
if (this.aclUtils?.enabled && !options?.ignoreACL) {
|
|
276
|
-
if (!(await this.aclUtils.hasPermission(options?.user, this.defaultACLUid, ACLAction.READ))) {
|
|
334
|
+
if (!(await this.aclUtils.hasPermission(options?.user, this.defaultACLUid, ACLAction.READ, reqCache))) {
|
|
277
335
|
throw new ApiError(ApiErrors.AUTH_PERMISSION_FAILURE, 403, ApiErrorMessages.AUTH_PERMISSION_FAILURE);
|
|
278
336
|
}
|
|
279
337
|
}
|
|
@@ -380,6 +438,15 @@ export class RepoUtils {
|
|
|
380
438
|
void this.cacheClient.multi(cmds).exec();
|
|
381
439
|
}
|
|
382
440
|
}
|
|
441
|
+
// Record-level ACLs aren't reflected in the query itself (nor in cached results, which are shared across
|
|
442
|
+
// users), so each matched record must be checked individually before it's returned to the caller. The
|
|
443
|
+
// checks are run concurrently, and share a request-scoped ACL cache, so that a page of N results costs
|
|
444
|
+
// at most one round trip per *distinct* ACL uid (typically just the shared parent, since per-record
|
|
445
|
+
// ACLs are rarely warm in Redis) instead of N sequential round trips.
|
|
446
|
+
if (this.aclUtils?.enabled && !options?.ignoreACL && this.modelClass.recordACL) {
|
|
447
|
+
const permitted = await Promise.all(results.map((obj) => this.aclUtils.hasPermission(options?.user, obj.uid, ACLAction.READ, reqCache)));
|
|
448
|
+
results = results.filter((_obj, i) => permitted[i]);
|
|
449
|
+
}
|
|
383
450
|
return results;
|
|
384
451
|
}
|
|
385
452
|
/**
|
|
@@ -482,7 +549,14 @@ export class RepoUtils {
|
|
|
482
549
|
if (this.objectFactory) {
|
|
483
550
|
if (className && typeof className === "string") {
|
|
484
551
|
const clazz = this.objectFactory.classes.get(className) || this.objectFactory.classes.get(`models.${className}`);
|
|
485
|
-
|
|
552
|
+
// Only accept the resolved class if it's actually this route's model or a subtype of it (e.g. a
|
|
553
|
+
// @ChildEntity()). `objectFactory.classes` contains every registered model in the app, so without
|
|
554
|
+
// this check a client could point `_type`/`_fqn` at an unrelated model to have its payload
|
|
555
|
+
// instantiated/validated against that other model's (possibly much looser) rules while still
|
|
556
|
+
// being persisted through this route's own datastore/collection.
|
|
557
|
+
if (clazz && (clazz === this.modelClass || clazz.prototype instanceof this.modelClass)) {
|
|
558
|
+
return clazz;
|
|
559
|
+
}
|
|
486
560
|
}
|
|
487
561
|
}
|
|
488
562
|
return this.modelClass;
|
|
@@ -589,6 +663,15 @@ export class RepoUtils {
|
|
|
589
663
|
if (existing.uid !== obj.uid) {
|
|
590
664
|
throw new ApiError(ApiErrors.OBJECT_ID_MISMATCH, 400, ApiErrorMessages.OBJECT_ID_MISMATCH);
|
|
591
665
|
}
|
|
666
|
+
// Force system-managed fields back to their persisted value, discarding whatever the client sent (or
|
|
667
|
+
// didn't send) for them. `dateCreated` is always protected; `@ReadOnly`-decorated properties are an
|
|
668
|
+
// app-level opt-in for anything else (roles, ownership fields, etc.) that must never be client-settable.
|
|
669
|
+
if (existing instanceof BaseEntity) {
|
|
670
|
+
obj.dateCreated = existing.dateCreated;
|
|
671
|
+
}
|
|
672
|
+
for (const prop of ModelUtils.getReadOnlyPropertyNames(this.modelClass)) {
|
|
673
|
+
obj[prop] = existing[prop];
|
|
674
|
+
}
|
|
592
675
|
// When using MongoDB we need to copy the _id property in order to prevent duplicate entries
|
|
593
676
|
if (existing instanceof BaseMongoEntity) {
|
|
594
677
|
obj._id = existing._id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepoUtils.js","sourceRoot":"","sources":["../../../src/models/RepoUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RepoUtils.js","sourceRoot":"","sources":["../../../src/models/RepoUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,10 +169,12 @@ let BaseAdminRoute = class BaseAdminRoute {
|
|
|
169
169
|
socks.splice(socks.indexOf(socket), 1);
|
|
170
170
|
this.activeSockets.set(user.uid, socks);
|
|
171
171
|
});
|
|
172
|
-
// Add the socket to our tracked list
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
172
|
+
// Add the socket to our tracked list. Uses an atomic get-or-create so two concurrent connections
|
|
173
|
+
// for a brand-new uid can't clobber each other's tracked array.
|
|
174
|
+
if (!this.activeSockets.has(user.uid)) {
|
|
175
|
+
this.activeSockets.set(user.uid, []);
|
|
176
|
+
}
|
|
177
|
+
this.activeSockets.get(user.uid).push(socket);
|
|
176
178
|
}
|
|
177
179
|
catch (err) {
|
|
178
180
|
this.logger.error(`User ${user.uid} failed to subscribe to logging channel.`);
|
|
@@ -250,7 +252,7 @@ __decorate([
|
|
|
250
252
|
__param(0, Socket),
|
|
251
253
|
__param(1, User),
|
|
252
254
|
__metadata("design:type", Function),
|
|
253
|
-
__metadata("design:paramtypes", [
|
|
255
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
254
256
|
__metadata("design:returntype", Promise)
|
|
255
257
|
], BaseAdminRoute.prototype, "logs", null);
|
|
256
258
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAdminRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseAdminRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"BaseAdminRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseAdminRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMetricsRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseMetricsRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"BaseMetricsRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseMetricsRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAgB,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAQ,GAAG,EAAE,KAAK,EAAS,WAAW,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,gBAAgB;IAWzB;QATU,kBAAa,GAAG;YACtB,YAAY,EAAE,IAAI;SACrB,CAAC;QAKQ,iBAAY,GAAa,EAAE,CAAC;QAGlC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAOY,AAAN,KAAK,CAAC,UAAU,CAAO,IAAc;QACxC,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAOY,AAAN,KAAK,CAAC,eAAe,CAAkB,MAAW,EAAQ,IAAc;QAC3E,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;CACJ;AApCa;IADT,MAAM,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;uDAGxC;AAKQ;IADT,MAAM,CAAC,eAAe,CAAC;;sDACc;AAWzB;IALZ,OAAO,CAAC,wCAAwC,CAAC;IACjD,WAAW,CAAC,yDAAyD,CAAC;IACtE,GAAG,EAAE;IACL,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACO,WAAA,IAAI,CAAA;;;;kDAK5B;AAOY;IALZ,OAAO,CAAC,4CAA4C,CAAC;IACrD,WAAW,CAAC,4EAA4E,CAAC;IACzF,GAAG,CAAC,UAAU,CAAC;IACf,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACY,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAe,WAAA,IAAI,CAAA;;;;uDAK/D"}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CRUDRoute.js","sourceRoot":"","sources":["../../../src/routes/CRUDRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EACH,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,GACX,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"CRUDRoute.js","sourceRoot":"","sources":["../../../src/routes/CRUDRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelRoute.js","sourceRoot":"","sources":["../../../src/routes/ModelRoute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelRoute.js","sourceRoot":"","sources":["../../../src/routes/ModelRoute.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.
|