@common-stack/store-mongo 7.1.1-alpha.4 → 7.1.1-alpha.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.
Files changed (49) hide show
  1. package/lib/dataloaders/bulk-dataloader-v2.d.ts +7 -0
  2. package/lib/dataloaders/{bulk-dataloader.js → bulk-dataloader-v2.js} +3 -3
  3. package/lib/dataloaders/bulk-dataloader-v2.js.map +1 -0
  4. package/lib/dataloaders/bulk-dataloader.d.ts +6 -4
  5. package/lib/dataloaders/index.d.ts +1 -1
  6. package/lib/index.js +1 -1
  7. package/lib/interfaces/base-repository-v2.d.ts +26 -0
  8. package/lib/interfaces/base-repository.d.ts +15 -25
  9. package/lib/interfaces/base-service-v2.d.ts +21 -0
  10. package/lib/interfaces/base-service.d.ts +19 -18
  11. package/lib/interfaces/{dataloader.d.ts → dataloader-v2.d.ts} +4 -4
  12. package/lib/interfaces/dataloaders.d.ts +10 -0
  13. package/lib/interfaces/index.d.ts +4 -1
  14. package/lib/mixins/base-service-mixin-v2.d.ts +4 -0
  15. package/lib/mixins/base-service-mixin-v2.js +123 -0
  16. package/lib/mixins/base-service-mixin-v2.js.map +1 -0
  17. package/lib/mixins/base-service-mixin.d.ts +1 -1
  18. package/lib/mixins/base-service-mixin.js +2 -2
  19. package/lib/mixins/base-service-mixin.js.map +1 -1
  20. package/lib/mixins/index.d.ts +1 -0
  21. package/lib/services/base-proxy-service-v2.d.ts +28 -0
  22. package/lib/services/base-proxy-service-v2.js +52 -0
  23. package/lib/services/base-proxy-service-v2.js.map +1 -0
  24. package/lib/services/base-proxy-service.d.ts +17 -20
  25. package/lib/services/base-proxy-service.js +0 -3
  26. package/lib/services/base-proxy-service.js.map +1 -1
  27. package/lib/services/base-service-v2.d.ts +23 -0
  28. package/lib/services/base-service-v2.js +64 -0
  29. package/lib/services/base-service-v2.js.map +1 -0
  30. package/lib/services/base-service.d.ts +18 -19
  31. package/lib/services/base-service.js +11 -13
  32. package/lib/services/base-service.js.map +1 -1
  33. package/lib/services/index.d.ts +2 -0
  34. package/lib/store/models/common-options-v2.d.ts +16 -0
  35. package/lib/store/models/common-options-v2.js +40 -0
  36. package/lib/store/models/common-options-v2.js.map +1 -0
  37. package/lib/store/models/common-options.d.ts +2 -3
  38. package/lib/store/models/common-options.js +3 -23
  39. package/lib/store/models/common-options.js.map +1 -1
  40. package/lib/store/models/index.d.ts +1 -0
  41. package/lib/store/repositories/base-repository-v2.d.ts +65 -0
  42. package/lib/store/repositories/base-repository-v2.js +389 -0
  43. package/lib/store/repositories/base-repository-v2.js.map +1 -0
  44. package/lib/store/repositories/base-repository.d.ts +22 -58
  45. package/lib/store/repositories/base-repository.js +134 -276
  46. package/lib/store/repositories/base-repository.js.map +1 -1
  47. package/lib/store/repositories/index.d.ts +1 -0
  48. package/package.json +2 -2
  49. package/lib/dataloaders/bulk-dataloader.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import DataLoader from 'dataloader';
2
+ import { DataLoaderOptions2 as DataLoaderOptions, IBaseService2 as IBaseService, IDataLoader2 as IDataLoader, AsDomainType } from '../interfaces';
3
+ export declare class BulkDataLoader2<SchemaType> extends DataLoader<string, AsDomainType<SchemaType> | null> implements IDataLoader<SchemaType> {
4
+ private readonly service;
5
+ constructor(service: IBaseService<SchemaType>);
6
+ withOptions: DataLoader<DataLoaderOptions<SchemaType>, AsDomainType<SchemaType>[], DataLoaderOptions<SchemaType>>;
7
+ }
@@ -1,4 +1,4 @@
1
- import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloader';import {injectable,unmanaged}from'inversify';let BulkDataLoader = class BulkDataLoader extends DataLoader {
1
+ import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloader';import {injectable,unmanaged}from'inversify';let BulkDataLoader2 = class BulkDataLoader2 extends DataLoader {
2
2
  service;
