@lilaquadrat/studio 5.8.0 → 5.9.0
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/lib/models.d.ts +2 -1
- package/lib/models.js +3 -1
- package/lib/models.js.map +1 -1
- package/lib/services.d.ts +2 -1
- package/lib/services.js +3 -1
- package/lib/services.js.map +1 -1
- package/lib/src/Timeseries.class.d.ts +11 -0
- package/lib/src/Timeseries.class.js +16 -0
- package/lib/src/Timeseries.class.js.map +1 -0
- package/lib/src/classes/TimeseriesModel.class.d.ts +28 -0
- package/lib/src/classes/TimeseriesModel.class.js +72 -0
- package/lib/src/classes/TimeseriesModel.class.js.map +1 -0
- package/lib/src/classes/models.class.js +2 -1
- package/lib/src/classes/models.class.js.map +1 -1
- package/lib/src/models/access.model.d.ts +10 -0
- package/lib/src/models/access.model.js +13 -0
- package/lib/src/models/access.model.js.map +1 -0
- package/lib/src/services/access.service.d.ts +37 -0
- package/lib/src/services/access.service.js +116 -0
- package/lib/src/services/access.service.js.map +1 -0
- package/lib/src/services/listParticipants.service.js +11 -4
- package/lib/src/services/listParticipants.service.js.map +1 -1
- package/package.json +1 -1
package/lib/models.d.ts
CHANGED
|
@@ -23,4 +23,5 @@ import customersModel from './src/models/customers.model';
|
|
|
23
23
|
import listsModel from './src/models/lists.model';
|
|
24
24
|
import listParticipantsModel from './src/models/listsParticipants.model';
|
|
25
25
|
import cacheModel from './src/models/cache.model';
|
|
26
|
-
|
|
26
|
+
import accessModel from './src/models/access.model';
|
|
27
|
+
export { companyModel as CompanyModel, meModel as MeModel, editorModel as EditorModel, editorBaseModel as EditorBaseModel, historyModel as HistoryModel, permissionsModel as PermissionsModel, projectModel as ProjectModel, settingsModel as SettingsModel, mediaModel as MediaModel, idModel as IdModel, publishModel as PublishModel, publishMethodModel as PublishMethodModel, secretsModel as SecretsModel, certificateModel as CertificateModel, certificateActionModel as CertificateActionModel, domainModel as DomainModel, hostingModel as HostingModel, hostingCommandModel as HostingCommandModel, hostingSettingsModel as HostingSettingsModel, trackerModel as TrackerModel, universalModel as UniversalModel, customersModel as CustomersModel, listsModel as ListsModel, listParticipantsModel as ListParticipantsModel, cacheModel as CacheModel, accessModel as AccessModel };
|
package/lib/models.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CacheModel = exports.ListParticipantsModel = exports.ListsModel = exports.CustomersModel = exports.UniversalModel = exports.TrackerModel = exports.HostingSettingsModel = exports.HostingCommandModel = exports.HostingModel = exports.DomainModel = exports.CertificateActionModel = exports.CertificateModel = exports.SecretsModel = exports.PublishMethodModel = exports.PublishModel = exports.IdModel = exports.MediaModel = exports.SettingsModel = exports.ProjectModel = exports.PermissionsModel = exports.HistoryModel = exports.EditorBaseModel = exports.EditorModel = exports.MeModel = exports.CompanyModel = void 0;
|
|
6
|
+
exports.AccessModel = exports.CacheModel = exports.ListParticipantsModel = exports.ListsModel = exports.CustomersModel = exports.UniversalModel = exports.TrackerModel = exports.HostingSettingsModel = exports.HostingCommandModel = exports.HostingModel = exports.DomainModel = exports.CertificateActionModel = exports.CertificateModel = exports.SecretsModel = exports.PublishMethodModel = exports.PublishModel = exports.IdModel = exports.MediaModel = exports.SettingsModel = exports.ProjectModel = exports.PermissionsModel = exports.HistoryModel = exports.EditorBaseModel = exports.EditorModel = exports.MeModel = exports.CompanyModel = void 0;
|
|
7
7
|
const company_model_1 = __importDefault(require("./src/models/company.model"));
|
|
8
8
|
exports.CompanyModel = company_model_1.default;
|
|
9
9
|
const me_model_1 = __importDefault(require("./src/models/me.model"));
|
|
@@ -54,4 +54,6 @@ const listsParticipants_model_1 = __importDefault(require("./src/models/listsPar
|
|
|
54
54
|
exports.ListParticipantsModel = listsParticipants_model_1.default;
|
|
55
55
|
const cache_model_1 = __importDefault(require("./src/models/cache.model"));
|
|
56
56
|
exports.CacheModel = cache_model_1.default;
|
|
57
|
+
const access_model_1 = __importDefault(require("./src/models/access.model"));
|
|
58
|
+
exports.AccessModel = access_model_1.default;
|
|
57
59
|
//# sourceMappingURL=models.js.map
|
package/lib/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../models.ts"],"names":[],"mappings":";;;;;;AAAA,+EAAsD;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../models.ts"],"names":[],"mappings":";;;;;;AAAA,+EAAsD;AA4BpC,uBA5BX,uBAAY,CA4BW;AA3B9B,qEAA4C;AA4B/B,kBA5BN,kBAAO,CA4BM;AA3BpB,6EAAoD;AA4BnC,sBA5BV,sBAAW,CA4BU;AA3B5B,qFAA4D;AA4BvC,0BA5Bd,0BAAe,CA4Bc;AA3BpC,+EAAsD;AA4BpC,uBA5BX,uBAAY,CA4BW;AA3B9B,uFAA8D;AA4BxC,2BA5Bf,2BAAgB,CA4Be;AA3BtC,+EAAsD;AA4BpC,uBA5BX,uBAAY,CA4BW;AA3B9B,iFAAwD;AA4BrC,wBA5BZ,wBAAa,CA4BY;AA3BhC,2EAAkD;AA4BlC,qBA5BT,qBAAU,CA4BS;AA3B1B,qEAA4C;AA4B/B,kBA5BN,kBAAO,CA4BM;AA3BpB,+EAAsD;AA4BpC,uBA5BX,uBAAY,CA4BW;AA3B9B,6FAAmE;AA4B3C,6BA5BjB,8BAAkB,CA4BiB;AA3B1C,+EAAsD;AA4BpC,uBA5BX,uBAAY,CA4BW;AA3B9B,uFAA8D;AA4BxC,2BA5Bf,2BAAgB,CA4Be;AA3BtC,qGAA2E;AA4B/C,iCA5BrB,kCAAsB,CA4BqB;AA3BlD,6EAAmD;AA4BlC,sBA5BV,sBAAW,CA4BU;AA3B5B,+EAAqD;AA4BnC,uBA5BX,uBAAY,CA4BW;AA3B9B,6FAAoE;AA4B3C,8BA5BlB,8BAAmB,CA4BkB;AA3B5C,+FAAsE;AA4B5C,+BA5BnB,+BAAoB,CA4BmB;AA3B9C,+EAAsD;AA4BpC,uBA5BX,uBAAY,CA4BW;AA3B9B,mFAA0D;AA4BtC,yBA5Bb,yBAAc,CA4Ba;AA3BlC,mFAA0D;AA4BtC,yBA5Bb,yBAAc,CA4Ba;AA3BlC,2EAAkD;AA4BlC,qBA5BT,qBAAU,CA4BS;AA3B1B,mGAAyE;AA4B9C,gCA5BpB,iCAAqB,CA4BoB;AA3BhD,2EAAkD;AA4BlC,qBA5BT,qBAAU,CA4BS;AA3B1B,6EAAoD;AA4BnC,sBA5BV,sBAAW,CA4BU"}
|
package/lib/services.d.ts
CHANGED
|
@@ -20,4 +20,5 @@ import customersService from './src/services/customers.service';
|
|
|
20
20
|
import listsService from './src/services/lists.service';
|
|
21
21
|
import listParticipantsService from './src/services/listParticipants.service';
|
|
22
22
|
import spamAnalasysService from './src/services/spamAnalasys.service';
|
|
23
|
-
|
|
23
|
+
import AccessService from './src/services/access.service';
|
|
24
|
+
export { editorService as EditorService, editorBaseService as EditorBaseService, historyService as HistoryService, handleFileService as HandleFileService, idService as IdService, universalService as UniversalService, publishService as PublishService, secretService as SecretService, publishMethodService as PublishMethodService, certificatesService as CertificatesService, certificatesActionService as CertificatesActionService, domainsService as DomainsService, confService as ConfService, hostingCommandsService as HostingCommandsService, hostingService as HostingService, hostingAdminService as HostingAdminService, mediaService as MediaService, customersService as CustomersService, listsService as ListsService, listParticipantsService as ListParticipantsService, spamAnalasysService as SpamAnalasysService, AccessService, PublishDataService };
|
package/lib/services.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PublishDataService = exports.SpamAnalasysService = exports.ListParticipantsService = exports.ListsService = exports.CustomersService = exports.MediaService = exports.HostingAdminService = exports.HostingService = exports.HostingCommandsService = exports.ConfService = exports.DomainsService = exports.CertificatesActionService = exports.CertificatesService = exports.PublishMethodService = exports.SecretService = exports.PublishService = exports.UniversalService = exports.IdService = exports.HandleFileService = exports.HistoryService = exports.EditorBaseService = exports.EditorService = void 0;
|
|
6
|
+
exports.PublishDataService = exports.AccessService = exports.SpamAnalasysService = exports.ListParticipantsService = exports.ListsService = exports.CustomersService = exports.MediaService = exports.HostingAdminService = exports.HostingService = exports.HostingCommandsService = exports.ConfService = exports.DomainsService = exports.CertificatesActionService = exports.CertificatesService = exports.PublishMethodService = exports.SecretService = exports.PublishService = exports.UniversalService = exports.IdService = exports.HandleFileService = exports.HistoryService = exports.EditorBaseService = exports.EditorService = void 0;
|
|
7
7
|
const editor_service_1 = __importDefault(require("./src/services/editor.service"));
|
|
8
8
|
exports.EditorService = editor_service_1.default;
|
|
9
9
|
const editorBase_service_1 = __importDefault(require("./src/services/editorBase.service"));
|
|
@@ -48,4 +48,6 @@ const listParticipants_service_1 = __importDefault(require("./src/services/listP
|
|
|
48
48
|
exports.ListParticipantsService = listParticipants_service_1.default;
|
|
49
49
|
const spamAnalasys_service_1 = __importDefault(require("./src/services/spamAnalasys.service"));
|
|
50
50
|
exports.SpamAnalasysService = spamAnalasys_service_1.default;
|
|
51
|
+
const access_service_1 = __importDefault(require("./src/services/access.service"));
|
|
52
|
+
exports.AccessService = access_service_1.default;
|
|
51
53
|
//# sourceMappingURL=services.js.map
|
package/lib/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../services.ts"],"names":[],"mappings":";;;;;;AAAA,mFAA0D;
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../services.ts"],"names":[],"mappings":";;;;;;AAAA,mFAA0D;AAyBvC,wBAzBZ,wBAAa,CAyBY;AAxBhC,2FAAkE;AAyB3C,4BAzBhB,4BAAiB,CAyBgB;AAxBxC,qFAA4D;AAyBxC,yBAzBb,yBAAc,CAyBa;AAxBlC,2FAAkE;AAyB3C,4BAzBhB,4BAAiB,CAyBgB;AAxBxC,2EAAkD;AAyBnC,oBAzBR,oBAAS,CAyBQ;AAxBxB,yFAAgE;AAyB1C,2BAzBf,2BAAgB,CAyBe;AAxBtC,qFAA4D;AAyBxC,yBAzBb,yBAAc,CAyBa;AAxBlC,iGAAwE;AA0B9C,+BA1BnB,+BAAoB,CA0BmB;AAzB9C,mFAA0D;AAwBvC,wBAxBZ,wBAAa,CAwBY;AAvBhC,+FAAsE;AAyB7C,8BAzBlB,8BAAmB,CAyBkB;AAxB5C,2GAAkF;AAyBnD,oCAzBxB,oCAAyB,CAyBwB;AAxBxD,qFAA4D;AAyBxC,yBAzBb,yBAAc,CAyBa;AAxBlC,+EAAsD;AAyBrC,sBAzBV,sBAAW,CAyBU;AAxB5B,qGAA4E;AAyBhD,iCAzBrB,iCAAsB,CAyBqB;AAxBlD,qFAA4D;AAyBxC,yBAzBb,yBAAc,CAyBa;AAxBlC,+FAAsE;AAyB7C,8BAzBlB,8BAAmB,CAyBkB;AAxB5C,iFAAwD;AAyBtC,uBAzBX,uBAAY,CAyBW;AAxB9B,6FAAoE;AA8BlE,6BA9BK,6BAAkB,CA8BL;AA7BpB,yFAAgE;AAwB1C,2BAxBf,2BAAgB,CAwBe;AAvBtC,iFAAwD;AAwBtC,uBAxBX,uBAAY,CAwBW;AAvB9B,uGAA8E;AAwBjD,kCAxBtB,kCAAuB,CAwBsB;AAvBpD,+FAAsE;AAwB7C,8BAxBlB,8BAAmB,CAwBkB;AAvB5C,mFAA0D;AAwBxD,wBAxBK,wBAAa,CAwBL"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Document } from 'mongodb';
|
|
2
|
+
import Model from './classes/modelv2.class';
|
|
3
|
+
import TimeseriesModel from './classes/TimeseriesModel.class';
|
|
4
|
+
export default abstract class Timeseries<T extends Document> {
|
|
5
|
+
model: TimeseriesModel<T>;
|
|
6
|
+
/**
|
|
7
|
+
* create new data
|
|
8
|
+
*/
|
|
9
|
+
add(metadata: T): Promise<import("mongodb").InsertOneResult<T>>;
|
|
10
|
+
getModel(fallback: Model<T>, model?: Model<T>): Model<T, string>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Timeseries {
|
|
4
|
+
/**
|
|
5
|
+
* create new data
|
|
6
|
+
*/
|
|
7
|
+
async add(metadata) {
|
|
8
|
+
return this.model.db.insertOne(metadata);
|
|
9
|
+
}
|
|
10
|
+
getModel(fallback, model) {
|
|
11
|
+
const useModel = model || fallback;
|
|
12
|
+
return useModel;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.default = Timeseries;
|
|
16
|
+
//# sourceMappingURL=Timeseries.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeseries.class.js","sourceRoot":"","sources":["../../src/Timeseries.class.ts"],"names":[],"mappings":";;AAOA,MAA8B,UAAU;IAItC;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,QAAW;QAGX,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,QAAuC,CAAC,CAAC;IAE1E,CAAC;IAED,QAAQ,CAAC,QAAkB,EAAE,KAAgB;QAE3C,MAAM,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC;QAEnC,OAAO,QAAQ,CAAC;IAElB,CAAC;CAEF;AAvBD,6BAuBC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import mongo, { CreateIndexesOptions, IndexDescription, MongoClient, TimeSeriesCollectionOptions } from 'mongodb';
|
|
2
|
+
import Models from './models.class';
|
|
3
|
+
import { MongoClass } from './mongo.class';
|
|
4
|
+
export default class TimeseriesModel<T extends mongo.Document> {
|
|
5
|
+
mongo: mongo.Db;
|
|
6
|
+
collection: string;
|
|
7
|
+
indexes: IndexDescription[];
|
|
8
|
+
data: T;
|
|
9
|
+
name: string;
|
|
10
|
+
modelsClass: Models;
|
|
11
|
+
options: TimeSeriesCollectionOptions;
|
|
12
|
+
/**
|
|
13
|
+
* is called when the model gets the connected mongodb injected
|
|
14
|
+
*/
|
|
15
|
+
connected?: (...any: any[]) => void;
|
|
16
|
+
constructor(name: string, collection: string, options: TimeSeriesCollectionOptions);
|
|
17
|
+
setModelsClass(modelsClass: Models): void;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param mongoClient
|
|
21
|
+
* @param mongoClass
|
|
22
|
+
* @param noIndexes disables the creation of indexes
|
|
23
|
+
*/
|
|
24
|
+
setMongoConnection(mongoClient: MongoClient, mongoClass?: MongoClass, noIndexes?: boolean): Promise<boolean>;
|
|
25
|
+
addIndex(index: IndexDescription & CreateIndexesOptions, version: number): void;
|
|
26
|
+
handleIndexes(indexes: (IndexDescription & CreateIndexesOptions)[]): Promise<boolean>;
|
|
27
|
+
get db(): mongo.Collection<T>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
7
|
+
class TimeseriesModel {
|
|
8
|
+
constructor(name, collection, options) {
|
|
9
|
+
this.indexes = [];
|
|
10
|
+
this.collection = collection;
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.options = options;
|
|
13
|
+
}
|
|
14
|
+
setModelsClass(modelsClass) {
|
|
15
|
+
this.modelsClass = modelsClass;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param mongoClient
|
|
20
|
+
* @param mongoClass
|
|
21
|
+
* @param noIndexes disables the creation of indexes
|
|
22
|
+
*/
|
|
23
|
+
setMongoConnection(mongoClient, mongoClass, noIndexes) {
|
|
24
|
+
this.mongo = mongoClient?.db(mongoClass?.connectionUriObject.database);
|
|
25
|
+
if (typeof this.connected === 'function') {
|
|
26
|
+
this.connected();
|
|
27
|
+
}
|
|
28
|
+
return !noIndexes ? this.handleIndexes(this.indexes) : Promise.resolve(true);
|
|
29
|
+
}
|
|
30
|
+
addIndex(index, version) {
|
|
31
|
+
if (this.indexes.find((single) => single.name === index.name))
|
|
32
|
+
return;
|
|
33
|
+
this.indexes.push({ ...index, name: `${index.name}-v${version}` });
|
|
34
|
+
}
|
|
35
|
+
async handleIndexes(indexes) {
|
|
36
|
+
const collection = await this.mongo.listCollections({ name: this.db.collectionName }).toArray();
|
|
37
|
+
if (!collection.length) {
|
|
38
|
+
try {
|
|
39
|
+
await this.mongo.createCollection(this.db.collectionName, { timeseries: this.options });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const collectionIndexes = await this.db.listIndexes().toArray();
|
|
46
|
+
// //* * drop all indexed that are not created programatically */
|
|
47
|
+
collectionIndexes.forEach(async (single) => {
|
|
48
|
+
if (single.name === '_id_')
|
|
49
|
+
return;
|
|
50
|
+
if (this.indexes.find((singleIndex) => single.name === singleIndex.name)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
logger_1.default.info(`timeseries.index.drop.${this.name}`);
|
|
54
|
+
await this.db.dropIndex(single.name);
|
|
55
|
+
});
|
|
56
|
+
const createdIndexes = indexes.filter((single) => {
|
|
57
|
+
if (collectionIndexes.find((singleIndex) => single.name === singleIndex.name))
|
|
58
|
+
return false;
|
|
59
|
+
return true;
|
|
60
|
+
});
|
|
61
|
+
if (createdIndexes.length) {
|
|
62
|
+
logger_1.default.info(`timeseries.index.create.${this.name}`, createdIndexes);
|
|
63
|
+
await this.db.createIndexes(createdIndexes);
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
get db() {
|
|
68
|
+
return this.mongo.collection(this.collection);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.default = TimeseriesModel;
|
|
72
|
+
//# sourceMappingURL=TimeseriesModel.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeseriesModel.class.js","sourceRoot":"","sources":["../../../src/classes/TimeseriesModel.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;
|
|
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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const TimeseriesModel_class_1 = __importDefault(require("../classes/TimeseriesModel.class"));
|
|
7
|
+
const model = new TimeseriesModel_class_1.default('access', 'access', {
|
|
8
|
+
timeField: 'date',
|
|
9
|
+
metaField: 'metadata',
|
|
10
|
+
granularity: 'seconds',
|
|
11
|
+
});
|
|
12
|
+
exports.default = model;
|
|
13
|
+
//# sourceMappingURL=access.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.model.js","sourceRoot":"","sources":["../../../src/models/access.model.ts"],"names":[],"mappings":";;;;;AAAA,6FAA+D;AAU/D,MAAM,KAAK,GAAG,IAAI,+BAAe,CAC/B,QAAQ,EACR,QAAQ,EACR;IACE,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,SAAS;CACvB,CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import Timeseries from "../Timeseries.class";
|
|
2
|
+
import { Access } from "../models/access.model";
|
|
3
|
+
import { NextFunction, Request, Response } from 'express';
|
|
4
|
+
type AccessSettings = {
|
|
5
|
+
callLimits: {
|
|
6
|
+
second: number;
|
|
7
|
+
minute: number;
|
|
8
|
+
quarter: number;
|
|
9
|
+
hour: number;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export default class AccessService extends Timeseries<Access> {
|
|
13
|
+
model: import("../classes/TimeseriesModel.class").default<Access>;
|
|
14
|
+
settings: AccessSettings;
|
|
15
|
+
constructor(settings: AccessSettings);
|
|
16
|
+
count(after: Date): Promise<number>;
|
|
17
|
+
lastHour(ipOrUser: string, options?: {
|
|
18
|
+
user: boolean;
|
|
19
|
+
}): Promise<AccessSettings['callLimits'] | undefined>;
|
|
20
|
+
/**
|
|
21
|
+
applies the provided settings that limit the requests per second, minute, 15 minutes and hour.
|
|
22
|
+
responds with code 429 if the limits are exceeded
|
|
23
|
+
```TS
|
|
24
|
+
callLimits: {
|
|
25
|
+
second: number,
|
|
26
|
+
minute: number,
|
|
27
|
+
quarter: number
|
|
28
|
+
hour: number
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
*/
|
|
32
|
+
applyLimits(req: Request, res: Response, next: NextFunction, options?: {
|
|
33
|
+
user: boolean;
|
|
34
|
+
}): Promise<boolean>;
|
|
35
|
+
sendResponse(limit: string, interval: string, res: Response): void;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
7
|
+
const Timeseries_class_1 = __importDefault(require("../Timeseries.class"));
|
|
8
|
+
const access_model_1 = __importDefault(require("../models/access.model"));
|
|
9
|
+
const HttpStatusCode_enum_1 = __importDefault(require("../interfaces/HttpStatusCode.enum"));
|
|
10
|
+
class AccessService extends Timeseries_class_1.default {
|
|
11
|
+
constructor(settings) {
|
|
12
|
+
super();
|
|
13
|
+
this.model = access_model_1.default;
|
|
14
|
+
this.settings = settings;
|
|
15
|
+
}
|
|
16
|
+
count(after) {
|
|
17
|
+
return this.model.db.countDocuments({ date: { $gte: after } });
|
|
18
|
+
}
|
|
19
|
+
async lastHour(ipOrUser, options) {
|
|
20
|
+
const secondAgo = (0, dayjs_1.default)().subtract(1, "second").toDate();
|
|
21
|
+
const minuteAgo = (0, dayjs_1.default)().subtract(1, "minute").toDate();
|
|
22
|
+
const hourAgo = (0, dayjs_1.default)().subtract(1, "hour").toDate();
|
|
23
|
+
const quarterAgo = (0, dayjs_1.default)().subtract(15, "minutes").toDate();
|
|
24
|
+
const match = {
|
|
25
|
+
$match: {
|
|
26
|
+
date: { $gte: hourAgo }
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
if (options?.user) {
|
|
30
|
+
match.$match['metadata.user'] = ipOrUser;
|
|
31
|
+
}
|
|
32
|
+
if (!options?.user) {
|
|
33
|
+
match.$match['metadata.ip'] = ipOrUser;
|
|
34
|
+
}
|
|
35
|
+
const count = await this.model.db.aggregate([
|
|
36
|
+
match,
|
|
37
|
+
{
|
|
38
|
+
$group: {
|
|
39
|
+
_id: null,
|
|
40
|
+
second: {
|
|
41
|
+
$sum: {
|
|
42
|
+
$cond: [{ $gte: ["$date", secondAgo] }, 1, 0]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
minute: {
|
|
46
|
+
$sum: {
|
|
47
|
+
$cond: [{ $gte: ["$date", minuteAgo] }, 1, 0]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
quarter: {
|
|
51
|
+
$sum: {
|
|
52
|
+
$cond: [{ $gte: ["$date", quarterAgo] }, 1, 0]
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
hour: {
|
|
56
|
+
$sum: 1
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
]).toArray();
|
|
61
|
+
if (count.length) {
|
|
62
|
+
return count[0];
|
|
63
|
+
}
|
|
64
|
+
;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
applies the provided settings that limit the requests per second, minute, 15 minutes and hour.
|
|
69
|
+
responds with code 429 if the limits are exceeded
|
|
70
|
+
```TS
|
|
71
|
+
callLimits: {
|
|
72
|
+
second: number,
|
|
73
|
+
minute: number,
|
|
74
|
+
quarter: number
|
|
75
|
+
hour: number
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
*/
|
|
79
|
+
async applyLimits(req, res, next, options) {
|
|
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);
|
|
82
|
+
// Check if accessLog is available to proceed with rate limiting checks
|
|
83
|
+
if (accessLog) {
|
|
84
|
+
// Check if the number of requests in the last second exceeds the limit
|
|
85
|
+
if (accessLog.second >= this.settings.callLimits.second) {
|
|
86
|
+
this.sendResponse(this.settings.callLimits.second.toString(), 'per second', res);
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
// Check if the number of requests in the last minute exceeds the limit
|
|
90
|
+
if (accessLog.minute >= this.settings.callLimits.minute) {
|
|
91
|
+
this.sendResponse(this.settings.callLimits.minute.toString(), 'per minute', res);
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
// Check if the number of requests in the last quarter-hour exceeds the limit
|
|
95
|
+
if (accessLog.quarter >= this.settings.callLimits.quarter) {
|
|
96
|
+
this.sendResponse(this.settings.callLimits.quarter.toString(), 'per 15 minutes', res);
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
// Check if the number of requests in the last hour exceeds the limit
|
|
100
|
+
if (accessLog.hour >= this.settings.callLimits.hour) {
|
|
101
|
+
this.sendResponse(this.settings.callLimits.hour.toString(), 'per hour', res);
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// If the request does not exceed any rate limits, continue to the next middleware
|
|
106
|
+
next();
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
sendResponse(limit, interval, res) {
|
|
110
|
+
res.set('X-RateLimit-Limit', limit);
|
|
111
|
+
res.set('X-RateLimit-Interval', interval);
|
|
112
|
+
res.status(HttpStatusCode_enum_1.default.TOO_MANY_REQUESTS).end();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.default = AccessService;
|
|
116
|
+
//# sourceMappingURL=access.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.service.js","sourceRoot":"","sources":["../../../src/services/access.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -123,8 +123,10 @@ class ListParticipantsService extends Immutable_class_1.default {
|
|
|
123
123
|
throw new Error('EMAIL_INVALID');
|
|
124
124
|
let entryState = 'unchecked';
|
|
125
125
|
// if (list.mode === 'contact') entryState = 'enlisted';
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
if (list.mode === 'content')
|
|
127
|
+
entryState = 'enlisted';
|
|
128
|
+
if (list.mode === 'reservation')
|
|
129
|
+
entryState = 'reserved';
|
|
128
130
|
// if the address is required use the matching action in the model for validation
|
|
129
131
|
if (list.participants.addressRequired) {
|
|
130
132
|
customerModelAction = 'createPersonExternalWithAddress';
|
|
@@ -151,7 +153,12 @@ class ListParticipantsService extends Immutable_class_1.default {
|
|
|
151
153
|
throw new Error('LIST_CANNOT_JOIN');
|
|
152
154
|
}
|
|
153
155
|
const addResponse = await this.addParticipant(listInternalId, list.mode, customerId._id, entryState, message, category, agreements, options);
|
|
154
|
-
|
|
156
|
+
/**
|
|
157
|
+
* only add to the queue and initiate the spam check when the entrystate is unchecked
|
|
158
|
+
*/
|
|
159
|
+
if (entryState === 'unchecked') {
|
|
160
|
+
await this.client.sendMessage(Buffer.from(JSON.stringify({ _id: addResponse._id, listId: list._id })).toString('base64'));
|
|
161
|
+
}
|
|
155
162
|
return addResponse;
|
|
156
163
|
}
|
|
157
164
|
async remove(list, participationId, options) {
|
|
@@ -226,7 +233,7 @@ class ListParticipantsService extends Immutable_class_1.default {
|
|
|
226
233
|
}
|
|
227
234
|
agreementsMissing(listAgreements, providedAgreements) {
|
|
228
235
|
let missing = [];
|
|
229
|
-
const required = listAgreements
|
|
236
|
+
const required = listAgreements?.filter((single) => single.required);
|
|
230
237
|
required.push({ required: true, contentId: 'contact-dsgvo', text: '' });
|
|
231
238
|
required.forEach((single) => {
|
|
232
239
|
if (!providedAgreements?.find((singleResponse) => singleResponse.id === single.contentId)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listParticipants.service.js","sourceRoot":"","sources":["../../../src/services/listParticipants.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listParticipants.service.js","sourceRoot":"","sources":["../../../src/services/listParticipants.service.ts"],"names":[],"mappings":"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"}
|