@lilaquadrat/studio 10.0.0-beta.4 → 10.0.0-beta.5

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/main.d.ts CHANGED
@@ -8,10 +8,9 @@ import logger from './src/logger.js';
8
8
  import Modelv2 from './src/classes/modelv2.class.js';
9
9
  import Models from './src/classes/models.class.js';
10
10
  import Cache from './src/classes/cache.class.js';
11
- import ControllerBase from './src/classes/ControllerBase.class.js';
12
11
  import mongoClass, { MongoClass } from './src/classes/mongo.class.js';
13
12
  import respondCode from './src/functions/respondCode.js';
14
13
  import optionsHelper from './src/functions/optionsHelper.js';
15
14
  import AzureVault from './src/AzureVault.js';
16
15
  import handleError from './src/functions/handleError.js';
17
- export { Immutable, ShareClientFactory, SSLChallenge, Nginx, DockerCompose, conf, Modelv2, Models, logger, MongoClass, mongoClass, respondCode, optionsHelper, handleError, ControllerBase, AzureVault, Cache };
16
+ export { Immutable, ShareClientFactory, SSLChallenge, Nginx, DockerCompose, conf, Modelv2, Models, logger, MongoClass, mongoClass, respondCode, optionsHelper, handleError, AzureVault, Cache };
package/lib/main.js CHANGED
@@ -8,11 +8,10 @@ import logger from './src/logger.js';
8
8
  import Modelv2 from './src/classes/modelv2.class.js';
9
9
  import Models from './src/classes/models.class.js';
10
10
  import Cache from './src/classes/cache.class.js';
11
- import ControllerBase from './src/classes/ControllerBase.class.js';
12
11
  import mongoClass, { MongoClass } from './src/classes/mongo.class.js';
13
12
  import respondCode from './src/functions/respondCode.js';
14
13
  import optionsHelper from './src/functions/optionsHelper.js';
15
14
  import AzureVault from './src/AzureVault.js';
16
15
  import handleError from './src/functions/handleError.js';
17
- export { Immutable, ShareClientFactory, SSLChallenge, Nginx, DockerCompose, conf, Modelv2, Models, logger, MongoClass, mongoClass, respondCode, optionsHelper, handleError, ControllerBase, AzureVault, Cache };
16
+ export { Immutable, ShareClientFactory, SSLChallenge, Nginx, DockerCompose, conf, Modelv2, Models, logger, MongoClass, mongoClass, respondCode, optionsHelper, handleError, AzureVault, Cache };
18
17
  //# sourceMappingURL=main.js.map
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../main.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAEnE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,MAAM,gCAAgC,CAAC;AACrD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,MAAM,8BAA8B,CAAC;AACjD,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE,OAAO,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EACH,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,EACL,aAAa,EACb,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,KAAK,EACR,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../main.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAEnE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,MAAM,gCAAgC,CAAC;AACrD,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,KAAK,MAAM,8BAA8B,CAAC;AAEjD,OAAO,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EACH,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,KAAK,EACL,aAAa,EACb,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,KAAK,EACR,CAAA"}
package/lib/services.d.ts CHANGED
@@ -2,7 +2,6 @@ import editorBaseService from './src/services/editorBase.service.js';
2
2
  import historyService from './src/services/history.service.js';
3
3
  import handleFileService from './src/services/handleFile.service.js';
4
4
  import idService from './src/services/id.service.js';
5
- import universalService from './src/services/universal.service.js';
6
5
  import publishService from './src/services/publish.service.js';
7
6
  import publishMethodService from './src/services/publishMethod.service.js';
8
7
  import secretService from './src/services/secret.service.js';
@@ -36,4 +35,4 @@ import jetstreamService from './src/services/jetstream.service.js';
36
35
  import storageService from './src/services/storage.service.js';
37
36
  import editorService from './src/services/editor.service.js';
38
37
  import uploadService from './src/services/upload.service.js';
39
- 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, webhooksCallsService as WebhooksCallsService, paymentsService as PaymentsService, paymentProvidersService as PaymentProvidersService, permissionsService as PermissionsService, importService as ImportService, structuresService as StructuresService, meService, MeService, AccessService, PublishDataService, MailFromService, CartService, AiService, LoggingService, shareService as ShareService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService };
38
+ export { editorService as EditorService, editorBaseService as EditorBaseService, historyService as HistoryService, handleFileService as HandleFileService, idService as IdService, 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, webhooksCallsService as WebhooksCallsService, paymentsService as PaymentsService, paymentProvidersService as PaymentProvidersService, permissionsService as PermissionsService, importService as ImportService, structuresService as StructuresService, meService, MeService, AccessService, PublishDataService, MailFromService, CartService, AiService, LoggingService, shareService as ShareService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService };
package/lib/services.js CHANGED
@@ -2,7 +2,7 @@ import editorBaseService from './src/services/editorBase.service.js';
2
2
  import historyService from './src/services/history.service.js';