3
3
  constructor(service) {
4
4
  super(async (ids) => {
@@ -26,8 +26,8 @@ import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloa
26
26
  }));
27
27
  });
28
28
  };
29
- BulkDataLoader = __decorate([
29
+ BulkDataLoader2 = __decorate([
30
30
  injectable(),
31
31
  __param(0, unmanaged()),
32
32
  __metadata("design:paramtypes", [Object])
33
- ], BulkDataLoader);export{BulkDataLoader};//# sourceMappingURL=bulk-dataloader.js.map
33
+ ], BulkDataLoader2);export{BulkDataLoader2};//# sourceMappingURL=bulk-dataloader-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-dataloader-v2.js","sources":["../../src/dataloaders/bulk-dataloader-v2.ts"],"sourcesContent":[null],"names":[],"mappings":"kIAWO,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,7 +1,9 @@
1
1
  import DataLoader from 'dataloader';
2
- import { DataLoaderOptions, IBaseService, IDataLoader, AsDomainType } from '../interfaces';
3
- export declare class BulkDataLoader<SchemaType> extends DataLoader<string, AsDomainType<SchemaType> | null> implements IDataLoader<SchemaType> {
2
+ import { DataLoaderOptions, IBaseService, IDataLoader } from '../interfaces';
3
+ export declare class BulkDataLoader<T extends {
4
+ id: string;
5
+ }> extends DataLoader<string, T | null> implements IDataLoader<T> {
4
6
  private readonly service;
5
- constructor(service: IBaseService<SchemaType>);
6
- withOptions: DataLoader<DataLoaderOptions<SchemaType>, AsDomainType<SchemaType>[], DataLoaderOptions<SchemaType>>;
7
+ constructor(service: IBaseService<T>);
8
+ withOptions: DataLoader<DataLoaderOptions<T>, T[], DataLoaderOptions<T>>;
7
9
  }
@@ -1 +1 @@
1
- export * from './bulk-dataloader';
1
+ export * from './bulk-dataloader-v2';
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export{PAGINATION_OPTIONS}from'./interfaces/get-all-args.js';export{generateMongo}from'./helpers/mongoose-connection.js';export{BaseService}from'./services/base-service.js';export{BaseProxyService}from'./services/base-proxy-service.js';export{addIdVirtualFields,commonModelSchemaOptions}from'./store/models/common-options.js';export{BaseRepository}from'./store/repositories/base-repository.js';export{BulkDataLoader}from'./dataloaders/bulk-dataloader.js';export{BaseServiceMixin}from'./mixins/base-service-mixin.js';//# sourceMappingURL=index.js.map
1
+ export{PAGINATION_OPTIONS}from'./interfaces/get-all-args.js';export{generateMongo}from'./helpers/mongoose-connection.js';export{BaseService2}from'./services/base-service-v2.js';export{BaseProxyService2}from'./services/base-proxy-service-v2.js';export{BaseService}from'./services/base-service.js';export{BaseProxyService}from'./services/base-proxy-service.js';export{addIdVirtualFields2,commonModelSchemaOptions2}from'./store/models/common-options-v2.js';export{addIdVirtualFields,commonModeSchemaOptions}from'./store/models/common-options.js';export{BaseRepository2}from'./store/repositories/base-repository-v2.js';export{BaseRepository}from'./store/repositories/base-repository.js';export{BulkDataLoader2}from'./dataloaders/bulk-dataloader-v2.js';export{BaseServiceMixin2}from'./mixins/base-service-mixin-v2.js';export{BaseServiceMixin}from'./mixins/base-service-mixin.js';//# sourceMappingURL=index.js.map
@@ -0,0 +1,26 @@
1
+ import { FilterQuery, Model, PipelineStage, UpdateQuery } from 'mongoose';
2
+ import { AsDomainType, CreateType, GetAllArgs, UpdateType } from './get-all-args';
3
+ export interface IBaseRepository2<SchemaType> {
4
+ model: Model<SchemaType>;
5
+ count(conditions?: FilterQuery<SchemaType>): Promise<number>;
6
+ getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
7
+ getAllWithPipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): Promise<AsDomainType<SchemaType>[]>;
8
+ getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
9
+ data: AsDomainType<SchemaType>[];
10
+ totalCount: number;
11
+ }>;
12
+ getAllWithCountAndPipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): Promise<{
13
+ data: AsDomainType<SchemaType>[];
14
+ totalCount: number;
15
+ }>;
16
+ get(conditions?: FilterQuery<SchemaType>, selectedFields?: string): Promise<AsDomainType<SchemaType> | null>;
17
+ find(conditions: Partial<FilterQuery<SchemaType>>, selectedFields?: string): Promise<AsDomainType<SchemaType> | null>;
18
+ create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
19
+ upsert<T = UpdateType<SchemaType>>(conditions: FilterQuery<SchemaType>, update: T, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>>;
20
+ update<T = UpdateType<SchemaType>>(criteria: FilterQuery<SchemaType>, update: T | UpdateQuery<SchemaType>, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>>;
21
+ bulkUpdate<T = UpdateType<SchemaType>>(criteria: FilterQuery<SchemaType>, update: T | UpdateQuery<SchemaType>, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>[]>;
22
+ delete(criteria: FilterQuery<SchemaType>): Promise<boolean>;
23
+ bulkGet(ids: string[], selectedFields?: string): Promise<AsDomainType<SchemaType>[]>;
24
+ bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
25
+ bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
26
+ }
@@ -1,26 +1,16 @@
1
- import { FilterQuery, Model, PipelineStage, UpdateQuery } from 'mongoose';
2
- import { AsDomainType, CreateType, GetAllArgs, UpdateType } from './get-all-args';
3
- export interface IBaseRepository<SchemaType> {
4
- model: Model<SchemaType>;
5
- count(conditions?: FilterQuery<SchemaType>): Promise<number>;
6
- getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
7
- getAllWithPipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): Promise<AsDomainType<SchemaType>[]>;
8
- getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
9
- data: AsDomainType<SchemaType>[];
10
- totalCount: number;
11
- }>;
12
- getAllWithCountAndPipeline(options: GetAllArgs<SchemaType>, customPipeline?: PipelineStage[]): Promise<{
13
- data: AsDomainType<SchemaType>[];
14
- totalCount: number;
15
- }>;
16
- get(conditions?: FilterQuery<SchemaType>, selectedFields?: string): Promise<AsDomainType<SchemaType> | null>;
17
- find(conditions: Partial<FilterQuery<SchemaType>>, selectedFields?: string): Promise<AsDomainType<SchemaType> | null>;
18
- create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
19
- upsert<T = UpdateType<SchemaType>>(conditions: FilterQuery<SchemaType>, update: T, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>>;
20
- update<T = UpdateType<SchemaType>>(criteria: FilterQuery<SchemaType>, update: T | UpdateQuery<SchemaType>, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>>;
21
- bulkUpdate<T = UpdateType<SchemaType>>(criteria: FilterQuery<SchemaType>, update: T | UpdateQuery<SchemaType>, options?: Record<string, unknown>): Promise<AsDomainType<SchemaType>[]>;
22
- delete(criteria: FilterQuery<SchemaType>): Promise<boolean>;
23
- bulkGet(ids: string[], selectedFields?: string): Promise<AsDomainType<SchemaType>[]>;
24
- bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
25
- bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
1
+ import { Document, FilterQuery, Model, UpdateQuery } from 'mongoose';
2
+ import { GetAllArgs } from './get-all-args';
3
+ export interface IBaseRepository<T, D = Document<T>> {
4
+ model: Model<D>;
5
+ count(conditions?: FilterQuery<D>): Promise<number>;
6
+ getAll(options: GetAllArgs<D>): Promise<T[]>;
7
+ get(conditions?: FilterQuery<D>, selectedFields?: string): Promise<T>;
8
+ create<I>(data: I): Promise<T>;
9
+ upsert<I>(conditions: FilterQuery<D>, update: I, options: any): Promise<T>;
10
+ update<I>(criteria: FilterQuery<D>, update: UpdateQuery<D>, options?: any): Promise<T>;
11
+ bulkUpdate<I>(criteria: FilterQuery<D>, update: UpdateQuery<D>, options?: any): Promise<T[]>;
12
+ delete(criteria: FilterQuery<D>): Promise<boolean>;
13
+ bulkGet(ids: string[], selectedFields?: string): Promise<T[]>;
14
+ bulkCreate<I>(data: I[]): Promise<T[]>;
15
+ bulkDelete(criteria: FilterQuery<D>): Promise<number>;
26
16
  }
@@ -0,0 +1,21 @@
1
+ import { FilterQuery } from 'mongoose';
2
+ import { GetAllArgs, AsDomainType, CreateType, UpdateType } from './get-all-args';
3
+ export interface IBaseService2<SchemaType> {
4
+ getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
5
+ data: AsDomainType<SchemaType>[];
6
+ totalCount: number;
7
+ }>;
8
+ count(conditions?: FilterQuery<SchemaType>): Promise<number>;
9
+ get(conditions: string | FilterQuery<SchemaType>): Promise<AsDomainType<SchemaType> | null>;
10
+ getByName(name: string): Promise<AsDomainType<SchemaType> | null>;
11
+ getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
12
+ getByIds(ids: string[]): Promise<AsDomainType<SchemaType>[]>;
13
+ create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
14
+ bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
15
+ update<T = UpdateType<SchemaType>>(id: string, data: T, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
16
+ insert<T = CreateType<SchemaType>>(data: T & {
17
+ id?: string;
18
+ }, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
19
+ delete(id: string | FilterQuery<SchemaType>): Promise<boolean>;
20
+ bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
21
+ }
@@ -1,21 +1,22 @@
1
- import { FilterQuery } from 'mongoose';
2
- import { GetAllArgs, AsDomainType, CreateType, UpdateType } from './get-all-args';
3
- export interface IBaseService<SchemaType> {
4
- getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
5
- data: AsDomainType<SchemaType>[];
1
+ import { FilterQuery, Document } from 'mongoose';
2
+ import { GetAllArgs } from './get-all-args';
3
+ export interface IBaseService<T, C = Omit<T, 'id'>, U = C> {
4
+ count(conditions?: FilterQuery<Document<T>>): Promise<number>;
5
+ get(id: string): Promise<T>;
6
+ get(conditions?: string | FilterQuery<Document<T>>): Promise<T>;
7
+ getByName(name: string): Promise<T>;
8
+ getAll(options?: GetAllArgs<Document<T>>): Promise<T[]>;
9
+ getByIds(ids: string[]): Promise<T[]>;
10
+ create(data: C): Promise<T>;
11
+ insert(data: (C | U) & {
12
+ id?: string;
13
+ }, overwrite?: boolean): Promise<T>;
14
+ bulkCreate(data: C[]): Promise<T[]>;
15
+ update(id: string, data: U, overwrite?: boolean): Promise<T>;
16
+ delete(id: string): Promise<boolean>;
17
+ delete(conditions: string | FilterQuery<Document<T>>): Promise<boolean>;
18
+ getAllWithCount(options: GetAllArgs<Document<T>>): Promise<{
19
+ data: T[];
6
20
  totalCount: number;
7
21
  }>;
8
- count(conditions?: FilterQuery<SchemaType>): Promise<number>;
9
- get(conditions: string | FilterQuery<SchemaType>): Promise<AsDomainType<SchemaType> | null>;
10
- getByName(name: string): Promise<AsDomainType<SchemaType> | null>;
11
- getAll(options: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
12
- getByIds(ids: string[]): Promise<AsDomainType<SchemaType>[]>;
13
- create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
14
- bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
15
- update<T = UpdateType<SchemaType>>(id: string, data: T, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
16
- insert<T = CreateType<SchemaType>>(data: T & {
17
- id?: string;
18
- }, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
19
- delete(id: string | FilterQuery<SchemaType>): Promise<boolean>;
20
- bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
21
22
  }
@@ -1,17 +1,17 @@
1
1
  import DataLoader from 'dataloader';
2
2
  import { FilterQuery } from 'mongoose';
3
3
  import { AsDomainType } from './get-all-args';
4
- export interface DataLoaderOptions<SchemaType> {
4
+ export interface DataLoaderOptions2<SchemaType> {
5
5
  id: string;
6
6
  searchKey: keyof AsDomainType<SchemaType> | string;
7
- comparator?: (option: DataLoaderOptions<SchemaType>, item: AsDomainType<SchemaType>) => boolean;
7
+ comparator?: (option: DataLoaderOptions2<SchemaType>, item: AsDomainType<SchemaType>) => boolean;
8
8
  criteria?: FilterQuery<SchemaType>;
9
9
  [key: string]: any;
10
10
  }
11
- export interface IDataLoader<SchemaType> {
11
+ export interface IDataLoader2<SchemaType> {
12
12
  load: (id: string) => Promise<AsDomainType<SchemaType> | null>;
13
13
  loadMany: (ids: string[]) => Promise<(AsDomainType<SchemaType> | null | Error)[]>;
14
14
  clear: (id: string) => DataLoader<string, AsDomainType<SchemaType> | null>;
15
15
  clearAll: () => DataLoader<string, AsDomainType<SchemaType> | null>;
16
- withOptions: DataLoader<DataLoaderOptions<SchemaType>, AsDomainType<SchemaType>[]>;
16
+ withOptions: DataLoader<DataLoaderOptions2<SchemaType>, AsDomainType<SchemaType>[]>;
17
17
  }
@@ -0,0 +1,10 @@
1
+ import DataLoader from 'dataloader';
2
+ import { IBaseService } from './base-service';
3
+ export type DataLoaderOptions<T> = Parameters<IBaseService<T>['getAll']>[0] & {
4
+ id: string;
5
+ searchKey: keyof T;
6
+ comparator?: (source: Omit<DataLoaderOptions<T>, 'comparator'>, target: T) => boolean;
7
+ };
8
+ export type IDataLoader<T> = DataLoader<string, T> & {
9
+ withOptions: DataLoader<DataLoaderOptions<T>, T[]>;
10
+ };
@@ -1,5 +1,8 @@
1
1
  export * from './mongoose-settings';
2
2
  export * from './get-all-args';
3
+ export * from './base-repository-v2';
4
+ export * from './base-service-v2';
5
+ export * from './dataloader-v2';
3
6
  export * from './base-repository';
4
7
  export * from './base-service';
5
- export * from './dataloader';
8
+ export * from './dataloaders';
@@ -0,0 +1,4 @@
1
+ import { ServiceBroker, ServiceSchema } from 'moleculer';
2
+ import { BaseServiceCommands } from 'common';
3
+ import { IBaseService2 as IBaseService } from '../interfaces';
4
+ export declare const BaseServiceMixin2: <T>(service: IBaseService<T>, broker?: ServiceBroker, name?: string, events?: BaseServiceCommands[]) => Partial<ServiceSchema>;
@@ -0,0 +1,123 @@
1
+ import {upperFirst}from'lodash-es';import {BaseServiceCommands}from'common';const defaultEvents = [
2
+ BaseServiceCommands.Create,
3
+ BaseServiceCommands.BulkCreate,
4
+ BaseServiceCommands.Update,
5
+ BaseServiceCommands.Delete,
6
+ BaseServiceCommands.DeleteMany,
7
+ ];
8
+ const BaseServiceMixin2 = (service, broker, name, events = defaultEvents) => ({
9
+ name: 'BaseServiceMixin',
10
+ actions: {
11
+ [BaseServiceCommands.Get]: {
12
+ params: {
13
+ id: 'string',
14
+ },
15
+ handler: async (ctx) => service.get({ id: ctx.params.id }),
16
+ },
17
+ [BaseServiceCommands.Count]: {
18
+ params: {
19
+ criteria: { type: 'object', optional: true },
20
+ },
21
+ handler: async (ctx) => service.count(ctx.params.criteria),
22
+ },
23
+ [BaseServiceCommands.BulkCreate]: {
24
+ params: {
25
+ data: { type: 'array', items: 'object' },
26
+ },
27
+ handler: async (ctx) => {
28
+ const response = await service.bulkCreate(ctx.params.data);
29
+ if (events.includes(BaseServiceCommands.BulkCreate)) {
30
+ await broker?.emit(`${name}.on${upperFirst(BaseServiceCommands.BulkCreate)}`, response);
31
+ }
32
+ return response;
33
+ },
34
+ },
35
+ [BaseServiceCommands.Create]: {
36
+ params: {
37
+ data: 'object',
38
+ },
39
+ handler: async (ctx) => {
40
+ const response = await service.create(ctx.params.data);
41
+ if (events.includes(BaseServiceCommands.Create)) {
42
+ await broker?.emit(`${name}.on${upperFirst(BaseServiceCommands.Create)}`, response);
43
+ }
44
+ return response;
45
+ },
46
+ },
47
+ [BaseServiceCommands.Delete]: {
48
+ params: {
49
+ id: 'string',
50
+ },
51
+ handler: async (ctx) => {
52
+ const { id } = ctx.params;
53
+ const response = await service.delete({ id });
54
+ if (events.includes(BaseServiceCommands.Delete)) {
55
+ await broker?.emit(`${name}.on${upperFirst(BaseServiceCommands.Delete)}`, { id });
56
+ }
57
+ return response;
58
+ },
59
+ },
60
+ [BaseServiceCommands.GetAll]: {
61
+ params: {
62
+ criteria: 'object|optional',
63
+ sort: 'object|optional',
64
+ skip: 'number|optional',
65
+ limit: 'number|optional',
66
+ selectedFields: 'string|optional',
67
+ },
68
+ handler: async (ctx) => service.getAll(ctx.params),
69
+ },
70
+ [BaseServiceCommands.GetAllWithCount]: {
71
+ params: {
72
+ criteria: 'object|optional',
73
+ sort: 'object|optional',
74
+ skip: 'number|optional',
75
+ limit: 'number|optional',
76
+ selectedFields: 'string|optional',
77
+ },
78
+ handler: async (ctx) => service.getAllWithCount(ctx.params),
79
+ },
80
+ [BaseServiceCommands.Insert]: {
81
+ params: {
82
+ data: 'object',
83
+ overwrite: 'boolean|optional',
84
+ },
85
+ handler: async (ctx) => {
86
+ const { data } = ctx.params;
87
+ const response = await service.insert(data, ctx.params.overwrite);
88
+ const action = data?.id ? BaseServiceCommands.Update : BaseServiceCommands.Create;
89
+ if (events.includes(action)) {
90
+ await broker?.emit(`${name}.on${upperFirst(action)}`, response);
91
+ }
92
+ return response;
93
+ },
94
+ },
95
+ [BaseServiceCommands.Update]: {
96
+ params: {
97
+ id: 'string',
98
+ data: 'object',
99
+ overwrite: 'boolean|optional',
100
+ },
101
+ handler: async (ctx) => {
102
+ const response = await service.update(ctx.params.id, ctx.params.data, ctx.params.overwrite);
103
+ if (events.includes(BaseServiceCommands.Update)) {
104
+ await broker?.emit(`${name}.on${upperFirst(BaseServiceCommands.Update)}`, response);
105
+ }
106
+ return response;
107
+ },
108
+ },
109
+ [BaseServiceCommands.DeleteMany]: {
110
+ params: {
111
+ criteria: 'object',
112
+ },
113
+ handler: async (ctx) => {
114
+ const { criteria } = ctx.params;
115
+ const response = await service.delete(criteria);
116
+ if (events.includes(BaseServiceCommands.DeleteMany)) {
117
+ await broker?.emit(`${name}.on${upperFirst(BaseServiceCommands.DeleteMany)}`, criteria);
118
+ }
119
+ return response;
120
+ },
121
+ },
122
+ },
123
+ });export{BaseServiceMixin2};//# sourceMappingURL=base-service-mixin-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-service-mixin-v2.js","sources":["../../src/mixins/base-service-mixin-v2.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { ServiceBroker, ServiceSchema } from 'moleculer';
2
2
  import { BaseServiceCommands } from 'common';
3
3
  import { IBaseService } from '../interfaces';
4
- export declare const BaseServiceMixin: <T>(service: IBaseService<T>, broker?: ServiceBroker, name?: string, events?: BaseServiceCommands[]) => Partial<ServiceSchema>;
4
+ export declare const BaseServiceMixin: <T, C, U>(service: IBaseService<T, C, U>, broker?: ServiceBroker, name?: string, events?: BaseServiceCommands[]) => Partial<ServiceSchema>;
@@ -12,7 +12,7 @@ const BaseServiceMixin = (service, broker, name, events = defaultEvents) => ({
12
12
  params: {
13
13
  id: 'string',
14
14
  },
15
- handler: async (ctx) => service.get({ id: ctx.params.id }),
15
+ handler: async (ctx) => service.get(ctx.params.id),
16
16
  },
17
17
  [BaseServiceCommands.Count]: {
18
18
  params: {
@@ -50,7 +50,7 @@ const BaseServiceMixin = (service, broker, name, events = defaultEvents) => ({
50
50
  },
51
51
  handler: async (ctx) => {
52
52
  const { id } = ctx.params;
53
- const response = await service.delete({ id });
53
+ const response = await service.delete(id);
54
54
  if (events.includes(BaseServiceCommands.Delete)) {
55
55
  await broker?.emit(`${name}.on${upperFirst(BaseServiceCommands.Delete)}`, { id });
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-service-mixin.js","sources":["../../src/mixins/base-service-mixin.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-service-mixin.js","sources":["../../src/mixins/base-service-mixin.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ export { BaseServiceMixin2 } from './base-service-mixin-v2';
1
2
  export { BaseServiceMixin } from './base-service-mixin';
@@ -0,0 +1,28 @@
1
+ import { ServiceBroker } from 'moleculer';
2
+ import { FilterQuery } from 'mongoose';
3
+ import { CdmLogger } from '@cdm-logger/core';
4
+ import { GetAllArgs, IBaseService2 as IBaseService, AsDomainType, CreateType, UpdateType } from '../interfaces';
5
+ export declare abstract class BaseProxyService2<SchemaType> implements IBaseService<SchemaType> {
6
+ private readonly broker;
7
+ protected abstract logger?: CdmLogger.ILogger;
8
+ protected abstract topic: string;
9
+ constructor(broker: ServiceBroker, logger: CdmLogger.ILogger);
10
+ getByName(name: string): Promise<AsDomainType<SchemaType> | null>;
11
+ bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
12
+ count(criteria?: FilterQuery<SchemaType>): Promise<number>;
13
+ create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
14
+ delete(id: string | FilterQuery<SchemaType>): Promise<boolean>;
15
+ bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
16
+ get(id?: string | FilterQuery<SchemaType>): Promise<AsDomainType<SchemaType> | null>;
17
+ getAll(options?: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
18
+ getByIds(ids: string[]): Promise<AsDomainType<SchemaType>[]>;
19
+ getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
20
+ data: AsDomainType<SchemaType>[];
21
+ totalCount: number;
22
+ }>;
23
+ insert<T = CreateType<SchemaType>>(data: T & {
24
+ id?: string;
25
+ }, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
26
+ update<T = UpdateType<SchemaType>>(id: string, data: T, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
27
+ protected callAction<T, P = unknown>(command: string, params?: P): Promise<T>;
28
+ }
@@ -0,0 +1,52 @@
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import {ServiceBroker}from'moleculer';import'@cdm-logger/core';import {CommonType}from'@common-stack/core';import {BaseServiceCommands}from'common';let BaseProxyService2 = class BaseProxyService2 {
2
+ broker;
3
+ constructor(broker, logger) {
4
+ this.broker = broker;
5
+ }
6
+ getByName(name) {
7
+ return this.callAction(BaseServiceCommands.GetByName, { name });
8
+ }
9
+ bulkCreate(data) {
10
+ return this.callAction(BaseServiceCommands.BulkCreate, { data });
11
+ }
12
+ count(criteria) {
13
+ return this.callAction(BaseServiceCommands.Count, { criteria });
14
+ }
15
+ create(data) {
16
+ return this.callAction(BaseServiceCommands.Create, { data });
17
+ }
18
+ delete(id) {
19
+ return this.callAction(BaseServiceCommands.Delete, { id });
20
+ }
21
+ bulkDelete(criteria) {
22
+ return this.callAction(BaseServiceCommands.BulkDelete, { criteria });
23
+ }
24
+ get(id) {
25
+ return this.callAction(BaseServiceCommands.Get, { id });
26
+ }
27
+ getAll(options) {
28
+ return this.callAction(BaseServiceCommands.GetAll, options);
29
+ }
30
+ getByIds(ids) {
31
+ return this.callAction(BaseServiceCommands.GetByIds, { ids });
32
+ }
33
+ getAllWithCount(options) {
34
+ return this.callAction(BaseServiceCommands.GetAllWithCount, options);
35
+ }
36
+ insert(data, overwrite) {
37
+ return this.callAction(BaseServiceCommands.Insert, { data, overwrite });
38
+ }
39
+ update(id, data, overwrite) {
40
+ return this.callAction(BaseServiceCommands.Update, { id, data, overwrite });
41
+ }
42
+ async callAction(command, params) {
43
+ return this.broker.call(`${this.topic}.${command}`, params);
44
+ }
45
+ };
46
+ BaseProxyService2 = __decorate([
47
+ injectable(),
48
+ __param(0, inject(CommonType.MOLECULER_BROKER)),
49
+ __param(1, inject(CommonType.LOGGER)),
50
+ __param(1, optional()),
51
+ __metadata("design:paramtypes", [ServiceBroker, Object])
52
+ ], BaseProxyService2);export{BaseProxyService2};//# sourceMappingURL=base-proxy-service-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-proxy-service-v2.js","sources":["../../src/services/base-proxy-service-v2.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,28 +1,25 @@
1
1
  import { ServiceBroker } from 'moleculer';
2
2
  import { FilterQuery } from 'mongoose';
3
3
  import { CdmLogger } from '@cdm-logger/core';
4
- import { GetAllArgs, IBaseService, AsDomainType, CreateType, UpdateType } from '../interfaces';
5
- export declare abstract class BaseProxyService<SchemaType> implements IBaseService<SchemaType> {
4
+ import { GetAllArgs, IBaseService } from '../interfaces';
5
+ type MethodsNames<T, C, U> = keyof IBaseService<T, C, U>;
6
+ type MethodResponse<T, C, U, M extends MethodsNames<T, C, U>> = ReturnType<IBaseService<T, C, U>[M]>;
7
+ export declare abstract class BaseProxyService<T, C = T, U = T> implements IBaseService<T, C, U> {
6
8
  private readonly broker;
7
9
  protected abstract logger?: CdmLogger.ILogger;
8
- protected abstract topic: string;
10
+ protected abstract topic: any;
9
11
  constructor(broker: ServiceBroker, logger: CdmLogger.ILogger);
10
- getByName(name: string): Promise<AsDomainType<SchemaType> | null>;
11
- bulkCreate<T = CreateType<SchemaType>>(data: T[]): Promise<AsDomainType<SchemaType>[]>;
12
- count(criteria?: FilterQuery<SchemaType>): Promise<number>;
13
- create<T = CreateType<SchemaType>>(data: T): Promise<AsDomainType<SchemaType>>;
14
- delete(id: string | FilterQuery<SchemaType>): Promise<boolean>;
15
- bulkDelete(criteria: FilterQuery<SchemaType>): Promise<number>;
16
- get(id?: string | FilterQuery<SchemaType>): Promise<AsDomainType<SchemaType> | null>;
17
- getAll(options?: GetAllArgs<SchemaType>): Promise<AsDomainType<SchemaType>[]>;
18
- getByIds(ids: string[]): Promise<AsDomainType<SchemaType>[]>;
19
- getAllWithCount(options: GetAllArgs<SchemaType>): Promise<{
20
- data: AsDomainType<SchemaType>[];
21
- totalCount: number;
22
- }>;
23
- insert<T = CreateType<SchemaType>>(data: T & {
24
- id?: string;
25
- }, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
26
- update<T = UpdateType<SchemaType>>(id: string, data: T, overwrite?: boolean): Promise<AsDomainType<SchemaType>>;
12
+ getByName(name: string): Promise<T>;
13
+ bulkCreate(data: C[]): MethodResponse<T, C, U, 'bulkCreate'>;
14
+ count(criteria?: FilterQuery<Document>): MethodResponse<T, C, U, 'count'>;
15
+ create(data: C): MethodResponse<T, C, U, 'create'>;
16
+ delete(id: string | FilterQuery<Document>): MethodResponse<T, C, U, 'delete'>;
17
+ get(id?: string | FilterQuery<Document>): MethodResponse<T, C, U, 'get'>;
18
+ getAll(options?: GetAllArgs<Document>): MethodResponse<T, C, U, 'getAll'>;
19
+ getByIds(ids: string[]): Promise<T[]>;
20
+ getAllWithCount(options: GetAllArgs<Document>): MethodResponse<T, C, U, 'getAllWithCount'>;
21
+ insert(data: C | U, overwrite?: boolean): MethodResponse<T, C, U, 'insert'>;
22
+ update(id: string, data: U, overwrite?: boolean): MethodResponse<T, C, U, 'update'>;
27
23
  protected callAction<T, P = unknown>(command: string, params?: P): Promise<T>;
28
24
  }
25
+ export {};
@@ -18,9 +18,6 @@ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,opti
18
18
  delete(id) {
19
19
  return this.callAction(BaseServiceCommands.Delete, { id });
20
20
  }
21
- bulkDelete(criteria) {
22
- return this.callAction(BaseServiceCommands.BulkDelete, { criteria });
23
- }
24
21
  get(id) {
25
22
  return this.callAction(BaseServiceCommands.Get, { id });
26
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-proxy-service.js","sources":["../../src/services/base-proxy-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-proxy-service.js","sources":["../../src/services/base-proxy-service.ts"],"sourcesContent":[null],"names":[],"mappings":"yPAYsB,IAAA,gBAAgB,GAA/B,MAAe,gBAAgB,CAAA;AAOb,IAAA,MAAA,CAAA;IAFrB,WAEqB,CAAA,MAAqB,EAGtC,MAAyB,EAAA;QAHR,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;KAItC;AAEJ,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KACnE;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAqB,mBAAmB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KACxF;AAED,IAAA,KAAK,CAAC,QAAgC,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;KACnE;AAED,IAAA,MAAM,CAAC,IAAO,EAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KAChE;AAED,IAAA,MAAM,CAAC,EAAkC,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;KAC9D;AAED,IAAA,GAAG,CAAC,EAAmC,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;KAC3D;AAED,IAAA,MAAM,CAAC,OAA8B,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/D;AAED,IAAA,QAAQ,CAAC,GAAa,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;KACjE;AAED,IAAA,eAAe,CAAC,OAA6B,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;KACxE;IAED,MAAM,CAAC,IAAW,EAAE,SAAmB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3E;AAED,IAAA,MAAM,CAAC,EAAU,EAAE,IAAO,EAAE,SAAmB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;KAClF;AAES,IAAA,MAAM,UAAU,CAAiB,OAAe,EAAE,MAAU,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAO,CAAG,EAAA,IAAI,CAAC,KAAK,IAAI,OAAO,CAAA,CAAE,EAAE,MAAM,CAAC,CAAC;KACrE;EACJ;AA5DqB,gBAAgB,GAAA,UAAA,CAAA;AADrC,IAAA,UAAU,EAAE;AAOJ,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEnC,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,OAAA,CAAA,CAAA,EAAA,QAAQ,EAAE,CAAA;qCAFc,aAAa,EAAA,MAAA,CAAA,CAAA;AAPxB,CAAA,EAAA,gBAAgB,CA4DrC"}