@common-stack/store-mongo 7.1.1-alpha.24 → 7.1.1-alpha.30

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.
@@ -1,4 +1,4 @@
1
- import {ContainerModule}from'inversify';import {SERVER_TYPES}from'../common-server.js';import {BaseMongoRepository}from'../store/repositories/BaseMongoRepository.js';import'../store/repositories/base-repository.js';/**
1
+ import {ContainerModule}from'inversify';import {SERVER_TYPES}from'common/server';import {BaseMongoRepository}from'../store/repositories/BaseMongoRepository.js';import'../store/repositories/base-repository.js';/**
2
2
  * Local services and exposed microservices to serve remote connections.
3
3
  * Operates within in the Gateway.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sources":["../../src/containers/container.ts"],"sourcesContent":["import { ContainerModule, interfaces } from 'inversify';\nimport { SERVER_TYPES } from '../common-server';\nimport { BaseMongoRepository } from '../store';\n\n/**\n * Local services and exposed microservices to serve remote connections.\n * Operates within in the Gateway.\n *\n */\nexport const localContainerModule: (settings) => interfaces.ContainerModule = () =>\n new ContainerModule((bind: interfaces.Bind) => {\n bind(SERVER_TYPES.BaseMongoRepository).to(BaseMongoRepository).inSingletonScope().whenTargetIsDefault();\n });\n\n/**\n * Operates external to the Gateway. Usually a broker listen to calls and invoke this service\n * local to the micro container.\n *\n * @param settings Settings\n */\nexport const externalContainerModule: (settings) => interfaces.ContainerModule = () =>\n new ContainerModule((bind: interfaces.Bind) => {\n bind(SERVER_TYPES.BaseMongoRepository).to(BaseMongoRepository).inSingletonScope().whenTargetIsDefault();\n });\n"],"names":[],"mappings":"uNAIA;;;;AAIG;AACI,MAAM,oBAAoB,GAA6C,MAC1E,IAAI,eAAe,CAAC,CAAC,IAAqB,KAAI;AAC1C,IAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,CAAC;AAC5G,CAAC,EAAE;AAEP;;;;;AAKG;AACI,MAAM,uBAAuB,GAA6C,MAC7E,IAAI,eAAe,CAAC,CAAC,IAAqB,KAAI;AAC1C,IAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"container.js","sources":["../../src/containers/container.ts"],"sourcesContent":["import { ContainerModule, interfaces } from 'inversify';\nimport { SERVER_TYPES } from 'common/server';\nimport { BaseMongoRepository } from '../store';\n\n/**\n * Local services and exposed microservices to serve remote connections.\n * Operates within in the Gateway.\n *\n */\nexport const localContainerModule: (settings) => interfaces.ContainerModule = () =>\n new ContainerModule((bind: interfaces.Bind) => {\n bind(SERVER_TYPES.BaseMongoRepository).to(BaseMongoRepository).inSingletonScope().whenTargetIsDefault();\n });\n\n/**\n * Operates external to the Gateway. Usually a broker listen to calls and invoke this service\n * local to the micro container.\n *\n * @param settings Settings\n */\nexport const externalContainerModule: (settings) => interfaces.ContainerModule = () =>\n new ContainerModule((bind: interfaces.Bind) => {\n bind(SERVER_TYPES.BaseMongoRepository).to(BaseMongoRepository).inSingletonScope().whenTargetIsDefault();\n });\n"],"names":[],"mappings":"iNAIA;;;;AAIG;AACI,MAAM,oBAAoB,GAA6C,MAC1E,IAAI,eAAe,CAAC,CAAC,IAAqB,KAAI;AAC1C,IAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,CAAC;AAC5G,CAAC,EAAE;AAEP;;;;;AAKG;AACI,MAAM,uBAAuB,GAA6C,MAC7E,IAAI,eAAe,CAAC,CAAC,IAAqB,KAAI;AAC1C,IAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,CAAC;AAC5G,CAAC"}