3
3
  import handleFileService from './src/services/handleFile.service.js';
4
4
  import idService from './src/services/id.service.js';
5
- import universalService from './src/services/universal.service.js';
5
+ // import universalService from './src/services/universal.service.js';
6
6
  import publishService from './src/services/publish.service.js';
7
7
  import publishMethodService from './src/services/publishMethod.service.js';
8
8
  import secretService from './src/services/secret.service.js';
@@ -36,5 +36,7 @@ import jetstreamService from './src/services/jetstream.service.js';
36
36
  import storageService from './src/services/storage.service.js';
37
37
  import editorService from './src/services/editor.service.js';
38
38
  import uploadService from './src/services/upload.service.js';
39
- 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, webhooksCallsService as WebhooksCallsService, paymentsService as PaymentsService, paymentProvidersService as PaymentProvidersService, permissionsService as PermissionsService, importService as ImportService, structuresService as StructuresService, meService, MeService, AccessService, PublishDataService, MailFromService, CartService, AiService, LoggingService, shareService as ShareService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService };
39
+ export { editorService as EditorService, editorBaseService as EditorBaseService, historyService as HistoryService, handleFileService as HandleFileService, idService as IdService,
40
+ // universalService as UniversalService,
41
+ 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, webhooksCallsService as WebhooksCallsService, paymentsService as PaymentsService, paymentProvidersService as PaymentProvidersService, permissionsService as PermissionsService, importService as ImportService, structuresService as StructuresService, meService, MeService, AccessService, PublishDataService, MailFromService, CartService, AiService, LoggingService, shareService as ShareService, jetstreamService as JetStreamService, storageService as StorageService, uploadService as UploadService };
40
42
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../services.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,oBAAoB,MAAM,yCAAyC,CAAC;AAC3E,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AACzE,OAAO,yBAAyB,MAAM,8CAA8C,CAAC;AACrF,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AACzE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,uBAAuB,MAAM,4CAA4C,CAAC;AACjF,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AACzE,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,uBAAuB,MAAM,4CAA4C,CAAC;AACjF,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,SAAS,EAAE,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EACL,aAAa,IAAI,aAAa,EAC9B,iBAAiB,IAAI,iBAAiB,EACtC,cAAc,IAAI,cAAc,EAChC,iBAAiB,IAAI,iBAAiB,EACtC,SAAS,IAAI,SAAS,EACtB,gBAAgB,IAAI,gBAAgB,EACpC,cAAc,IAAI,cAAc,EAChC,aAAa,IAAI,aAAa,EAC9B,oBAAoB,IAAI,oBAAoB,EAC5C,mBAAmB,IAAI,mBAAmB,EAC1C,yBAAyB,IAAI,yBAAyB,EACtD,cAAc,IAAI,cAAc,EAChC,WAAW,IAAI,WAAW,EAC1B,sBAAsB,IAAI,sBAAsB,EAChD,cAAc,IAAI,cAAc,EAChC,mBAAmB,IAAI,mBAAmB,EAC1C,YAAY,IAAI,YAAY,EAC5B,gBAAgB,IAAI,gBAAgB,EACpC,YAAY,IAAI,YAAY,EAC5B,uBAAuB,IAAI,uBAAuB,EAClD,mBAAmB,IAAI,mBAAmB,EAC1C,oBAAoB,IAAI,oBAAoB,EAC5C,eAAe,IAAI,eAAe,EAClC,uBAAuB,IAAI,uBAAuB,EAClD,kBAAkB,IAAI,kBAAkB,EACxC,aAAa,IAAI,aAAa,EAC9B,iBAAiB,IAAI,iBAAiB,EACtC,SAAS,EACT,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,IAAI,YAAY,EAC5B,gBAAgB,IAAI,gBAAgB,EACpC,cAAc,IAAI,cAAc,EAChC,aAAa,IAAI,aAAa,EAC/B,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../services.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ export default class PublishDataService {
6
6
  static getAll(company: string, project: string, app: string, model: string, type: Publish['type'], full: boolean, changed?: Date, affectedStates?: Content['state'][], category?: string): Promise<import("mongodb").WithId<Content>[] | import("mongodb").WithId<Universal>[]>;
7
7
  static countAll(company: string, project: string, app: string, model: string, type: Publish['type'], changed?: Date, affectedStates?: Content['state'][], category?: string): Promise<number>;
8
8
  static getQuery(company: string, project: string, app: string, model: string, type: Publish['type'], changed?: Date, affectedStates?: Content['state'][], category?: string): Filter<Content> | Filter<Universal>;
9
- static getSingleInternalId(internalId: ObjectId, company: string, project: string, partials: boolean, children: boolean, genericData: boolean, appPublish: string, modelPublish: string, type: Publish['type'], affectedStates?: Content['state'][]): Promise<BasicData<Universal> | (Content & EditorLegacy)>;
10
- static getSingle(id: string, company: string, project: string, partials: boolean, children: boolean, genericData: boolean, appPublish: string, modelPublish: string, type: Publish['type'], affectedStates?: Content['state'][]): Promise<Universal | (Content & EditorLegacy)>;
9
+ static getSingleInternalId(internalId: ObjectId, company: string, project: string, partials: boolean, children: boolean, genericData: boolean, appPublish: string, modelPublish: string, type: Publish['type'], affectedStates?: Content['state'][]): Promise<Content & EditorLegacy>;
10
+ static getSingle(id: string, company: string, project: string, partials: boolean, children: boolean, genericData: boolean, appPublish: string, modelPublish: string, type: Publish['type'], affectedStates?: Content['state'][]): Promise<Content & EditorLegacy>;
11
11
  static getContextData(arrayOfInternalIds: (ObjectId | ObjectIdString)[], options: {
12
12
  company: string;
13
13
  project: string;
@@ -1,7 +1,7 @@
1
1
  import { ObjectId } from 'mongodb';
2
2
  import { Modelv2, mongoClass } from '../../main.js';
3
3
  import EditorModel from '../models/editor.model.js';
4
- import UniversalService from './universal.service.js';
4
+ // import UniversalService from './universal.service.js';
5
5
  import EditorService from './editor.service.js';
6
6
  export default class PublishDataService {
7
7
  static async getModel(type, model) {
@@ -75,12 +75,19 @@ export default class PublishDataService {
75
75
  affectedStates,
76
76
  });
77
77
  }
78
- if (type === 'universal') {
79
- const model = new Modelv2(modelPublish, 'universal', undefined, true);
80
- await model.setMongoConnection(mongoClass.client);
81
- const universalService = new UniversalService(model);
82
- data = await universalService.getByInternalId(internalId, company, project, appPublish, modelPublish, affectedStates);
83
- }
78
+ // if (type === 'universal') {
79
+ // const model = new Modelv2<Universal>(modelPublish, 'universal', undefined, true);
80
+ // await model.setMongoConnection(mongoClass.client);
81
+ // const universalService = new UniversalService(model);
82
+ // data = await universalService.getByInternalId(
83
+ // internalId,
84
+ // company,
85
+ // project,
86
+ // appPublish,
87
+ // modelPublish,
88
+ // affectedStates,
89
+ // );
90
+ // }
84
91
  if (!data)
85
92
  throw new Error('DATA_SINGLE_NOT_FOUND');
86
93
  return data;
@@ -97,12 +104,18 @@ export default class PublishDataService {
97
104
  affectedStates,
98
105
  });
99
106
  }
100
- if (type === 'universal') {
101
- const model = new Modelv2(modelPublish, 'universal', undefined, true);
102
- await model.setMongoConnection(mongoClass.client);
103
- const universalService = new UniversalService(model);
104
- data = await universalService.single(id, company, project, appPublish, modelPublish);
105
- }
107
+ // if (type === 'universal') {
108
+ // const model = new Modelv2<Universal>(modelPublish, 'universal', undefined, true);
109
+ // await model.setMongoConnection(mongoClass.client);
110
+ // const universalService = new UniversalService(model);
111
+ // data = await universalService.single(
112
+ // id,
113
+ // company,
114
+ // project,
115
+ // appPublish,
116
+ // modelPublish,
117
+ // );
118
+ // }
106
119
  if (!data)
107
120
  throw new Error('DATA_SINGLE_ID_NOT_FOUND');
108
121
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"publishData.service.js","sourceRoot":"","sources":["../../../src/services/publishData.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publishData.service.js","sourceRoot":"","sources":["../../../src/services/publishData.service.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { Filter, WithId, ObjectId } from 'mongodb';
2
- import { Immutable, Modelv2 } from '../../main.js';
3
- import { BasicData, Content, DatabaseQueryOptions, Universal } from '@lilaquadrat/interfaces';
4
- export default class UniversalService extends Immutable<Universal> {
5
- limit: number;
6
- search: string[];
7
- constructor(model: Modelv2<Universal>);
8
- single(stringOrObjectID: BasicData<Content>['_id'] | string | number, company: string, project: string, app: string, model: string, affectedStates?: Content['state'][]): Promise<WithId<BasicData<Universal>> | null>;
9
- existsById(id: string | number, company: string, project: string, app: string, model: string): Promise<boolean>;
10
- getByInternalId(_id: ObjectId, company: string, project: string, app: string, model: string, affectedStates?: Content['state'][]): Promise<WithId<BasicData<Universal>> | null>;
11
- list(query: Filter<WithId<Universal>>, select: Record<string, number>, site: number, limit: number, model: Modelv2<Universal>, sort?: string, order?: number): Promise<{
12
- data: WithId<Universal>[];
13
- all: number;
14
- count: number;
15
- }>;
16
- buildQuery(query: Filter<WithId<Universal>>, company?: string, project?: string | boolean, options?: DatabaseQueryOptions): Filter<WithId<Universal>>;
17
- }
@@ -1,142 +1,167 @@
1
- import { Immutable, ControllerBase } from '../../main.js';
2
- export default class UniversalService extends Immutable {
3
- constructor(model) {
4
- super();
5
- this.limit = 30;
6
- this.search = ['name', 'id'];
7
- if (!model)
8
- throw new Error('UNIVERSAL_SERVICE_MODEL_MISSING');
9
- this.model = model;
10
- }
11
- single(stringOrObjectID, company, project, app, model, affectedStates) {
12
- const query = {
13
- company,
14
- project,
15
- app,
16
- model,
17
- };
18
- if (typeof stringOrObjectID === 'string' || typeof stringOrObjectID === 'number') {
19
- query.id = stringOrObjectID;
20
- }
21
- if (typeof stringOrObjectID === 'object') {
22
- query._id = stringOrObjectID;
23
- }
24
- if (affectedStates) {
25
- query.state = { $in: affectedStates };
26
- }
27
- return this.model.db.findOne(query);
28
- }
29
- existsById(id, company, project, app, model) {
30
- return this.model.db
31
- .countDocuments({
32
- id,
33
- company,
34
- project,
35
- app,
36
- model,
37
- })
38
- .then((found) => found > 0);
39
- }
40
- getByInternalId(_id, company, project, app, model, affectedStates) {
41
- return this.single(_id, company, project, app, model, affectedStates);
42
- }
43
- list(query, select, site, limit, model, sort, order) {
44
- let realSite = 0;
45
- let realSelect;
46
- let realSort = {};
47
- let all;
48
- /**
49
- * see comment from this function
50
- */
51
- if (site)
52
- realSite = site - 1;
53
- const skipLimit = ControllerBase.getLimit(realSite, limit, this.limit);
54
- if (select) {
55
- realSelect = { ...select };
56
- }
57
- else {
58
- realSelect = { history: 0 };
59
- }
60
- if (sort && order) {
61
- realSort[`${sort === 'updated' ? 'history.updated' : sort}`] = +order;
62
- }
63
- else {
64
- realSort = { _id: 1 };
65
- }
66
- return model.db
67
- .countDocuments(query)
68
- .then((count) => {
69
- all = count;
70
- return model.db
71
- .find(query, { projection: realSelect })
72
- .limit(skipLimit.limit)
73
- .skip(skipLimit.skip)
74
- .sort(realSort)
75
- .toArray();
76
- })
77
- .then((data) => ({ data, all, count: data.length }));
78
- }
79
- buildQuery(query, company, project, options) {
80
- const realQuery = { ...query };
81
- const orArray = [];
82
- let tags;
83
- let keepTags = false;
84
- let keepSearch = false;
85
- let keepSort = false;
86
- if (company)
87
- realQuery.company = company;
88
- if (project)
89
- realQuery.project = project;
90
- if (project === false)
91
- realQuery.project = { $exists: false };
92
- if (options) {
93
- if (options.keepTags)
94
- keepTags = true;
95
- if (options.keepSearch)
96
- keepSearch = true;
97
- if (options.keepSort)
98
- keepSort = true;
99
- }
100
- if (!keepSort) {
101
- delete realQuery.sort;
102
- delete realQuery.order;
103
- }
104
- if (query.available) {
105
- realQuery.available = query.available === 'true';
106
- }
107
- /**
108
- * make sure tags are an array
109
- */
110
- if (query.tags && !keepTags) {
111
- if (!Array.isArray(query.tags)) {
112
- tags = [query.tags];
113
- }
114
- else {
115
- tags = query.tags;
116
- }
117
- realQuery.tags = { $in: tags };
118
- }
119
- if (query.search && !keepSearch) {
120
- if (this.search.length > 1) {
121
- this.search.forEach((single) => {
122
- orArray.push({
123
- [single]: {
124
- $regex: query.search.toLowerCase().trim(),
125
- $options: 'i',
126
- },
127
- });
128
- });
129
- realQuery.$or = orArray;
130
- }
131
- else {
132
- realQuery[this.search[0]] = {
133
- $regex: query.search.toLowerCase().trim(),
134
- $options: 'i',
135
- };
136
- }
137
- delete realQuery.search;
138
- }
139
- return realQuery;
140
- }
141
- }
1
+ // import {
2
+ // Filter, WithId, Sort, SortDirection, ObjectId,
3
+ // } from 'mongodb';
4
+ // import { Immutable, Modelv2, ControllerBase } from '../../main.js';
5
+ // import { BasicData, Content, DatabaseQueryOptions, Universal } from '@lilaquadrat/interfaces';
6
+ // export default class UniversalService extends Immutable<Universal> {
7
+ // limit = 30;
8
+ // search = ['name', 'id'];
9
+ // constructor(model: Modelv2<Universal>) {
10
+ // super();
11
+ // if (!model) throw new Error('UNIVERSAL_SERVICE_MODEL_MISSING');
12
+ // this.model = model;
13
+ // }
14
+ // single(
15
+ // stringOrObjectID: BasicData<Content>['_id'] | string | number,
16
+ // company: string,
17
+ // project: string,
18
+ // app: string,
19
+ // model: string,
20
+ // affectedStates?: Content['state'][],
21
+ // ) {
22
+ // const query: Filter<Universal> = {
23
+ // company,
24
+ // project,
25
+ // app,
26
+ // model,
27
+ // };
28
+ // if (typeof stringOrObjectID === 'string' || typeof stringOrObjectID === 'number') {
29
+ // query.id = stringOrObjectID;
30
+ // }
31
+ // if (typeof stringOrObjectID === 'object') {
32
+ // query._id = stringOrObjectID;
33
+ // }
34
+ // if (affectedStates) {
35
+ // query.state = { $in: affectedStates };
36
+ // }
37
+ // return this.model.db.findOne(query);
38
+ // }
39
+ // existsById(
40
+ // id: string | number,
41
+ // company: string,
42
+ // project: string,
43
+ // app: string,
44
+ // model: string,
45
+ // ) {
46
+ // return this.model.db
47
+ // .countDocuments({
48
+ // id,
49
+ // company,
50
+ // project,
51
+ // app,
52
+ // model,
53
+ // })
54
+ // .then((found) => found > 0);
55
+ // }
56
+ // getByInternalId(
57
+ // _id: ObjectId,
58
+ // company: string,
59
+ // project: string,
60
+ // app: string,
61
+ // model: string,
62
+ // affectedStates?: Content['state'][],
63
+ // ) {
64
+ // return this.single(_id, company, project, app, model, affectedStates);
65
+ // }
66
+ // list(
67
+ // query: Filter<WithId<Universal>>,
68
+ // select: Record<string, number>,
69
+ // site: number,
70
+ // limit: number,
71
+ // model: Modelv2<Universal>,
72
+ // sort?: string,
73
+ // order?: number,
74
+ // ) {
75
+ // let realSite: number = 0;
76
+ // let realSelect: Record<keyof Universal, number>;
77
+ // let realSort: Record<string, SortDirection> = {};
78
+ // let all: number;
79
+ // /**
80
+ // * see comment from this function
81
+ // */
82
+ // if (site) realSite = site - 1;
83
+ // const skipLimit = ControllerBase.getLimit(realSite, limit, this.limit);
84
+ // if (select) {
85
+ // realSelect = { ...select };
86
+ // } else {
87
+ // realSelect = { history: 0 };
88
+ // }
89
+ // if (sort && order) {
90
+ // realSort[`${sort === 'updated' ? 'history.updated' : sort}`] = +order as SortDirection;
91
+ // } else {
92
+ // realSort = { _id: 1 };
93
+ // }
94
+ // return model.db
95
+ // .countDocuments(query as Filter<Universal>)
96
+ // .then((count: number) => {
97
+ // all = count;
98
+ // return model.db
99
+ // .find(query, { projection: realSelect })
100
+ // .limit(skipLimit.limit)
101
+ // .skip(skipLimit.skip)
102
+ // .sort(realSort)
103
+ // .toArray();
104
+ // })
105
+ // .then((data) => ({ data, all, count: data.length }));
106
+ // }
107
+ // buildQuery(
108
+ // query: Filter<WithId<Universal>>,
109
+ // company?: string,
110
+ // project?: string | boolean,
111
+ // options?: DatabaseQueryOptions,
112
+ // ) {
113
+ // const realQuery: Record<string, any> = { ...query };
114
+ // const orArray: Object[] = [];
115
+ // let tags: string[];
116
+ // let keepTags = false;
117
+ // let keepSearch = false;
118
+ // let keepSort = false;
119
+ // if (company) realQuery.company = company;
120
+ // if (project) realQuery.project = project;
121
+ // if (project === false) realQuery.project = { $exists: false };
122
+ // if (options) {
123
+ // if (options.keepTags) keepTags = true;
124
+ // if (options.keepSearch) keepSearch = true;
125
+ // if (options.keepSort) keepSort = true;
126
+ // }
127
+ // if (!keepSort) {
128
+ // delete realQuery.sort;
129
+ // delete realQuery.order;
130
+ // }
131
+ // if (query.available) {
132
+ // realQuery.available = query.available === 'true';
133
+ // }
134
+ // /**
135
+ // * make sure tags are an array
136
+ // */
137
+ // if (query.tags && !keepTags) {
138
+ // if (!Array.isArray(query.tags)) {
139
+ // tags = [query.tags];
140
+ // } else {
141
+ // tags = query.tags;
142
+ // }
143
+ // realQuery.tags = { $in: tags };
144
+ // }
145
+ // if (query.search && !keepSearch) {
146
+ // if (this.search.length > 1) {
147
+ // this.search.forEach((single: string) => {
148
+ // orArray.push({
149
+ // [single]: {
150
+ // $regex: query.search.toLowerCase().trim(),
151
+ // $options: 'i',
152
+ // },
153
+ // });
154
+ // });
155
+ // realQuery.$or = orArray;
156
+ // } else {
157
+ // realQuery[this.search[0]] = {
158
+ // $regex: query.search.toLowerCase().trim(),
159
+ // $options: 'i',
160
+ // };
161
+ // }
162
+ // delete realQuery.search;
163
+ // }
164
+ // return realQuery as Filter<WithId<Universal>>;
165
+ // }
166
+ // }
142
167
  //# sourceMappingURL=universal.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"universal.service.js","sourceRoot":"","sources":["../../../src/services/universal.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universal.service.js","sourceRoot":"","sources":["../../../src/services/universal.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": "10.0.0-beta.4",
3
+ "version": "10.0.0-beta.5",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,114 +0,0 @@
1
- import { Router, Response } from 'express';
2
- import { Filter, MongoServerError, SortDirection, WithId, Document } from 'mongodb';
3
- import { Modelv2 } from '../../main.js';
4
- import ImmutableError from './errors/Immutable.error.js';
5
- import { DatabaseQuerySites, DatabaseQueryOptions, ListOfModels } from '@lilaquadrat/interfaces';
6
- import { ListCustomQueries } from '@lilaquadrat/interfaces';
7
- import InvalidIdError from './errors/InvalidId.error.js';
8
- import ForbiddenError from './errors/Forbidden.error.js';
9
- export default abstract class ControllerBase {
10
- logger: Console;
11
- router: Router;
12
- /**
13
- * max documents per call.
14
- * custom limit cant be higher than this
15
- *
16
- * @abstract
17
- * @type {number}
18
- * @memberof ControllerBase
19
- */
20
- limit: number;
21
- /**
22
- * defines which fields are included or excluded if nothing is emitet
23
- *
24
- * @type {string}
25
- * @memberof ControllerBase
26
- */
27
- selectDefault: any;
28
- /**
29
- * defines which keys are used for regex search
30
- * if more then one entry, it will be an $or
31
- *
32
- *
33
- * For example:
34
- *
35
- * ```ts
36
- * {$or: [{ $regex: key1, $options: 'i' }, { $regex: key2, $options: 'i' }]}
37
- * ```
38
- *
39
- * @type {string[]}
40
- * @memberof ControllerBase
41
- */
42
- search: string[];
43
- cleanErrors(errors: {
44
- [key: string]: any;
45
- }): {
46
- [key: string]: any;
47
- };
48
- handleError(error: MongoServerError | ImmutableError | InvalidIdError | ForbiddenError, res: Response): void;
49
- response(res: any, data: any, count?: number): void;
50
- static buildResponse<M>(data: ListOfModels<M>, site: number, limit: number, hardLimit?: number): {
51
- data: M[] | undefined;
52
- all: number | undefined;
53
- sites: DatabaseQuerySites;
54
- count: number | undefined;
55
- };
56
- static getLimit(site: number, limit: number, hardLimit?: number): {
57
- skip: number;
58
- limit: number;
59
- };
60
- static getRealLimit(limit: number, hardLimit?: number): number;
61
- getSort(sort?: string, order?: '1' | 0): {};
62
- /**
63
- *
64
- *
65
- * @param {number} site
66
- * @param {number} limit
67
- * @param {number} count all data count regardless of site
68
- * @param {number} current current count of documents
69
- * @returns {DatabaseQuerySites}
70
- * @memberof ControllerBase
71
- */
72
- static getSites(site: number, limit: number, count: number, current: number): DatabaseQuerySites;
73
- exec(): void;
74
- /**
75
- *
76
- *
77
- * @param {DatabaseQuery} query
78
- * @param {string} [company]
79
- * @param {string} [project]
80
- * @param {DatabaseQueryOptions} [options]
81
- * @returns
82
- * @memberof ControllerBase
83
- */
84
- buildQuery<M>(query: Filter<WithId<M>>, company?: string, project?: string | boolean, options?: DatabaseQueryOptions): Filter<WithId<M>>;
85
- /**
86
- *
87
- *
88
- * @param {DatabaseQuery} query
89
- * @param {string} select
90
- * @param {number} site start counting at 1 instead of zero. no site / zero will be the same as 1
91
- * @param {number} limit
92
- * @param {Model<Document>} model
93
- * @param {string} [sort]
94
- * @param {string} [order]
95
- * @returns
96
- * @memberof ControllerBase
97
- */
98
- list<M extends Document>(query: Filter<M>, select: Record<string, number>, site: number, limit: number, model: Modelv2<M>, sort?: string, order?: number): Promise<{
99
- data: WithId<M>[];
100
- all: number;
101
- count: number;
102
- }>;
103
- listCustomQuery<M extends Document>(queries: ListCustomQueries<M>, model: Modelv2<M>): Promise<{
104
- all: number;
105
- data: M[];
106
- count: number;
107
- }>;
108
- static getSkipLimitSort(site: number, limit: number, sort?: string, order?: number): {
109
- skip: number;
110
- limit: number;
111
- sort: Record<string, SortDirection>;
112
- };
113
- abstract routing(): void;
114
- }
@@ -1,268 +0,0 @@
1
- import { Router } from 'express';
2
- import handleError from '../functions/handleError.js';
3
- export default class ControllerBase {
4
- constructor() {
5
- this.logger = console;
6
- this.router = Router({ mergeParams: true });
7
- /**
8
- * defines which fields are included or excluded if nothing is emitet
9
- *
10
- * @type {string}
11
- * @memberof ControllerBase
12
- */
13
- this.selectDefault = {};
14
- /**
15
- * defines which keys are used for regex search
16
- * if more then one entry, it will be an $or
17
- *
18
- *
19
- * For example:
20
- *
21
- * ```ts
22
- * {$or: [{ $regex: key1, $options: 'i' }, { $regex: key2, $options: 'i' }]}
23
- * ```
24
- *
25
- * @type {string[]}
26
- * @memberof ControllerBase
27
- */
28
- this.search = [];
29
- }
30
- cleanErrors(errors) {
31
- const errorObject = {};
32
- if (errors.errors) {
33
- Object.keys(errors.errors).forEach((key) => {
34
- errorObject[key] = errors.errors[key].message;
35
- });
36
- }
37
- else if (typeof errors === 'object') {
38
- if (errors.code === 11000) {
39
- const message = errors.message.match(/index: (.*)_/i);
40
- errorObject[message[1]] = `${message[1]}_duplicate`;
41
- }
42
- else {
43
- errorObject.error = errors.message;
44
- }
45
- }
46
- return errorObject;
47
- }
48
- handleError(error, res) {
49
- handleError(error, res);
50
- }
51
- response(res, data, count) {
52
- count || count === 0
53
- ? res.json({ data, count })
54
- : res.json({ data, count: data.length });
55
- }
56
- static buildResponse(data, site, limit, hardLimit = 30) {
57
- return {
58
- data: data.data,
59
- all: data.all,
60
- sites: ControllerBase.getSites(+site, ControllerBase.getRealLimit(limit, hardLimit), data.all, data.count),
61
- count: data.count,
62
- };
63
- }
64
- static getLimit(site, limit, hardLimit) {
65
- const realLimit = ControllerBase.getRealLimit(limit, hardLimit);
66
- return {
67
- skip: site * realLimit || 0,
68
- limit: realLimit,
69
- };
70
- }
71
- static getRealLimit(limit, hardLimit) {
72
- let realLimit;
73
- if (hardLimit) {
74
- realLimit = limit > hardLimit ? hardLimit : limit;
75
- }
76
- else {
77
- realLimit = limit;
78
- }
79
- return realLimit;
80
- }
81
- getSort(sort, order) {
82
- const sortObject = {};
83
- if (sort && order) {
84
- sortObject[sort] = order === '1' ? 1 : -1;
85
- return sortObject;
86
- }
87
- return { _id: 1 };
88
- }
89
- /**
90
- *
91
- *
92
- * @param {number} site
93
- * @param {number} limit
94
- * @param {number} count all data count regardless of site
95
- * @param {number} current current count of documents
96
- * @returns {DatabaseQuerySites}
97
- * @memberof ControllerBase
98
- */
99
- static getSites(site, limit, count, current) {
100
- const realSite = site - 1;
101
- if (count === 0) {
102
- return {
103
- first: 0,
104
- current: 0,
105
- last: 0,
106
- range: [0, 0],
107
- };
108
- }
109
- return {
110
- first: 1,
111
- current: site || 1,
112
- last: count ? Math.ceil(count / limit) : 1,
113
- range: [
114
- (realSite * limit) + 1 || 1,
115
- realSite * limit + current || current,
116
- ],
117
- };
118
- }
119
- exec() {
120
- }
121
- /**
122
- *
123
- *
124
- * @param {DatabaseQuery} query
125
- * @param {string} [company]
126
- * @param {string} [project]
127
- * @param {DatabaseQueryOptions} [options]
128
- * @returns
129
- * @memberof ControllerBase
130
- */
131
- buildQuery(query, company, project, options) {
132
- const realQuery = { ...query };
133
- const orArray = [];
134
- let tags;
135
- let category;
136
- let keepTags = false;
137
- let keepSearch = false;
138
- let keepSort = false;
139
- if (company)
140
- realQuery.company = company;
141
- if (project)
142
- realQuery.project = project;
143
- if (project === false)
144
- realQuery.project = { $exists: false };
145
- if (options) {
146
- if (options.keepTags)
147
- keepTags = true;
148
- if (options.keepSearch)
149
- keepSearch = true;
150
- if (options.keepSort)
151
- keepSort = true;
152
- }
153
- if (!keepSort) {
154
- delete realQuery.sort;
155
- delete realQuery.order;
156
- }
157
- if (query.partial !== undefined) {
158
- realQuery.partial = query.partial
159
- ? true
160
- : { $exists: false };
161
- }
162
- if (query.layout !== undefined) {
163
- realQuery.layout = query.layout
164
- ? true
165
- : { $exists: false };
166
- }
167
- if (query.available) {
168
- realQuery.available = query.available === true || (query.available === 'true');
169
- }
170
- /**
171
- * make sure tags are an array
172
- */
173
- if (query.tags && !keepTags) {
174
- if (!Array.isArray(query.tags)) {
175
- tags = [query.tags];
176
- }
177
- else {
178
- tags = query.tags;
179
- }
180
- realQuery.tags = { $in: tags };
181
- }
182
- if (query.category) {
183
- if (!Array.isArray(query.category)) {
184
- category = [query.category];
185
- }
186
- else {
187
- category = query.category;
188
- }
189
- realQuery.category = { $in: category };
190
- }
191
- if (query.search && !keepSearch) {
192
- if (this.search.length > 1) {
193
- this.search.forEach((single) => {
194
- orArray.push({ [single]: { $regex: query.search.toString().toLowerCase().trim(), $options: 'i' } });
195
- });
196
- realQuery.$or = orArray;
197
- }
198
- else {
199
- realQuery[this.search[0]] = { $regex: query.search.toString().toLowerCase().trim(), $options: 'i' };
200
- }
201
- delete realQuery.search;
202
- }
203
- return realQuery;
204
- }
205
- /**
206
- *
207
- *
208
- * @param {DatabaseQuery} query
209
- * @param {string} select
210
- * @param {number} site start counting at 1 instead of zero. no site / zero will be the same as 1
211
- * @param {number} limit
212
- * @param {Model<Document>} model
213
- * @param {string} [sort]
214
- * @param {string} [order]
215
- * @returns
216
- * @memberof ControllerBase
217
- */
218
- async list(query, select, site, limit, model, sort, order) {
219
- let realSelect;
220
- const skipLimitSort = ControllerBase.getSkipLimitSort(site, limit, sort, order);
221
- realSelect = this.selectDefault;
222
- if (select) {
223
- realSelect = { ...select, ...realSelect };
224
- }
225
- const all = await model.db.countDocuments(query);
226
- const data = await model.db.find(query, { projection: realSelect })
227
- .limit(skipLimitSort.limit)
228
- .skip(skipLimitSort.skip)
229
- .sort(skipLimitSort.sort)
230
- .toArray();
231
- return { data, all, count: data.length };
232
- }
233
- async listCustomQuery(queries, model) {
234
- const all = await model.db.countDocuments(queries.countQuery);
235
- const data = await model.db.aggregate(queries.aggregation)
236
- .toArray();
237
- return { all, data, count: data.length };
238
- }
239
- static getSkipLimitSort(site, limit, sort, order) {
240
- let realSite = 0;
241
- let realSort = {};
242
- let sortKey;
243
- /**
244
- * see comment from this function
245
- */
246
- if (site)
247
- realSite = site - 1;
248
- const skipLimit = ControllerBase.getLimit(realSite, limit, limit);
249
- if (sort && order) {
250
- if (sort === 'updated') {
251
- sortKey = 'history.updated';
252
- }
253
- else if (sort === 'created') {
254
- sortKey = 'history.created';
255
- }
256
- else
257
- sortKey = sort;
258
- realSort[sortKey] = +order;
259
- }
260
- else {
261
- realSort = { _id: 1 };
262
- }
263
- return {
264
- sort: realSort, ...skipLimit,
265
- };
266
- }
267
- }
268
- //# sourceMappingURL=ControllerBase.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ControllerBase.class.js","sourceRoot":"","sources":["../../../src/classes/ControllerBase.class.ts"],"names":[],"mappings":"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"}