@lilaquadrat/studio 5.9.0 → 5.9.2

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.
@@ -2,11 +2,12 @@ import Ajv from 'ajv';
2
2
  import { MongoClient } from 'mongodb';
3
3
  import Modelv2 from './modelv2.class';
4
4
  import { MongoClass } from './mongo.class';
5
+ import TimeseriesModel from './TimeseriesModel.class';
5
6
  export default class Models {
6
- models: Record<string, Modelv2<any>>;
7
+ models: Record<string, Modelv2<any> | TimeseriesModel<any>>;
7
8
  ajv: Ajv;
8
9
  constructor();
9
- register(name: string, model: Modelv2<any>): void;
10
+ register(name: string, model: Modelv2<any> | TimeseriesModel<any>): void;
10
11
  unregister(name: string): void;
11
12
  injectDatabaseConnection(mongo: MongoClient, mongoClass?: MongoClass, noIndexes?: boolean): Promise<boolean>[];
12
13
  }
@@ -23,8 +23,10 @@ class Models {
23
23
  throw new Error(`model ${name} already registered`);
24
24
  }
25
25
  this.models[name] = model;
26
- if (model.setAjv)
27
- model.setAjv(this.ajv);
26
+ if ('setAjv' in model) {
27
+ if (model.setAjv)
28
+ model.setAjv(this.ajv);
29
+ }
28
30
  model.setModelsClass(this);
29
31
  }
30
32
  unregister(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"models.class.js","sourceRoot":"","sources":["../../../src/classes/models.class.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,8DAAqC;AACrC,uDAA+B;AAI/B,MAAqB,MAAM;IAMzB;QAJA,WAAM,GAAiC,EAAE,CAAC;QAMxC,0CAA0C;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,IAAA,qBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI;SAClC,CAAC,CAAC;IAEL,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAAmB;QAExC,gBAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAErB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC;SAErD;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAE1B,IAAG,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE7B,CAAC;IAED,UAAU,CAAC,IAAY;QAErB,gBAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3B,CAAC;IAED,wBAAwB,CAAC,KAAkB,EAAE,UAAuB,EAAE,SAAmB;QAEvF,gBAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAE1D,gBAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;YAEnF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE3E,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IAExB,CAAC;CAEF;AA5DD,yBA4DC"}
1
+ {"version":3,"file":"models.class.js","sourceRoot":"","sources":["../../../src/classes/models.class.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,8DAAqC;AACrC,uDAA+B;AAK/B,MAAqB,MAAM;IAMzB;QAJA,WAAM,GAAwD,EAAE,CAAC;QAM/D,0CAA0C;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,IAAA,qBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI;SAClC,CAAC,CAAC;IAEL,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAA0C;QAE/D,gBAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAErB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC;SAErD;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAE1B,IAAG,QAAQ,IAAI,KAAK,EAAE;YACpB,IAAG,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzC;QAED,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAE7B,CAAC;IAED,UAAU,CAAC,IAAY;QAErB,gBAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3B,CAAC;IAED,wBAAwB,CAAC,KAAkB,EAAE,UAAuB,EAAE,SAAmB;QAEvF,gBAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAE1D,gBAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;YAEnF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE3E,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IAExB,CAAC;CAEF;AA/DD,yBA+DC"}
@@ -78,7 +78,7 @@ class AccessService extends Timeseries_class_1.default {
78
78
  */
79
79
  async applyLimits(req, res, next, options) {
80
80
  // Retrieve the last hour's access log for the requesting IP address
81
- const accessLog = await this.lastHour(options?.user ? req.user.sub : req.ip, options);
81
+ const accessLog = await this.lastHour(options?.user && req.user?.sub ? req.user.sub : req.ip, options);
82
82
  // Check if accessLog is available to proceed with rate limiting checks
83
83
  if (accessLog) {
84
84
  // Check if the number of requests in the last second exceeds the limit
@@ -1 +1 @@
1
- {"version":3,"file":"access.service.js","sourceRoot":"","sources":["../../../src/services/access.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access.service.js","sourceRoot":"","sources":["../../../src/services/access.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/studio",
3
- "version": "5.9.0",
3
+ "version": "5.9.2",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "license": "MIT",
6
6
  "homepage": "https://lilaquadrat.de",