@@ -1,4 +1,5 @@
1
- import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloader';import {injectable,unmanaged}from'inversify';let BulkDataLoader2 = class BulkDataLoader2 extends DataLoader {
1
+ import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloader';import {injectable,unmanaged}from'inversify';import {IBaseService}from'common/server';var _a;
2
+ let BulkDataLoader2 = class BulkDataLoader2 extends DataLoader {
2
3
  service;
3
4
  constructor(service) {
4
5
  super(async (ids) => {
@@ -29,5 +30,5 @@ import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloa
29
30
  BulkDataLoader2 = __decorate([
30
31
  injectable(),
31
32
  __param(0, unmanaged()),
32
- __metadata("design:paramtypes", [Object])
33
+ __metadata("design:paramtypes", [typeof (_a = typeof IBaseService !== "undefined" && IBaseService) === "function" ? _a : Object])
33
34
  ], BulkDataLoader2);export{BulkDataLoader2};//# sourceMappingURL=bulk-dataloader-v2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-dataloader-v2.js","sources":["../../src/dataloaders/bulk-dataloader-v2.ts"],"sourcesContent":["import DataLoader from 'dataloader';\nimport { injectable, unmanaged } from 'inversify';\nimport { FilterQuery } from 'mongoose';\nimport { IBaseService, IDataLoader, AsDomainType } from 'common/server';\n\n@injectable()\nexport class BulkDataLoader2<SchemaType>\n extends DataLoader<string, AsDomainType<SchemaType> | null>\n implements IDataLoader<SchemaType>\n{\n constructor(@unmanaged() private readonly service: IBaseService<SchemaType>) {\n super(async (ids: string[]) => {\n const data = await this.service.getByIds(ids);\n return ids.map((id) => data.find((record) => record.id === id) || null);\n });\n }\n\n withOptions = new DataLoader<DataLoaderOptions<SchemaType>, AsDomainType<SchemaType>[]>(async (options) => {\n const [{ searchKey, comparator, ...rest }] = options;\n const ids = options.map((option) => option.id);\n\n // Create a properly typed criteria object with explicit type assertion\n const criteria = {\n ...(rest.criteria || {}),\n [searchKey as string]: { $in: ids },\n } as FilterQuery<SchemaType>;\n\n const results = await this.service.getAll({\n ...rest,\n criteria,\n });\n\n return options.map((option) =>\n results.filter((item) => {\n if (typeof comparator === 'function') return comparator(option, item);\n return item[searchKey as keyof AsDomainType<SchemaType>]?.toString() === option.id.toString();\n }),\n );\n });\n}\n"],"names":[],"mappings":"kIAMO,IAAM,eAAe,GAArB,MAAM,eACT,SAAQ,UAAmD,CAAA;AAGjB,IAAA,OAAA,CAAA;AAA1C,IAAA,WAAA,CAA0C,OAAiC,EAAA;AACvE,QAAA,KAAK,CAAC,OAAO,GAAa,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;QAJmC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0B;KAK1E;IAED,WAAW,GAAG,IAAI,UAAU,CAA4D,OAAO,OAAO,KAAI;AACtG,QAAA,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;AACrD,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;;AAG/C,QAAA,MAAM,QAAQ,GAAG;AACb,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxB,YAAA,CAAC,SAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;SACX,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACtC,YAAA,GAAG,IAAI;YACP,QAAQ;AACX,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KACtB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;YACpB,IAAI,OAAO,UAAU,KAAK,UAAU;AAAE,gBAAA,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtE,YAAA,OAAO,IAAI,CAAC,SAA2C,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SACjG,CAAC,CACL,CAAC;AACN,KAAC,CAAC,CAAC;EACN;AAjCY,eAAe,GAAA,UAAA,CAAA;AAD3B,IAAA,UAAU,EAAE;IAKI,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;;AAJf,CAAA,EAAA,eAAe,CAiC3B"}
1
+ {"version":3,"file":"bulk-dataloader-v2.js","sources":["../../src/dataloaders/bulk-dataloader-v2.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport DataLoader from 'dataloader';\nimport { injectable, unmanaged } from 'inversify';\nimport { FilterQuery } from 'mongoose';\nimport { IBaseService, IDataLoader, AsDomainType, DataLoaderOptions } from 'common/server';\n\n@injectable()\nexport class BulkDataLoader2<SchemaType>\n extends DataLoader<string, AsDomainType<SchemaType> | null>\n implements IDataLoader<SchemaType>\n{\n constructor(@unmanaged() private readonly service: IBaseService<SchemaType>) {\n super(async (ids: string[]) => {\n const data = await this.service.getByIds(ids);\n return ids.map((id) => data.find((record) => record.id === id) || null);\n });\n }\n\n withOptions = new DataLoader<DataLoaderOptions<SchemaType>, AsDomainType<SchemaType>[]>(async (options) => {\n const [{ searchKey, comparator, ...rest }] = options;\n const ids = options.map((option) => option.id);\n\n // Create a properly typed criteria object with explicit type assertion\n const criteria = {\n ...(rest.criteria || {}),\n [searchKey as string]: { $in: ids },\n } as FilterQuery<SchemaType>;\n\n const results = await this.service.getAll({\n ...rest,\n criteria,\n });\n\n return options.map((option) =>\n results.filter((item) => {\n if (typeof comparator === 'function') return comparator(option, item);\n return item[searchKey as keyof AsDomainType<SchemaType>]?.toString() === option.id.toString();\n }),\n );\n });\n}\n"],"names":[],"mappings":";AAOO,IAAM,eAAe,GAArB,MAAM,eACT,SAAQ,UAAmD,CAAA;AAGjB,IAAA,OAAA,CAAA;AAA1C,IAAA,WAAA,CAA0C,OAAiC,EAAA;AACvE,QAAA,KAAK,CAAC,OAAO,GAAa,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;QAJmC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0B;KAK1E;IAED,WAAW,GAAG,IAAI,UAAU,CAA4D,OAAO,OAAO,KAAI;AACtG,QAAA,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;AACrD,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;;AAG/C,QAAA,MAAM,QAAQ,GAAG;AACb,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxB,YAAA,CAAC,SAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;SACX,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACtC,YAAA,GAAG,IAAI;YACP,QAAQ;AACX,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KACtB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;YACpB,IAAI,OAAO,UAAU,KAAK,UAAU;AAAE,gBAAA,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtE,YAAA,OAAO,IAAI,CAAC,SAA2C,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SACjG,CAAC,CACL,CAAC;AACN,KAAC,CAAC,CAAC;EACN;AAjCY,eAAe,GAAA,UAAA,CAAA;AAD3B,IAAA,UAAU,EAAE;IAKI,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;AAA2B,IAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,EAAA,GAAA,OAAA,YAAY,oBAAZ,YAAY,CAAA,KAAA,UAAA,GAAA,EAAA,GAAA,MAAA,CAAA,CAAA;AAJtD,CAAA,EAAA,eAAe,CAiC3B"}
package/lib/module.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import { Feature } from '@common-stack/server-core';
2
- declare const _default: Feature<import("@common-stack/server-core").ConfigurationScope, any>;
1
+ declare const _default: any;
3
2
  export default _default;
@@ -1,4 +1,5 @@
1
- import {__decorate,__metadata}from'tslib';import {injectable}from'inversify';let BaseService2 = class BaseService2 {
1
+ import {__decorate,__metadata}from'tslib';import {injectable}from'inversify';import {IBaseMongoRepository}from'common/server';var _a;
2
+ let BaseService2 = class BaseService2 {
2
3
  repository;
3
4
  constructor(repository) {
4
5
  this.repository = repository;
@@ -60,5 +61,5 @@ import {__decorate,__metadata}from'tslib';import {injectable}from'inversify';let
60
61
  };
61
62
  BaseService2 = __decorate([
62
63
  injectable(),
63
- __metadata("design:paramtypes", [Object])
64
+ __metadata("design:paramtypes", [typeof (_a = typeof IBaseMongoRepository !== "undefined" && IBaseMongoRepository) === "function" ? _a : Object])
64
65
  ], BaseService2);export{BaseService2};//# sourceMappingURL=BaseService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseService.js","sources":["../../src/services/BaseService.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable no-useless-catch */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-useless-constructor */\n/* eslint-disable no-empty-function */\nimport { FilterQuery } from 'mongoose';\nimport { injectable } from 'inversify';\nimport { GetAllArgs, IBaseMongoRepository, IBaseService, AsDomainType, CreateType, UpdateType } from 'common/server';\n\n@injectable()\nexport class BaseService2<SchemaType, C = CreateType<SchemaType>, U = UpdateType<SchemaType>>\n implements IBaseService<SchemaType, C, U>\n{\n constructor(protected repository: IBaseMongoRepository<SchemaType>) {}\n\n async getAllWithCount(\n options: GetAllArgs<SchemaType>,\n ): Promise<{ data: AsDomainType<SchemaType>[]; totalCount: number }> {\n return this.repository.getAllWithCount(options);\n }\n\n count(conditions?: FilterQuery<SchemaType>): Promise<number> {\n return this.repository.count(conditions);\n }\n\n get(conditions: string | FilterQuery<SchemaType>): Promise<AsDomainType<SchemaType> | null> {\n if (typeof conditions === 'string') {\n return this.repository.get({ id: conditions } as FilterQuery<SchemaType>);\n }\n return this.repository.get(conditions);\n }\n\n getByName(name: string): Promise<AsDomainType<SchemaType> | null> {\n return this.repository.get({ name } as any);\n }\n\n getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]> {\n return this.repository.getAll(options);\n }\n\n getByIds(ids: string[]): Promise<AsDomainType<SchemaType>[]> {\n return this.repository.bulkGet(ids);\n }\n\n create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>> {\n return this.repository.create(data);\n }\n\n bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]> {\n return this.repository.bulkCreate(data);\n }\n\n async update<T = UpdateType<SchemaType>>(\n id: string,\n data: T,\n overwrite = false,\n ): Promise<AsDomainType<SchemaType>> {\n return this.repository.update({ id } as any, data, { overwrite });\n }\n\n async insert<T = CreateType<SchemaType>>(\n data: T & { id?: string },\n overwrite = true,\n ): Promise<AsDomainType<SchemaType>> {\n const { id, ...rest } = data;\n\n if (id) {\n try {\n const existing = await this.repository.get({ id } as any);\n if (existing) {\n return this.update(id, rest as any, overwrite);\n }\n } catch (error) {\n // If not found, continue to create\n }\n }\n\n return this.create(rest as T);\n }\n\n delete(id: string | FilterQuery<SchemaType>): Promise<boolean> {\n if (typeof id === 'string') {\n return this.repository.delete({ id } as any);\n }\n return this.repository.delete(id);\n }\n\n bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number> {\n return this.repository.bulkDelete(criteria);\n }\n}\n"],"names":[],"mappings":"6EAWa,IAAA,YAAY,GAAlB,MAAM,YAAY,CAAA;AAGC,IAAA,UAAA,CAAA;AAAtB,IAAA,WAAA,CAAsB,UAA4C,EAAA;QAA5C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAkC;KAAI;IAEtE,MAAM,eAAe,CACjB,OAA+B,EAAA;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KACnD;AAED,IAAA,KAAK,CAAC,UAAoC,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5C;AAED,IAAA,GAAG,CAAC,UAA4C,EAAA;AAC5C,QAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAA6B,CAAC,CAAC;SAC7E;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAC1C;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAS,CAAC,CAAC;KAC/C;AAED,IAAA,MAAM,CAAC,OAA+B,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1C;AAED,IAAA,QAAQ,CAAC,GAAa,EAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACvC;AAED,IAAA,MAAM,CAA6B,IAAO,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACvC;AAED,IAAA,UAAU,CAA6B,IAAS,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC3C;IAED,MAAM,MAAM,CACR,EAAU,EACV,IAAO,EACP,SAAS,GAAG,KAAK,EAAA;AAEjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KACrE;AAED,IAAA,MAAM,MAAM,CACR,IAAyB,EACzB,SAAS,GAAG,IAAI,EAAA;QAEhB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAE7B,IAAI,EAAE,EAAE;AACJ,YAAA,IAAI;AACA,gBAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAS,CAAC,CAAC;gBAC1D,IAAI,QAAQ,EAAE;oBACV,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAW,EAAE,SAAS,CAAC,CAAC;iBAClD;aACJ;YAAC,OAAO,KAAK,EAAE;;aAEf;SACJ;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC,CAAC;KACjC;AAED,IAAA,MAAM,CAAC,EAAoC,EAAA;AACvC,QAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAS,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACrC;AAED,IAAA,UAAU,CAAC,QAAiC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC/C;EACJ;AAhFY,YAAY,GAAA,UAAA,CAAA;AADxB,IAAA,UAAU,EAAE;;AACA,CAAA,EAAA,YAAY,CAgFxB"}
1
+ {"version":3,"file":"BaseService.js","sources":["../../src/services/BaseService.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable no-useless-catch */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable no-useless-constructor */\n/* eslint-disable no-empty-function */\nimport { FilterQuery } from 'mongoose';\nimport { injectable } from 'inversify';\nimport { GetAllArgs, IBaseMongoRepository, IBaseService, AsDomainType, CreateType, UpdateType } from 'common/server';\n\n@injectable()\nexport class BaseService2<SchemaType, C = CreateType<SchemaType>, U = UpdateType<SchemaType>>\n implements IBaseService<SchemaType, C, U>\n{\n constructor(protected repository: IBaseMongoRepository<SchemaType>) {}\n\n async getAllWithCount(\n options: GetAllArgs<SchemaType>,\n ): Promise<{ data: AsDomainType<SchemaType>[]; totalCount: number }> {\n return this.repository.getAllWithCount(options);\n }\n\n count(conditions?: FilterQuery<SchemaType>): Promise<number> {\n return this.repository.count(conditions);\n }\n\n get(conditions: string | FilterQuery<SchemaType>): Promise<AsDomainType<SchemaType> | null> {\n if (typeof conditions === 'string') {\n return this.repository.get({ id: conditions } as FilterQuery<SchemaType>);\n }\n return this.repository.get(conditions);\n }\n\n getByName(name: string): Promise<AsDomainType<SchemaType> | null> {\n return this.repository.get({ name } as any);\n }\n\n getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]> {\n return this.repository.getAll(options);\n }\n\n getByIds(ids: string[]): Promise<AsDomainType<SchemaType>[]> {\n return this.repository.bulkGet(ids);\n }\n\n create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>> {\n return this.repository.create(data);\n }\n\n bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]> {\n return this.repository.bulkCreate(data);\n }\n\n async update<T = UpdateType<SchemaType>>(\n id: string,\n data: T,\n overwrite = false,\n ): Promise<AsDomainType<SchemaType>> {\n return this.repository.update({ id } as any, data, { overwrite });\n }\n\n async insert<T = CreateType<SchemaType>>(\n data: T & { id?: string },\n overwrite = true,\n ): Promise<AsDomainType<SchemaType>> {\n const { id, ...rest } = data;\n\n if (id) {\n try {\n const existing = await this.repository.get({ id } as any);\n if (existing) {\n return this.update(id, rest as any, overwrite);\n }\n } catch (error) {\n // If not found, continue to create\n }\n }\n\n return this.create(rest as T);\n }\n\n delete(id: string | FilterQuery<SchemaType>): Promise<boolean> {\n if (typeof id === 'string') {\n return this.repository.delete({ id } as any);\n }\n return this.repository.delete(id);\n }\n\n bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number> {\n return this.repository.bulkDelete(criteria);\n }\n}\n"],"names":[],"mappings":";AAWa,IAAA,YAAY,GAAlB,MAAM,YAAY,CAAA;AAGC,IAAA,UAAA,CAAA;AAAtB,IAAA,WAAA,CAAsB,UAA4C,EAAA;QAA5C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAkC;KAAI;IAEtE,MAAM,eAAe,CACjB,OAA+B,EAAA;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KACnD;AAED,IAAA,KAAK,CAAC,UAAoC,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5C;AAED,IAAA,GAAG,CAAC,UAA4C,EAAA;AAC5C,QAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAA6B,CAAC,CAAC;SAC7E;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAC1C;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAS,CAAC,CAAC;KAC/C;AAED,IAAA,MAAM,CAAC,OAA+B,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1C;AAED,IAAA,QAAQ,CAAC,GAAa,EAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACvC;AAED,IAAA,MAAM,CAA6B,IAAO,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACvC;AAED,IAAA,UAAU,CAA6B,IAAS,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC3C;IAED,MAAM,MAAM,CACR,EAAU,EACV,IAAO,EACP,SAAS,GAAG,KAAK,EAAA;AAEjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KACrE;AAED,IAAA,MAAM,MAAM,CACR,IAAyB,EACzB,SAAS,GAAG,IAAI,EAAA;QAEhB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAE7B,IAAI,EAAE,EAAE;AACJ,YAAA,IAAI;AACA,gBAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAS,CAAC,CAAC;gBAC1D,IAAI,QAAQ,EAAE;oBACV,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAW,EAAE,SAAS,CAAC,CAAC;iBAClD;aACJ;YAAC,OAAO,KAAK,EAAE;;aAEf;SACJ;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAS,CAAC,CAAC;KACjC;AAED,IAAA,MAAM,CAAC,EAAoC,EAAA;AACvC,QAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAS,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACrC;AAED,IAAA,UAAU,CAAC,QAAiC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAC/C;EACJ;AAhFY,YAAY,GAAA,UAAA,CAAA;AADxB,IAAA,UAAU,EAAE;AAIyB,IAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,EAAA,GAAA,OAAA,oBAAoB,oBAApB,oBAAoB,CAAA,KAAA,UAAA,GAAA,EAAA,GAAA,MAAA,CAAA,CAAA;AAH7C,CAAA,EAAA,YAAY,CAgFxB"}
@@ -1,4 +1,5 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {isObject}from'lodash-es';import'@cdm-logger/core';import {Connection,Types}from'mongoose';import {injectable,unmanaged}from'inversify';import {PAGINATION_OPTIONS}from'common/server';var BaseMongoRepository_1;
1
+ import {__decorate,__param,__metadata}from'tslib';import {isObject}from'lodash-es';import'@cdm-logger/core';import {Connection,Types}from'mongoose';import {injectable,unmanaged}from'inversify';import {IMongoOptions,PAGINATION_OPTIONS}from'common/server';var BaseMongoRepository_1;
2
+ var _a;
2
3
  let BaseMongoRepository = BaseMongoRepository_1 = class BaseMongoRepository {
3
4
  modelFunc;
4
5
  options;
@@ -385,5 +386,5 @@ BaseMongoRepository = BaseMongoRepository_1 = __decorate([
385
386
  __param(1, unmanaged()),
386
387
  __param(2, unmanaged()),
387
388
  __param(3, unmanaged()),
388
- __metadata("design:paramtypes", [Function, Connection, Object, Object])
389
+ __metadata("design:paramtypes", [Function, Connection, Object, typeof (_a = typeof IMongoOptions !== "undefined" && IMongoOptions) === "function" ? _a : Object])
389
390
  ], BaseMongoRepository);export{BaseMongoRepository};//# sourceMappingURL=BaseMongoRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMongoRepository.js","sources":["../../../src/store/repositories/BaseMongoRepository.ts"],"sourcesContent":["/* eslint-disable import/no-unresolved */\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable class-methods-use-this */\nimport { isObject } from 'lodash-es';\nimport { CdmLogger } from '@cdm-logger/core';\nimport { Connection, FilterQuery, Model, PipelineStage, Types, UpdateQuery } from 'mongoose';\nimport { injectable, unmanaged } from 'inversify';\nimport {\n GetAllArgs,\n ISort,\n IBaseMongoRepository,\n IMongoOptions,\n PAGINATION_OPTIONS,\n AsDomainType,\n CreateType,\n UpdateType,\n} from 'common/server';\n\n@injectable()\nexport class BaseMongoRepository<SchemaType> implements IBaseMongoRepository<SchemaType> {\n private options: IMongoOptions;\n\n protected logger: CdmLogger.ILogger;\n\n model: Model<SchemaType>;\n\n constructor(\n @unmanaged()\n private modelFunc: (db: Connection) => Model<SchemaType>,\n @unmanaged()\n db: Connection,\n @unmanaged()\n logger: CdmLogger.ILogger,\n @unmanaged()\n options?: IMongoOptions,\n ) {\n this.model = modelFunc(db);\n this.options = options;\n this.logger = logger.child({ className: BaseMongoRepository.name });\n }\n\n /**\n * Transforms a document to the domain model format\n */\n protected transformDocument(doc: any): AsDomainType<SchemaType> | null {\n if (!doc) return null;\n\n // If it's already a plain object (not a Mongoose document)\n if (!doc.toObject) {\n // Ensure id exists if _id is present\n if (doc._id && !doc.id) {\n doc.id = typeof doc._id === 'object' && doc._id.toString ? doc._id.toString() : doc._id;\n }\n return doc as AsDomainType<SchemaType>;\n }\n\n // For Mongoose documents, use the built-in toObject transformation\n return doc.toObject() as AsDomainType<SchemaType>;\n }\n\n /**\n * Transforms an array of documents\n */\n protected transformDocuments(docs: SchemaType[]): AsDomainType<SchemaType>[] {\n if (!docs || !Array.isArray(docs)) return [];\n return docs.map((doc) => this.transformDocument(doc)).filter(Boolean) as AsDomainType<SchemaType>[];\n }\n\n /**\n * Maps API criteria with 'id' to MongoDB criteria with '_id'\n */\n private mapConditions(conditions?: FilterQuery<SchemaType>): FilterQuery<SchemaType> {\n if (!conditions) return {};\n\n const { id, ...remaining } = conditions as any;\n\n if (!id) return remaining as FilterQuery<SchemaType>;\n\n // Handle custom _id that might not be an ObjectId\n let _id;\n if (Types.ObjectId.isValid(id)) {\n _id = new Types.ObjectId(id);\n } else {\n _id = id; // Use the id as-is if it's not a valid ObjectId\n }\n\n return {\n _id,\n ...remaining,\n } as FilterQuery<SchemaType>;\n }\n\n /**\n * Computes sort object from GetAllArgs sort parameter\n * Handles both string-based and object-based sort specifications\n */\n protected computeSort(sort: ISort | string | ISort[]): Record<string, 1 | -1> {\n // Default sort by createdAt descending if available, otherwise empty sort\n if (!sort) {\n return { createdAt: -1 };\n }\n\n // Handle object-based sort { key: 'fieldName', value: 'asc'|'desc' }\n if (isObject(sort) && 'key' in sort) {\n return {\n [sort.key]: sort.value?.toLowerCase() === 'asc' ? 1 : -1,\n };\n }\n\n // Handle string-based sort 'fieldName:asc' or 'fieldName:desc'\n if (typeof sort === 'string') {\n const [field, direction] = sort.split(':');\n if (field) {\n return {\n [field]: direction?.toLowerCase() === 'asc' ? 1 : -1,\n };\n }\n }\n\n // Handle array of sort specifications\n if (Array.isArray(sort)) {\n return sort.reduce((acc, sortItem) => {\n if (isObject(sortItem) && sortItem.key) {\n acc[sortItem.key] = sortItem.value?.toLowerCase() === 'asc' ? 1 : -1;\n }\n return acc;\n }, {});\n }\n\n // Fallback to default sort\n return { createdAt: -1 };\n }\n\n /**\n * Prepares an aggregation pipeline with standard stages\n * @param options Query options including filtering, sorting, pagination\n * @param customPipeline Optional custom pipeline stages to include\n * @returns Complete MongoDB aggregation pipeline\n */\n protected preparePipeline(options: GetAllArgs<SchemaType>, customPipeline: PipelineStage[] = []): PipelineStage[] {\n const { criteria, sort, limit, skip } = options;\n const pipeline: PipelineStage[] = [];\n\n // Match stage (filtering)\n if (criteria) {\n pipeline.push({\n $match: this.mapConditions(criteria),\n });\n }\n\n // Add custom pipeline stages\n if (customPipeline.length > 0) {\n pipeline.push(...customPipeline);\n }\n\n // Sort stage\n const sortBy = this.computeSort(sort);\n if (Object.keys(sortBy).length > 0) {\n pipeline.push({ $sort: sortBy });\n }\n\n // Pagination stages\n if (skip !== undefined) {\n pipeline.push({ $skip: skip || PAGINATION_OPTIONS.skip });\n }\n\n if (limit !== undefined) {\n pipeline.push({ $limit: limit || PAGINATION_OPTIONS.limit });\n }\n\n return pipeline;\n }\n\n /**\n * Execute an aggregation pipeline and transform the results\n */\n protected async aggregate(pipeline: PipelineStage[]): Promise<AsDomainType<SchemaType>[]> {\n try {\n const results = await this.model.aggregate(pipeline).exec();\n return this.transformDocuments(results);\n } catch (e) {\n this.logger.error(e, 'Error executing aggregation pipeline: %j', pipeline);\n throw e;\n }\n }\n\n public async count(conditions?: FilterQuery<SchemaType>): Promise<number> {\n return this.model.count(this.mapConditions(conditions)).exec();\n }\n\n public async get(\n conditions?: FilterQuery<SchemaType>,\n selectedFields?: string,\n ): Promise<AsDomainType<SchemaType> | null> {\n try {\n const response = await this.model.findOne(this.mapConditions(conditions), selectedFields).lean().exec();\n\n if (!response) return null;\n\n // Ensure id exists\n if (response && (response as any)._id && !(response as any).id) {\n (response as any).id = (response as any)._id.toString();\n }\n\n return response as AsDomainType<SchemaType>;\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', conditions);\n throw e;\n }\n }\n\n public async find(\n conditions: Partial<FilterQuery<SchemaType>>,\n selectedFields?: string,\n ): Promise<AsDomainType<SchemaType> | null> {\n try {\n const response = await this.model.findOne(conditions, selectedFields).lean().exec();\n\n if (!response) return null;\n\n // Ensure id exists\n if (response && (response as any)._id && !(response as any).id) {\n (response as any).id = (response as any)._id.toString();\n }\n\n return response as AsDomainType<SchemaType>;\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', conditions);\n throw e;\n }\n }\n\n public async getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]> {\n try {\n const { criteria, selectedFields, sort, limit, skip } = options;\n const mappedCriteria = this.mapConditions(criteria);\n const sortBy = this.computeSort(sort);\n\n const response = await this.model\n .find(mappedCriteria, selectedFields)\n .sort(sortBy as any)\n .limit(limit || PAGINATION_OPTIONS.limit)\n .skip(skip || PAGINATION_OPTIONS.skip)\n .lean()\n .exec();\n\n // Ensure id exists for each document\n return response.map((doc) => {\n if (doc._id && !doc.id) {\n doc.id = doc._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', options);\n throw e;\n }\n }\n\n /**\n * Get all documents using aggregation pipeline\n */\n public async getAllWithPipeline(\n options: GetAllArgs<SchemaType>,\n customPipeline: PipelineStage[] = [],\n ): Promise<AsDomainType<SchemaType>[]> {\n try {\n const pipeline = this.preparePipeline(options, customPipeline);\n return this.aggregate(pipeline);\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with pipeline [%j]', customPipeline);\n throw e;\n }\n }\n\n public async getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{\n data: AsDomainType<SchemaType>[];\n totalCount: number;\n }> {\n const data = await this.getAll(options);\n const totalCount = await this.count(options.criteria);\n return { totalCount, data };\n }\n\n /**\n * Get all documents with count using aggregation pipeline\n */\n public async getAllWithCountAndPipeline(\n options: GetAllArgs<SchemaType>,\n customPipeline: PipelineStage[] = [],\n ): Promise<{\n data: AsDomainType<SchemaType>[];\n totalCount: number;\n }> {\n // Clone options to avoid modifying the original\n const countOptions = { ...options };\n\n // Remove pagination for count\n delete countOptions.limit;\n delete countOptions.skip;\n\n // Prepare count pipeline (without pagination)\n const countPipeline = this.preparePipeline(countOptions, customPipeline);\n countPipeline.push({ $count: 'total' });\n\n // Execute both queries in parallel\n const [data, countResult] = await Promise.all([\n this.getAllWithPipeline(options, customPipeline),\n this.model.aggregate(countPipeline).exec(),\n ]);\n\n const totalCount = countResult?.[0]?.total || 0;\n return { data, totalCount };\n }\n\n public async create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>> {\n try {\n // Handle custom _id if provided in the data\n const createData = { ...data } as any;\n\n // If id is provided but _id is not, map id to _id\n if (createData.id && !createData._id) {\n createData._id = Types.ObjectId.isValid(createData.id)\n ? new Types.ObjectId(createData.id)\n : createData.id;\n delete createData.id; // Remove id to avoid conflicts\n }\n\n const response = await this.model.create(createData);\n return this.transformDocument(response);\n } catch (e) {\n this.logger.error(e, 'Unable to create Model with data [%j]', data);\n throw e;\n }\n }\n\n public async bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]> {\n try {\n const response = await this.model.insertMany(data, {\n lean: true,\n ordered: true,\n });\n\n // Ensure id exists for each document\n return response.map((doc: any) => {\n if (doc._id && !doc.id) {\n doc.id = doc._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to bulk create due to error [%s]', e.message);\n throw e;\n }\n }\n\n public async upsert<T = UpdateType<SchemaType>>(\n conditions: FilterQuery<SchemaType>,\n update: T,\n options: Record<string, unknown> = {},\n ): Promise<AsDomainType<SchemaType>> {\n return this.update(conditions, update, {\n upsert: true,\n ...options,\n });\n }\n\n public async update<T = UpdateType<SchemaType>>(\n criteria: FilterQuery<SchemaType>,\n update: T | UpdateQuery<SchemaType>,\n options: Record<string, unknown> = {},\n ): Promise<AsDomainType<SchemaType>> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n const mergedOptions = {\n new: true,\n useFindAndModify: false,\n ...options,\n };\n\n const { id } = criteria as any;\n let response;\n\n if (id) {\n response = await this.model.findByIdAndUpdate(id, update as any, mergedOptions).exec();\n } else {\n response = await this.model.findOneAndUpdate(mappedCriteria, update as any, mergedOptions).exec();\n }\n\n return this.transformDocument(response);\n } catch (e) {\n this.logger.error(e, 'Unable to Update with criteria [%j] and data [%j]', criteria, update);\n throw e;\n }\n }\n\n public async bulkUpdate<T = UpdateType<SchemaType>>(\n criteria: FilterQuery<SchemaType>,\n update: T | UpdateQuery<SchemaType>,\n options: Record<string, unknown> = {},\n ): Promise<AsDomainType<SchemaType>[]> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n await this.model.updateMany(mappedCriteria, update as any, options);\n\n // Fetch the updated documents\n const response = await this.model.find(mappedCriteria).lean().exec();\n\n // Ensure id exists for each document\n return response.map((doc) => {\n if (doc._id && !doc.id) {\n doc.id = doc._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to Bulk Update with criteria [%j] and data [%j]', criteria, update);\n throw e;\n }\n }\n\n public async delete(criteria: FilterQuery<SchemaType>): Promise<boolean> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n let deleted;\n\n if (criteria?.id) {\n deleted = await this.model.findByIdAndDelete(criteria.id);\n } else {\n deleted = await this.model.findOneAndDelete(mappedCriteria);\n }\n\n return !!deleted;\n } catch (e) {\n this.logger.error(e, 'Unable to delete the model with criteria [%j]', criteria);\n throw e;\n }\n }\n\n public async bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n const deleted = await this.model.deleteMany(mappedCriteria);\n return deleted?.deletedCount || 0;\n } catch (e) {\n this.logger.error(e, 'Unable to delete the model with criteria [%j]', criteria);\n throw e;\n }\n }\n\n public async bulkGet(ids: string[], selectedFields?: string): Promise<AsDomainType<SchemaType>[]> {\n try {\n // Create a query that handles both ObjectId and string IDs\n const query: any = { _id: { $in: [] } };\n\n // Process each ID\n ids.forEach((id) => {\n if (Types.ObjectId.isValid(id)) {\n query._id.$in.push(new Types.ObjectId(id));\n } else {\n query._id.$in.push(id); // Add as string\n }\n });\n\n const results = await this.model.find(query).select(selectedFields).lean().exec();\n\n // Ensure id exists for each document\n return results.map((doc) => {\n if ((doc as any)._id && !(doc as any).id) {\n (doc as any).id = (doc as any)._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', ids);\n throw e;\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMongoRepository.js","sources":["../../../src/store/repositories/BaseMongoRepository.ts"],"sourcesContent":["/* eslint-disable import/no-unresolved */\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable class-methods-use-this */\nimport { isObject } from 'lodash-es';\nimport { CdmLogger } from '@cdm-logger/core';\nimport { Connection, FilterQuery, Model, PipelineStage, Types, UpdateQuery } from 'mongoose';\nimport { injectable, unmanaged } from 'inversify';\nimport {\n GetAllArgs,\n ISort,\n IBaseMongoRepository,\n IMongoOptions,\n PAGINATION_OPTIONS,\n AsDomainType,\n CreateType,\n UpdateType,\n} from 'common/server';\n\n@injectable()\nexport class BaseMongoRepository<SchemaType> implements IBaseMongoRepository<SchemaType> {\n private options: IMongoOptions;\n\n protected logger: CdmLogger.ILogger;\n\n model: Model<SchemaType>;\n\n constructor(\n @unmanaged()\n private modelFunc: (db: Connection) => Model<SchemaType>,\n @unmanaged()\n db: Connection,\n @unmanaged()\n logger: CdmLogger.ILogger,\n @unmanaged()\n options?: IMongoOptions,\n ) {\n this.model = modelFunc(db);\n this.options = options;\n this.logger = logger.child({ className: BaseMongoRepository.name });\n }\n\n /**\n * Transforms a document to the domain model format\n */\n protected transformDocument(doc: any): AsDomainType<SchemaType> | null {\n if (!doc) return null;\n\n // If it's already a plain object (not a Mongoose document)\n if (!doc.toObject) {\n // Ensure id exists if _id is present\n if (doc._id && !doc.id) {\n doc.id = typeof doc._id === 'object' && doc._id.toString ? doc._id.toString() : doc._id;\n }\n return doc as AsDomainType<SchemaType>;\n }\n\n // For Mongoose documents, use the built-in toObject transformation\n return doc.toObject() as AsDomainType<SchemaType>;\n }\n\n /**\n * Transforms an array of documents\n */\n protected transformDocuments(docs: SchemaType[]): AsDomainType<SchemaType>[] {\n if (!docs || !Array.isArray(docs)) return [];\n return docs.map((doc) => this.transformDocument(doc)).filter(Boolean) as AsDomainType<SchemaType>[];\n }\n\n /**\n * Maps API criteria with 'id' to MongoDB criteria with '_id'\n */\n private mapConditions(conditions?: FilterQuery<SchemaType>): FilterQuery<SchemaType> {\n if (!conditions) return {};\n\n const { id, ...remaining } = conditions as any;\n\n if (!id) return remaining as FilterQuery<SchemaType>;\n\n // Handle custom _id that might not be an ObjectId\n let _id;\n if (Types.ObjectId.isValid(id)) {\n _id = new Types.ObjectId(id);\n } else {\n _id = id; // Use the id as-is if it's not a valid ObjectId\n }\n\n return {\n _id,\n ...remaining,\n } as FilterQuery<SchemaType>;\n }\n\n /**\n * Computes sort object from GetAllArgs sort parameter\n * Handles both string-based and object-based sort specifications\n */\n protected computeSort(sort: ISort | string | ISort[]): Record<string, 1 | -1> {\n // Default sort by createdAt descending if available, otherwise empty sort\n if (!sort) {\n return { createdAt: -1 };\n }\n\n // Handle object-based sort { key: 'fieldName', value: 'asc'|'desc' }\n if (isObject(sort) && 'key' in sort) {\n return {\n [sort.key]: sort.value?.toLowerCase() === 'asc' ? 1 : -1,\n };\n }\n\n // Handle string-based sort 'fieldName:asc' or 'fieldName:desc'\n if (typeof sort === 'string') {\n const [field, direction] = sort.split(':');\n if (field) {\n return {\n [field]: direction?.toLowerCase() === 'asc' ? 1 : -1,\n };\n }\n }\n\n // Handle array of sort specifications\n if (Array.isArray(sort)) {\n return sort.reduce((acc, sortItem) => {\n if (isObject(sortItem) && sortItem.key) {\n acc[sortItem.key] = sortItem.value?.toLowerCase() === 'asc' ? 1 : -1;\n }\n return acc;\n }, {});\n }\n\n // Fallback to default sort\n return { createdAt: -1 };\n }\n\n /**\n * Prepares an aggregation pipeline with standard stages\n * @param options Query options including filtering, sorting, pagination\n * @param customPipeline Optional custom pipeline stages to include\n * @returns Complete MongoDB aggregation pipeline\n */\n protected preparePipeline(options: GetAllArgs<SchemaType>, customPipeline: PipelineStage[] = []): PipelineStage[] {\n const { criteria, sort, limit, skip } = options;\n const pipeline: PipelineStage[] = [];\n\n // Match stage (filtering)\n if (criteria) {\n pipeline.push({\n $match: this.mapConditions(criteria),\n });\n }\n\n // Add custom pipeline stages\n if (customPipeline.length > 0) {\n pipeline.push(...customPipeline);\n }\n\n // Sort stage\n const sortBy = this.computeSort(sort);\n if (Object.keys(sortBy).length > 0) {\n pipeline.push({ $sort: sortBy });\n }\n\n // Pagination stages\n if (skip !== undefined) {\n pipeline.push({ $skip: skip || PAGINATION_OPTIONS.skip });\n }\n\n if (limit !== undefined) {\n pipeline.push({ $limit: limit || PAGINATION_OPTIONS.limit });\n }\n\n return pipeline;\n }\n\n /**\n * Execute an aggregation pipeline and transform the results\n */\n protected async aggregate(pipeline: PipelineStage[]): Promise<AsDomainType<SchemaType>[]> {\n try {\n const results = await this.model.aggregate(pipeline).exec();\n return this.transformDocuments(results);\n } catch (e) {\n this.logger.error(e, 'Error executing aggregation pipeline: %j', pipeline);\n throw e;\n }\n }\n\n public async count(conditions?: FilterQuery<SchemaType>): Promise<number> {\n return this.model.count(this.mapConditions(conditions)).exec();\n }\n\n public async get(\n conditions?: FilterQuery<SchemaType>,\n selectedFields?: string,\n ): Promise<AsDomainType<SchemaType> | null> {\n try {\n const response = await this.model.findOne(this.mapConditions(conditions), selectedFields).lean().exec();\n\n if (!response) return null;\n\n // Ensure id exists\n if (response && (response as any)._id && !(response as any).id) {\n (response as any).id = (response as any)._id.toString();\n }\n\n return response as AsDomainType<SchemaType>;\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', conditions);\n throw e;\n }\n }\n\n public async find(\n conditions: Partial<FilterQuery<SchemaType>>,\n selectedFields?: string,\n ): Promise<AsDomainType<SchemaType> | null> {\n try {\n const response = await this.model.findOne(conditions, selectedFields).lean().exec();\n\n if (!response) return null;\n\n // Ensure id exists\n if (response && (response as any)._id && !(response as any).id) {\n (response as any).id = (response as any)._id.toString();\n }\n\n return response as AsDomainType<SchemaType>;\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', conditions);\n throw e;\n }\n }\n\n public async getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]> {\n try {\n const { criteria, selectedFields, sort, limit, skip } = options;\n const mappedCriteria = this.mapConditions(criteria);\n const sortBy = this.computeSort(sort);\n\n const response = await this.model\n .find(mappedCriteria, selectedFields)\n .sort(sortBy as any)\n .limit(limit || PAGINATION_OPTIONS.limit)\n .skip(skip || PAGINATION_OPTIONS.skip)\n .lean()\n .exec();\n\n // Ensure id exists for each document\n return response.map((doc) => {\n if (doc._id && !doc.id) {\n doc.id = doc._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', options);\n throw e;\n }\n }\n\n /**\n * Get all documents using aggregation pipeline\n */\n public async getAllWithPipeline(\n options: GetAllArgs<SchemaType>,\n customPipeline: PipelineStage[] = [],\n ): Promise<AsDomainType<SchemaType>[]> {\n try {\n const pipeline = this.preparePipeline(options, customPipeline);\n return this.aggregate(pipeline);\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with pipeline [%j]', customPipeline);\n throw e;\n }\n }\n\n public async getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{\n data: AsDomainType<SchemaType>[];\n totalCount: number;\n }> {\n const data = await this.getAll(options);\n const totalCount = await this.count(options.criteria);\n return { totalCount, data };\n }\n\n /**\n * Get all documents with count using aggregation pipeline\n */\n public async getAllWithCountAndPipeline(\n options: GetAllArgs<SchemaType>,\n customPipeline: PipelineStage[] = [],\n ): Promise<{\n data: AsDomainType<SchemaType>[];\n totalCount: number;\n }> {\n // Clone options to avoid modifying the original\n const countOptions = { ...options };\n\n // Remove pagination for count\n delete countOptions.limit;\n delete countOptions.skip;\n\n // Prepare count pipeline (without pagination)\n const countPipeline = this.preparePipeline(countOptions, customPipeline);\n countPipeline.push({ $count: 'total' });\n\n // Execute both queries in parallel\n const [data, countResult] = await Promise.all([\n this.getAllWithPipeline(options, customPipeline),\n this.model.aggregate(countPipeline).exec(),\n ]);\n\n const totalCount = countResult?.[0]?.total || 0;\n return { data, totalCount };\n }\n\n public async create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>> {\n try {\n // Handle custom _id if provided in the data\n const createData = { ...data } as any;\n\n // If id is provided but _id is not, map id to _id\n if (createData.id && !createData._id) {\n createData._id = Types.ObjectId.isValid(createData.id)\n ? new Types.ObjectId(createData.id)\n : createData.id;\n delete createData.id; // Remove id to avoid conflicts\n }\n\n const response = await this.model.create(createData);\n return this.transformDocument(response);\n } catch (e) {\n this.logger.error(e, 'Unable to create Model with data [%j]', data);\n throw e;\n }\n }\n\n public async bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]> {\n try {\n const response = await this.model.insertMany(data, {\n lean: true,\n ordered: true,\n });\n\n // Ensure id exists for each document\n return response.map((doc: any) => {\n if (doc._id && !doc.id) {\n doc.id = doc._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to bulk create due to error [%s]', e.message);\n throw e;\n }\n }\n\n public async upsert<T = UpdateType<SchemaType>>(\n conditions: FilterQuery<SchemaType>,\n update: T,\n options: Record<string, unknown> = {},\n ): Promise<AsDomainType<SchemaType>> {\n return this.update(conditions, update, {\n upsert: true,\n ...options,\n });\n }\n\n public async update<T = UpdateType<SchemaType>>(\n criteria: FilterQuery<SchemaType>,\n update: T | UpdateQuery<SchemaType>,\n options: Record<string, unknown> = {},\n ): Promise<AsDomainType<SchemaType>> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n const mergedOptions = {\n new: true,\n useFindAndModify: false,\n ...options,\n };\n\n const { id } = criteria as any;\n let response;\n\n if (id) {\n response = await this.model.findByIdAndUpdate(id, update as any, mergedOptions).exec();\n } else {\n response = await this.model.findOneAndUpdate(mappedCriteria, update as any, mergedOptions).exec();\n }\n\n return this.transformDocument(response);\n } catch (e) {\n this.logger.error(e, 'Unable to Update with criteria [%j] and data [%j]', criteria, update);\n throw e;\n }\n }\n\n public async bulkUpdate<T = UpdateType<SchemaType>>(\n criteria: FilterQuery<SchemaType>,\n update: T | UpdateQuery<SchemaType>,\n options: Record<string, unknown> = {},\n ): Promise<AsDomainType<SchemaType>[]> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n await this.model.updateMany(mappedCriteria, update as any, options);\n\n // Fetch the updated documents\n const response = await this.model.find(mappedCriteria).lean().exec();\n\n // Ensure id exists for each document\n return response.map((doc) => {\n if (doc._id && !doc.id) {\n doc.id = doc._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to Bulk Update with criteria [%j] and data [%j]', criteria, update);\n throw e;\n }\n }\n\n public async delete(criteria: FilterQuery<SchemaType>): Promise<boolean> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n let deleted;\n\n if (criteria?.id) {\n deleted = await this.model.findByIdAndDelete(criteria.id);\n } else {\n deleted = await this.model.findOneAndDelete(mappedCriteria);\n }\n\n return !!deleted;\n } catch (e) {\n this.logger.error(e, 'Unable to delete the model with criteria [%j]', criteria);\n throw e;\n }\n }\n\n public async bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number> {\n try {\n const mappedCriteria = this.mapConditions(criteria);\n const deleted = await this.model.deleteMany(mappedCriteria);\n return deleted?.deletedCount || 0;\n } catch (e) {\n this.logger.error(e, 'Unable to delete the model with criteria [%j]', criteria);\n throw e;\n }\n }\n\n public async bulkGet(ids: string[], selectedFields?: string): Promise<AsDomainType<SchemaType>[]> {\n try {\n // Create a query that handles both ObjectId and string IDs\n const query: any = { _id: { $in: [] } };\n\n // Process each ID\n ids.forEach((id) => {\n if (Types.ObjectId.isValid(id)) {\n query._id.$in.push(new Types.ObjectId(id));\n } else {\n query._id.$in.push(id); // Add as string\n }\n });\n\n const results = await this.model.find(query).select(selectedFields).lean().exec();\n\n // Ensure id exists for each document\n return results.map((doc) => {\n if ((doc as any)._id && !(doc as any).id) {\n (doc as any).id = (doc as any)._id.toString();\n }\n return doc as AsDomainType<SchemaType>;\n });\n } catch (e) {\n this.logger.error(e, 'Unable to retrieve Model with criteria [%j]', ids);\n throw e;\n }\n }\n}\n"],"names":[],"mappings":";;AAsBa,IAAA,mBAAmB,GAAzB,qBAAA,GAAA,MAAM,mBAAmB,CAAA;AAShB,IAAA,SAAA,CAAA;AARJ,IAAA,OAAO,CAAgB;AAErB,IAAA,MAAM,CAAoB;AAEpC,IAAA,KAAK,CAAoB;AAEzB,IAAA,WAAA,CAEY,SAAgD,EAExD,EAAc,EAEd,MAAyB,EAEzB,OAAuB,EAAA;QANf,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuC;AAQxD,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,qBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;KACvE;AAED;;AAEG;AACO,IAAA,iBAAiB,CAAC,GAAQ,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,IAAI,CAAC;;AAGtB,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;;YAEf,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;AACpB,gBAAA,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;aAC3F;AACD,YAAA,OAAO,GAA+B,CAAC;SAC1C;;AAGD,QAAA,OAAO,GAAG,CAAC,QAAQ,EAA8B,CAAC;KACrD;AAED;;AAEG;AACO,IAAA,kBAAkB,CAAC,IAAkB,EAAA;QAC3C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AAAE,YAAA,OAAO,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAA+B,CAAC;KACvG;AAED;;AAEG;AACK,IAAA,aAAa,CAAC,UAAoC,EAAA;AACtD,QAAA,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,EAAE,CAAC;QAE3B,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,UAAiB,CAAC;AAE/C,QAAA,IAAI,CAAC,EAAE;AAAE,YAAA,OAAO,SAAoC,CAAC;;AAGrD,QAAA,IAAI,GAAG,CAAC;QACR,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC5B,GAAG,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAChC;aAAM;AACH,YAAA,GAAG,GAAG,EAAE,CAAC;SACZ;QAED,OAAO;YACH,GAAG;AACH,YAAA,GAAG,SAAS;SACY,CAAC;KAChC;AAED;;;AAGG;AACO,IAAA,WAAW,CAAC,IAA8B,EAAA;;QAEhD,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;SAC5B;;QAGD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjC,OAAO;gBACH,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;aAC3D,CAAC;SACL;;AAGD,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE;gBACP,OAAO;AACH,oBAAA,CAAC,KAAK,GAAG,SAAS,EAAE,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvD,CAAC;aACL;SACJ;;AAGD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAI;gBACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE;oBACpC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxE;AACD,gBAAA,OAAO,GAAG,CAAC;aACd,EAAE,EAAE,CAAC,CAAC;SACV;;AAGD,QAAA,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;KAC5B;AAED;;;;;AAKG;AACO,IAAA,eAAe,CAAC,OAA+B,EAAE,cAAA,GAAkC,EAAE,EAAA;QAC3F,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAChD,MAAM,QAAQ,GAAoB,EAAE,CAAC;;QAGrC,IAAI,QAAQ,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC;AACV,gBAAA,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACvC,aAAA,CAAC,CAAC;SACN;;AAGD,QAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;SACpC;;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;SACpC;;AAGD,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACpB,YAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7D;AAED,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,YAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC;SAChE;AAED,QAAA,OAAO,QAAQ,CAAC;KACnB;AAED;;AAEG;IACO,MAAM,SAAS,CAAC,QAAyB,EAAA;AAC/C,QAAA,IAAI;AACA,YAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,0CAA0C,EAAE,QAAQ,CAAC,CAAC;AAC3E,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,KAAK,CAAC,UAAoC,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KAClE;AAEM,IAAA,MAAM,GAAG,CACZ,UAAoC,EACpC,cAAuB,EAAA;AAEvB,QAAA,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAExG,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI,CAAC;;YAG3B,IAAI,QAAQ,IAAK,QAAgB,CAAC,GAAG,IAAI,CAAE,QAAgB,CAAC,EAAE,EAAE;gBAC3D,QAAgB,CAAC,EAAE,GAAI,QAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC3D;AAED,YAAA,OAAO,QAAoC,CAAC;SAC/C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,6CAA6C,EAAE,UAAU,CAAC,CAAC;AAChF,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;AAEM,IAAA,MAAM,IAAI,CACb,UAA4C,EAC5C,cAAuB,EAAA;AAEvB,QAAA,IAAI;AACA,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAEpF,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI,CAAC;;YAG3B,IAAI,QAAQ,IAAK,QAAgB,CAAC,GAAG,IAAI,CAAE,QAAgB,CAAC,EAAE,EAAE;gBAC3D,QAAgB,CAAC,EAAE,GAAI,QAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC3D;AAED,YAAA,OAAO,QAAoC,CAAC;SAC/C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,6CAA6C,EAAE,UAAU,CAAC,CAAC;AAChF,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,MAAM,CAAC,OAA+B,EAAA;AAC/C,QAAA,IAAI;AACA,YAAA,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAEtC,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK;AAC5B,iBAAA,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC;iBACpC,IAAI,CAAC,MAAa,CAAC;AACnB,iBAAA,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC;AACxC,iBAAA,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC;AACrC,iBAAA,IAAI,EAAE;AACN,iBAAA,IAAI,EAAE,CAAC;;AAGZ,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;gBACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;oBACpB,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAC/B;AACD,gBAAA,OAAO,GAA+B,CAAC;AAC3C,aAAC,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,6CAA6C,EAAE,OAAO,CAAC,CAAC;AAC7E,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,kBAAkB,CAC3B,OAA+B,EAC/B,iBAAkC,EAAE,EAAA;AAEpC,QAAA,IAAI;YACA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC/D,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,6CAA6C,EAAE,cAAc,CAAC,CAAC;AACpF,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,eAAe,CAAC,OAA+B,EAAA;QAIxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtD,QAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;KAC/B;AAED;;AAEG;AACI,IAAA,MAAM,0BAA0B,CACnC,OAA+B,EAC/B,iBAAkC,EAAE,EAAA;;AAMpC,QAAA,MAAM,YAAY,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;;QAGpC,OAAO,YAAY,CAAC,KAAK,CAAC;QAC1B,OAAO,YAAY,CAAC,IAAI,CAAC;;QAGzB,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACzE,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;;QAGxC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC1C,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;AAC7C,SAAA,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;AAChD,QAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAC/B;IAEM,MAAM,MAAM,CAA6B,IAAO,EAAA;AACnD,QAAA,IAAI;;AAEA,YAAA,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,EAAS,CAAC;;YAGtC,IAAI,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;AAClC,gBAAA,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;sBAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;AACnC,sBAAE,UAAU,CAAC,EAAE,CAAC;AACpB,gBAAA,OAAO,UAAU,CAAC,EAAE,CAAC;aACxB;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACrD,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;AACpE,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,UAAU,CAA6B,IAAS,EAAA;AACzD,QAAA,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAC/C,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,OAAO,EAAE,IAAI;AAChB,aAAA,CAAC,CAAC;;AAGH,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAI;gBAC7B,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;oBACpB,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAC/B;AACD,gBAAA,OAAO,GAA+B,CAAC;AAC3C,aAAC,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,yCAAyC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3E,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,MAAM,CACf,UAAmC,EACnC,MAAS,EACT,UAAmC,EAAE,EAAA;AAErC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE;AACnC,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,GAAG,OAAO;AACb,SAAA,CAAC,CAAC;KACN;IAEM,MAAM,MAAM,CACf,QAAiC,EACjC,MAAmC,EACnC,UAAmC,EAAE,EAAA;AAErC,QAAA,IAAI;YACA,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACpD,YAAA,MAAM,aAAa,GAAG;AAClB,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,GAAG,OAAO;aACb,CAAC;AAEF,YAAA,MAAM,EAAE,EAAE,EAAE,GAAG,QAAe,CAAC;AAC/B,YAAA,IAAI,QAAQ,CAAC;YAEb,IAAI,EAAE,EAAE;AACJ,gBAAA,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAa,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;aAC1F;iBAAM;AACH,gBAAA,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAa,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;aACrG;AAED,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mDAAmD,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5F,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,UAAU,CACnB,QAAiC,EACjC,MAAmC,EACnC,UAAmC,EAAE,EAAA;AAErC,QAAA,IAAI;YACA,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACpD,YAAA,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,MAAa,EAAE,OAAO,CAAC,CAAC;;AAGpE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;;AAGrE,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;gBACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;oBACpB,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAC/B;AACD,gBAAA,OAAO,GAA+B,CAAC;AAC3C,aAAC,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wDAAwD,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjG,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,MAAM,CAAC,QAAiC,EAAA;AACjD,QAAA,IAAI;YACA,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACpD,YAAA,IAAI,OAAO,CAAC;AAEZ,YAAA,IAAI,QAAQ,EAAE,EAAE,EAAE;AACd,gBAAA,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC7D;iBAAM;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;aAC/D;YAED,OAAO,CAAC,CAAC,OAAO,CAAC;SACpB;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,+CAA+C,EAAE,QAAQ,CAAC,CAAC;AAChF,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;IAEM,MAAM,UAAU,CAAC,QAAiC,EAAA;AACrD,QAAA,IAAI;YACA,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAC5D,YAAA,OAAO,OAAO,EAAE,YAAY,IAAI,CAAC,CAAC;SACrC;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,+CAA+C,EAAE,QAAQ,CAAC,CAAC;AAChF,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;AAEM,IAAA,MAAM,OAAO,CAAC,GAAa,EAAE,cAAuB,EAAA;AACvD,QAAA,IAAI;;YAEA,MAAM,KAAK,GAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;;AAGxC,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;gBACf,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AAC5B,oBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC9C;qBAAM;oBACH,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC1B;AACL,aAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;;AAGlF,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;gBACvB,IAAK,GAAW,CAAC,GAAG,IAAI,CAAE,GAAW,CAAC,EAAE,EAAE;oBACrC,GAAW,CAAC,EAAE,GAAI,GAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBACjD;AACD,gBAAA,OAAO,GAA+B,CAAC;AAC3C,aAAC,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,6CAA6C,EAAE,GAAG,CAAC,CAAC;AACzE,YAAA,MAAM,CAAC,CAAC;SACX;KACJ;EACJ;AA3cY,mBAAmB,GAAA,qBAAA,GAAA,UAAA,CAAA;AAD/B,IAAA,UAAU,EAAE;IASJ,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;IAEX,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;IAEX,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;IAEX,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;+CAHR,UAAU,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,OAIJ,aAAa,KAAA,WAAA,IAAb,aAAa,CAAA,KAAA,UAAA,GAAA,EAAA,GAAA,MAAA,CAAA,CAAA;AAflB,CAAA,EAAA,mBAAmB,CA2c/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/store-mongo",
3
- "version": "7.1.1-alpha.24",
3
+ "version": "7.1.1-alpha.30",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -24,10 +24,10 @@
24
24
  "watch": "npm run build:lib:watch"
25
25
  },
26
26
  "dependencies": {
27
- "@common-stack/core": "7.1.1-alpha.14"
27
+ "@common-stack/core": "7.1.1-alpha.29"
28
28
  },
29
29
  "devDependencies": {
30
- "common": "7.1.1-alpha.22",
30
+ "common": "7.1.1-alpha.29",
31
31
  "moleculer": "^0.14.33",
32
32
  "mongoose": "^6.12.8"
33
33
  },
@@ -58,5 +58,5 @@
58
58
  "typescript": {
59
59
  "definition": "lib/index.d.ts"
60
60
  },
61
- "gitHead": "ed7e07961349990128a1e8281b8ff9fe7acdb215"
61
+ "gitHead": "7c7cf8ab5401e1a90e718606aff82f1d3791b52e"
62
62
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * Internal copy of SERVER_TYPES to avoid TypeScript rootDir issues during build
3
- */
4
- export declare const SERVER_TYPES: {
5
- BaseMongoRepository: symbol;
6
- BaseMongoService: symbol;
7
- BaseService: symbol;
8
- MongoDBMigration: symbol;
9
- MongoDBConnection: symbol;
10
- };
@@ -1,11 +0,0 @@
1
- /**
2
- * Internal copy of SERVER_TYPES to avoid TypeScript rootDir issues during build
3
- */
4
- const SERVER_TYPES = {
5
- // from package: store-mongo
6
- BaseMongoRepository: Symbol.for('BaseMongoRepository'),
7
- BaseMongoService: Symbol.for('BaseMongoService'),
8
- BaseService: Symbol.for('BaseService'),
9
- MongoDBMigration: Symbol.for('MongodbMigration'),
10
- MongoDBConnection: Symbol.for('MongoDBConnection'),
11
- };export{SERVER_TYPES};//# sourceMappingURL=common-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-server.js","sources":["../src/common-server.ts"],"sourcesContent":["/**\n * Internal copy of SERVER_TYPES to avoid TypeScript rootDir issues during build\n */\nexport const SERVER_TYPES = {\n // from package: store-mongo\n BaseMongoRepository: Symbol.for('BaseMongoRepository'),\n BaseMongoService: Symbol.for('BaseMongoService'),\n BaseService: Symbol.for('BaseService'),\n MongoDBMigration: Symbol.for('MongodbMigration'),\n MongoDBConnection: Symbol.for('MongoDBConnection'),\n}; "],"names":[],"mappings":"AAAA;;AAEG;AACU,MAAA,YAAY,GAAG;;AAExB,IAAA,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;AACtD,IAAA,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAChD,IAAA,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;AACtC,IAAA,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAChD,IAAA,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;"}