@common-stack/store-mongo 0.4.1 → 0.5.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -211,31 +211,31 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
211
211
  exports.ISortEnum = exports.IMoleculerServiceName = exports.ICacheControlScope = exports.IBaseServiceCommands = void 0;
212
212
  var IBaseServiceCommands;
213
213
  (function (IBaseServiceCommands) {
214
- IBaseServiceCommands["count"] = "count";
215
- IBaseServiceCommands["get"] = "get";
216
- IBaseServiceCommands["getAll"] = "getAll";
217
- IBaseServiceCommands["getByIds"] = "getByIds";
218
- IBaseServiceCommands["create"] = "create";
219
- IBaseServiceCommands["insert"] = "insert";
220
- IBaseServiceCommands["bulkCreate"] = "bulkCreate";
221
- IBaseServiceCommands["update"] = "update";
222
- IBaseServiceCommands["delete"] = "delete";
223
- IBaseServiceCommands["getAllWithCount"] = "getAllWithCount";
214
+ IBaseServiceCommands["Count"] = "count";
215
+ IBaseServiceCommands["Get"] = "get";
216
+ IBaseServiceCommands["GetAll"] = "getAll";
217
+ IBaseServiceCommands["GetByIds"] = "getByIds";
218
+ IBaseServiceCommands["Create"] = "create";
219
+ IBaseServiceCommands["Insert"] = "insert";
220
+ IBaseServiceCommands["BulkCreate"] = "bulkCreate";
221
+ IBaseServiceCommands["Update"] = "update";
222
+ IBaseServiceCommands["Delete"] = "delete";
223
+ IBaseServiceCommands["GetAllWithCount"] = "getAllWithCount";
224
224
  })(IBaseServiceCommands = exports.IBaseServiceCommands || (exports.IBaseServiceCommands = {}));
225
225
  var ICacheControlScope;
226
226
  (function (ICacheControlScope) {
227
- ICacheControlScope["PUBLIC"] = "PUBLIC";
228
- ICacheControlScope["PRIVATE"] = "PRIVATE";
227
+ ICacheControlScope["Public"] = "PUBLIC";
228
+ ICacheControlScope["Private"] = "PRIVATE";
229
229
  })(ICacheControlScope = exports.ICacheControlScope || (exports.ICacheControlScope = {}));
230
230
  /** All Moleculer Topic names are extended from this. */
231
231
  var IMoleculerServiceName;
232
232
  (function (IMoleculerServiceName) {
233
- IMoleculerServiceName["dummy"] = "dummy";
233
+ IMoleculerServiceName["Dummy"] = "dummy";
234
234
  })(IMoleculerServiceName = exports.IMoleculerServiceName || (exports.IMoleculerServiceName = {}));
235
235
  var ISortEnum;
236
236
  (function (ISortEnum) {
237
- ISortEnum["ASC"] = "ASC";
238
- ISortEnum["DESC"] = "DESC";
237
+ ISortEnum["Asc"] = "ASC";
238
+ ISortEnum["Desc"] = "DESC";
239
239
  })(ISortEnum = exports.ISortEnum || (exports.ISortEnum = {}));
240
240
 
241
241
 
@@ -310,37 +310,37 @@ const interfaces_1 = __webpack_require__(/*! ../interfaces */ "./src/interfaces/
310
310
  const BaseServiceMixin = (service) => ({
311
311
  name: 'BaseServiceMixin',
312
312
  actions: {
313
- [interfaces_1.IBaseServiceCommands.get]: {
313
+ [interfaces_1.IBaseServiceCommands.Get]: {
314
314
  params: {
315
315
  id: 'string',
316
316
  },
317
317
  handler: async (ctx) => service.get(ctx.params.id),
318
318
  },
319
- [interfaces_1.IBaseServiceCommands.count]: {
319
+ [interfaces_1.IBaseServiceCommands.Count]: {
320
320
  params: {
321
321
  criteria: { type: 'object', optional: true },
322
322
  },
323
323
  handler: async (ctx) => service.count(ctx.params.criteria),
324
324
  },
325
- [interfaces_1.IBaseServiceCommands.bulkCreate]: {
325
+ [interfaces_1.IBaseServiceCommands.BulkCreate]: {
326
326
  params: {
327
327
  data: { type: 'array', items: 'object' },
328
328
  },
329
329
  handler: async (ctx) => service.bulkCreate(ctx.params.data),
330
330
  },
331
- [interfaces_1.IBaseServiceCommands.create]: {
331
+ [interfaces_1.IBaseServiceCommands.Create]: {
332
332
  params: {
333
333
  data: 'object',
334
334
  },
335
335
  handler: async (ctx) => service.create(ctx.params.data),
336
336
  },
337
- [interfaces_1.IBaseServiceCommands.delete]: {
337
+ [interfaces_1.IBaseServiceCommands.Delete]: {
338
338
  params: {
339
339
  id: 'string',
340
340
  },
341
341
  handler: async (ctx) => service.delete(ctx.params.id),
342
342
  },
343
- [interfaces_1.IBaseServiceCommands.getAll]: {
343
+ [interfaces_1.IBaseServiceCommands.GetAll]: {
344
344
  params: {
345
345
  criteria: 'object|optional',
346
346
  sort: 'object|optional',
@@ -350,7 +350,7 @@ const BaseServiceMixin = (service) => ({
350
350
  },
351
351
  handler: async (ctx) => service.getAll(ctx.params),
352
352
  },
353
- [interfaces_1.IBaseServiceCommands.getAllWithCount]: {
353
+ [interfaces_1.IBaseServiceCommands.GetAllWithCount]: {
354
354
  params: {
355
355
  criteria: 'object|optional',
356
356
  sort: 'object|optional',
@@ -360,14 +360,14 @@ const BaseServiceMixin = (service) => ({
360
360
  },
361
361
  handler: async (ctx) => service.getAllWithCount(ctx.params),
362
362
  },
363
- [interfaces_1.IBaseServiceCommands.insert]: {
363
+ [interfaces_1.IBaseServiceCommands.Insert]: {
364
364
  params: {
365
365
  data: 'object',
366
366
  overwrite: 'boolean|optional',
367
367
  },
368
368
  handler: async (ctx) => service.insert(ctx.params.data, ctx.params.overwrite),
369
369
  },
370
- [interfaces_1.IBaseServiceCommands.update]: {
370
+ [interfaces_1.IBaseServiceCommands.Update]: {
371
371
  params: {
372
372
  id: 'string',
373
373
  data: 'object',
@@ -424,34 +424,34 @@ let BaseProxyService = class BaseProxyService {
424
424
  this.logger = logger.child({ className: 'BaseProxyService' });
425
425
  }
426
426
  bulkCreate(data) {
427
- return this.callAction(interfaces_1.IBaseServiceCommands.bulkCreate, { data });
427
+ return this.callAction(interfaces_1.IBaseServiceCommands.BulkCreate, { data });
428
428
  }
429
429
  count(criteria) {
430
- return this.callAction(interfaces_1.IBaseServiceCommands.count, { criteria });
430
+ return this.callAction(interfaces_1.IBaseServiceCommands.Count, { criteria });
431
431
  }
432
432
  create(data) {
433
- return this.callAction(interfaces_1.IBaseServiceCommands.create, { data });
433
+ return this.callAction(interfaces_1.IBaseServiceCommands.Create, { data });
434
434
  }
435
435
  delete(id) {
436
- return this.callAction(interfaces_1.IBaseServiceCommands.delete, { id });
436
+ return this.callAction(interfaces_1.IBaseServiceCommands.Delete, { id });
437
437
  }
438
438
  get(id) {
439
- return this.callAction(interfaces_1.IBaseServiceCommands.get, { id });
439
+ return this.callAction(interfaces_1.IBaseServiceCommands.Get, { id });
440
440
  }
441
441
  getAll(options) {
442
- return this.callAction(interfaces_1.IBaseServiceCommands.getAll, options);
442
+ return this.callAction(interfaces_1.IBaseServiceCommands.GetAll, options);
443
443
  }
444
444
  getByIds(ids) {
445
- return this.callAction(interfaces_1.IBaseServiceCommands.getByIds, { ids });
445
+ return this.callAction(interfaces_1.IBaseServiceCommands.GetByIds, { ids });
446
446
  }
447
447
  getAllWithCount(options) {
448
- return this.callAction(interfaces_1.IBaseServiceCommands.getAllWithCount, options);
448
+ return this.callAction(interfaces_1.IBaseServiceCommands.GetAllWithCount, options);
449
449
  }
450
450
  insert(data, overwrite) {
451
- return this.callAction(interfaces_1.IBaseServiceCommands.insert, { data, overwrite });
451
+ return this.callAction(interfaces_1.IBaseServiceCommands.Insert, { data, overwrite });
452
452
  }
453
453
  update(id, data, overwrite) {
454
- return this.callAction(interfaces_1.IBaseServiceCommands.update, { id, data, overwrite });
454
+ return this.callAction(interfaces_1.IBaseServiceCommands.Update, { id, data, overwrite });
455
455
  }
456
456
  async callAction(command, params) {
457
457
  return this.broker.call(`${this.topic}.${command}`, params);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@common-stack/store-mongo/./src/dataloaders/bulk-dataloader.ts","webpack://@common-stack/store-mongo/./src/dataloaders/index.ts","webpack://@common-stack/store-mongo/./src/helpers/index.ts","webpack://@common-stack/store-mongo/./src/helpers/mongoose-connection.ts","webpack://@common-stack/store-mongo/./src/index.ts","webpack://@common-stack/store-mongo/./src/interfaces/base-repository.ts","webpack://@common-stack/store-mongo/./src/interfaces/base-service.ts","webpack://@common-stack/store-mongo/./src/interfaces/dataloaders.ts","webpack://@common-stack/store-mongo/./src/interfaces/generated-models.ts","webpack://@common-stack/store-mongo/./src/interfaces/get-all-args.ts","webpack://@common-stack/store-mongo/./src/interfaces/index.ts","webpack://@common-stack/store-mongo/./src/interfaces/mongoose-settings.ts","webpack://@common-stack/store-mongo/./src/mixins/base-service-mixin.ts","webpack://@common-stack/store-mongo/./src/mixins/index.ts","webpack://@common-stack/store-mongo/./src/services/base-proxy-service.ts","webpack://@common-stack/store-mongo/./src/services/base-service.ts","webpack://@common-stack/store-mongo/./src/services/index.ts","webpack://@common-stack/store-mongo/./src/store/index.ts","webpack://@common-stack/store-mongo/./src/store/models/common-options.ts","webpack://@common-stack/store-mongo/./src/store/models/index.ts","webpack://@common-stack/store-mongo/./src/store/repositories/base-repository.ts","webpack://@common-stack/store-mongo/./src/store/repositories/index.ts","webpack://@common-stack/store-mongo/external commonjs \"@common-stack/core\"","webpack://@common-stack/store-mongo/external commonjs \"dataloader\"","webpack://@common-stack/store-mongo/external commonjs \"inversify\"","webpack://@common-stack/store-mongo/external commonjs \"lodash\"","webpack://@common-stack/store-mongo/external commonjs \"mongoose\"","webpack://@common-stack/store-mongo/webpack/bootstrap","webpack://@common-stack/store-mongo/webpack/before-startup","webpack://@common-stack/store-mongo/webpack/startup","webpack://@common-stack/store-mongo/webpack/after-startup"],"sourcesContent":["import * as DataLoader from 'dataloader';\nimport { injectable, unmanaged } from 'inversify';\nimport { IBaseService } from '../interfaces';\n\n@injectable()\nexport class BulkDataLoader<T extends { id: string }> extends DataLoader<string, T> {\n constructor(\n @unmanaged()\n service: IBaseService<T>,\n ) {\n super(async (ids: string[]) => {\n const data = await service.getByIds(ids);\n return ids.map((id) => data.find((record) => record.id === id));\n });\n }\n}\n","export * from './bulk-dataloader';\n","export * from './mongoose-connection';\n","import * as mongoose from 'mongoose';\n\nconst generateMongo: (monoUrl) => mongoose.Connection = (mongoUrl) => {\n\n // creates default connection\n mongoose.connect(mongoUrl, {\n }).then(() => {\n console.info('mogoose connect - success');\n // console.info(`uri - ${uri}`);\n // console.info(`connectionOptions - ${connectionOptions}`);\n }).catch((err: mongoose.Error) => {\n console.error('mogoose connect - error - ', err);\n // throw err;\n process.kill(process.pid);\n });\n // to access default connection\n const mongooseConnection: mongoose.Connection = mongoose.connection;\n\n return mongooseConnection;\n};\n\n\n\nexport { generateMongo };\n","export * from './interfaces';\nexport * from './helpers';\nexport * from './services';\nexport * from './store';\nexport * from './dataloaders';\nexport * from './mixins';\n","import { FilterQuery, Document, Model, UpdateQuery } from 'mongoose';\nimport { GetAllArgs } from './get-all-args';\n\nexport enum PAGINATION_OPTIONS {\n limit = 10,\n skip = 0,\n}\n\nexport const DEFAULT_SORTING = {\n id: 'asc',\n};\n\nexport interface IBaseRepository<T, D = Document<T>> {\n model: Model<D>;\n count(conditions?: FilterQuery<D>): Promise<number>;\n getAll(options: GetAllArgs<D>): Promise<T[]>;\n get(conditions?: FilterQuery<D>, selectedFields?: string): Promise<T>;\n create<I>(data: I): Promise<T>;\n upsert<I>(conditions: FilterQuery<D>, update: I, options): Promise<T>;\n update<I>(criteria: FilterQuery<D>, update: UpdateQuery<D>, options?): Promise<T>;\n bulkUpdate<I>(criteria: FilterQuery<D>, update: UpdateQuery<D>, options?): Promise<T[]>;\n delete(criteria: FilterQuery<D>): Promise<boolean>;\n bulkGet(ids: string[], selectedFields?: string): Promise<T[]>;\n bulkCreate<I>(data: I[]): Promise<T[]>;\n bulkDelete(criteria: FilterQuery<D>): Promise<number>;\n}\n","import { FilterQuery, Document } from 'mongoose';\nimport { GetAllArgs } from './get-all-args';\n\nexport interface IBaseService<T, C = Omit<T, 'id'>, U = C> {\n count(conditions?: FilterQuery<Document<T>>): Promise<number>;\n\n get(id: string): Promise<T>;\n\n get(conditions?: string | FilterQuery<Document<T>>): Promise<T>;\n\n getAll(options?: GetAllArgs<Document<T>>): Promise<T[]>;\n\n getByIds(ids: string[]): Promise<T[]>;\n\n create(data: C): Promise<T>;\n\n insert(data: (C | U) & { id?: string }, overwrite?: boolean): Promise<T>;\n\n bulkCreate(data: C[]): Promise<T[]>;\n\n update(id: string, data: U, overwrite?: boolean): Promise<T>;\n\n delete(id: string): Promise<boolean>;\n\n delete(conditions: string | FilterQuery<Document<T>>): Promise<boolean>;\n\n getAllWithCount(options: GetAllArgs<Document<T>>): Promise<{ data: T[]; totalCount: number }>;\n}\n","import * as DataLoader from 'dataloader';\n\nexport type IDataLoader<T> = DataLoader<string, T>;\n","/* tslint:disable */\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n AnyObject: any;\n Date: any;\n DateTime: any;\n JSON: any;\n JSONObject: any;\n Observable: any;\n Time: any;\n URI: any;\n URIInput: any;\n};\n\n\nexport type IAdminIdeSettings = {\n __typename?: 'AdminIdeSettings';\n dummy?: Maybe<Scalars['Int']>;\n};\n\n\nexport enum IBaseServiceCommands {\n count = 'count',\n get = 'get',\n getAll = 'getAll',\n getByIds = 'getByIds',\n create = 'create',\n insert = 'insert',\n bulkCreate = 'bulkCreate',\n update = 'update',\n delete = 'delete',\n getAllWithCount = 'getAllWithCount'\n}\n\nexport enum ICacheControlScope {\n PUBLIC = 'PUBLIC',\n PRIVATE = 'PRIVATE'\n}\n\n\n\n/** Represents a null return value. */\nexport type IEmptyResponse = {\n __typename?: 'EmptyResponse';\n alwaysNil?: Maybe<Scalars['String']>;\n};\n\nexport type IFieldError = {\n __typename?: 'FieldError';\n field: Scalars['String'];\n message: Scalars['String'];\n};\n\n\n\n/** All Moleculer Topic names are extended from this. */\nexport enum IMoleculerServiceName {\n dummy = 'dummy'\n}\n\nexport type IMutation = {\n __typename?: 'Mutation';\n dummy?: Maybe<Scalars['Int']>;\n};\n\n/** An object with an ID. */\nexport type INode = {\n /** The ID of the node. */\n id: Scalars['ID'];\n};\n\n\nexport type IPageInfo = {\n __typename?: 'PageInfo';\n hasNextPage: Scalars['Boolean'];\n};\n\nexport type IQuery = {\n __typename?: 'Query';\n /** Looks up a node by ID. */\n node?: Maybe<INode>;\n};\n\n\nexport type IQuerynodeArgs = {\n id: Scalars['ID'];\n};\n\nexport type ISort = {\n key: Scalars['String'];\n value: ISortEnum;\n};\n\nexport enum ISortEnum {\n ASC = 'ASC',\n DESC = 'DESC'\n}\n\nexport type ISubscription = {\n __typename?: 'Subscription';\n dummy?: Maybe<Scalars['Int']>;\n};\n\n\n\n","import { FilterQuery } from 'mongoose';\nimport { ISortEnum, ISort } from './generated-models';\n\nexport interface GetAllArgs<T> {\n criteria?: FilterQuery<T>;\n sort?: ISort;\n skip?: number;\n limit?: number;\n selectedFields?: string;\n}\n","export * from './mongoose-settings';\nexport * from './get-all-args';\nexport * from './base-repository';\nexport * from './base-service';\nexport * from './dataloaders';\nexport * from './generated-models';\n","import * as mongoose from 'mongoose';\n\nexport interface IMongoDBSettings {\n mongoConnection: mongoose.Connection;\n}\nexport interface IMongoOptions {\n collectionName?: string;\n sessionCollectionName?: string;\n timestamps?: {\n createdAt: string;\n updatedAt: string;\n };\n convertUserIdToMongoObjectId?: boolean;\n convertSessionIdToMongoObjectId?: boolean;\n caseSensitiveUserName?: boolean;\n idProvider?: (() => string | Object);\n dateProvider?: (date?: Date) => any;\n}\n","import { Context, ServiceSchema } from 'moleculer';\nimport { Document, FilterQuery } from 'mongoose';\nimport { IBaseServiceCommands, GetAllArgs, IBaseService } from '../interfaces';\n\nexport const BaseServiceMixin = <T, C, U>(service: IBaseService<T, C, U>): Partial<ServiceSchema> => ({\n name: 'BaseServiceMixin',\n actions: {\n [IBaseServiceCommands.get]: {\n params: {\n id: 'string',\n },\n handler: async (ctx: Context<{ id: string }>) => service.get(ctx.params.id),\n },\n [IBaseServiceCommands.count]: {\n params: {\n criteria: { type: 'object', optional: true },\n },\n handler: async (ctx: Context<{ criteria?: FilterQuery<Document<T>> }>) =>\n service.count(ctx.params.criteria),\n },\n [IBaseServiceCommands.bulkCreate]: {\n params: {\n data: { type: 'array', items: 'object' },\n },\n handler: async (ctx: Context<{ data: never[] }>) => service.bulkCreate(ctx.params.data),\n },\n [IBaseServiceCommands.create]: {\n params: {\n data: 'object',\n },\n handler: async (ctx: Context<{ data: never }>) => service.create(ctx.params.data),\n },\n [IBaseServiceCommands.delete]: {\n params: {\n id: 'string',\n },\n handler: async (ctx: Context<{ id: string | FilterQuery<Document<T>> }>) =>\n service.delete(ctx.params.id as never),\n },\n [IBaseServiceCommands.getAll]: {\n params: {\n criteria: 'object|optional',\n sort: 'object|optional',\n skip: 'number|optional',\n limit: 'number|optional',\n selectedFields: 'string|optional',\n },\n handler: async (ctx: Context<GetAllArgs<Document<T>>>) => service.getAll(ctx.params),\n },\n [IBaseServiceCommands.getAllWithCount]: {\n params: {\n criteria: 'object|optional',\n sort: 'object|optional',\n skip: 'number|optional',\n limit: 'number|optional',\n selectedFields: 'string|optional',\n },\n handler: async (ctx: Context<GetAllArgs<Document<T>>>) => service.getAllWithCount(ctx.params),\n },\n [IBaseServiceCommands.insert]: {\n params: {\n data: 'object',\n overwrite: 'boolean|optional',\n },\n handler: async (ctx: Context<{ data: never & { id?: string }; overwrite: boolean }>) =>\n service.insert(ctx.params.data, ctx.params.overwrite),\n },\n [IBaseServiceCommands.update]: {\n params: {\n id: 'string',\n data: 'object',\n overwrite: 'boolean|optional',\n },\n handler: async (ctx: Context<{ id: string; data: never; overwrite: boolean }>) =>\n service.update(ctx.params.id, ctx.params.data, ctx.params.overwrite),\n },\n },\n});\n","export { BaseServiceMixin } from './base-service-mixin';\n","import { inject, injectable } from 'inversify';\nimport { ServiceBroker } from 'moleculer';\nimport { FilterQuery } from 'mongoose';\nimport * as Logger from 'bunyan';\nimport { CommonType } from '@common-stack/core';\nimport { IBaseServiceCommands, GetAllArgs, IBaseService } from '../interfaces';\n\ntype MethodsNames<T, C, U> = keyof IBaseService<T, C, U>;\ntype MethodResponse<T, C, U, M extends MethodsNames<T, C, U>> = ReturnType<IBaseService<T, C, U>[M]>;\n\n@injectable()\nexport abstract class BaseProxyService<T, C = T, U = T> implements IBaseService<T, C, U> {\n protected logger: Logger;\n\n protected abstract topic;\n\n constructor(\n @inject(CommonType.MOLECULER_BROKER)\n private readonly broker: ServiceBroker,\n @inject('Logger')\n logger: Logger,\n ) {\n this.logger = logger.child({ className: 'BaseProxyService' });\n }\n\n bulkCreate(data: C[]): MethodResponse<T, C, U, 'bulkCreate'> {\n return this.callAction<T[], { data: C[] }>(IBaseServiceCommands.bulkCreate, { data });\n }\n\n count(criteria?: FilterQuery<Document>): MethodResponse<T, C, U, 'count'> {\n return this.callAction(IBaseServiceCommands.count, { criteria });\n }\n\n create(data: C): MethodResponse<T, C, U, 'create'> {\n return this.callAction(IBaseServiceCommands.create, { data });\n }\n\n delete(id: string | FilterQuery<Document>): MethodResponse<T, C, U, 'delete'> {\n return this.callAction(IBaseServiceCommands.delete, { id });\n }\n\n get(id?: string | FilterQuery<Document>): MethodResponse<T, C, U, 'get'> {\n return this.callAction(IBaseServiceCommands.get, { id });\n }\n\n getAll(options?: GetAllArgs<Document>): MethodResponse<T, C, U, 'getAll'> {\n return this.callAction(IBaseServiceCommands.getAll, options);\n }\n\n getByIds(ids: string[]): Promise<T[]> {\n return this.callAction(IBaseServiceCommands.getByIds, { ids });\n }\n\n getAllWithCount(options: GetAllArgs<Document>): MethodResponse<T, C, U, 'getAllWithCount'> {\n return this.callAction(IBaseServiceCommands.getAllWithCount, options);\n }\n\n insert(data: C | U, overwrite?: boolean): MethodResponse<T, C, U, 'insert'> {\n return this.callAction(IBaseServiceCommands.insert, { data, overwrite });\n }\n\n update(id: string, data: U, overwrite?: boolean): MethodResponse<T, C, U, 'update'> {\n return this.callAction<T>(IBaseServiceCommands.update, { id, data, overwrite });\n }\n\n protected async callAction<T, P = unknown>(command: string, params?: P): Promise<T> {\n return this.broker.call<T, P>(`${this.topic}.${command}`, params);\n }\n}\n","import { Document, FilterQuery } from 'mongoose';\nimport { injectable } from 'inversify';\nimport { GetAllArgs, IBaseRepository, IBaseService } from '../interfaces';\n\n@injectable()\nexport class BaseService<T, C = Omit<T, 'id'>, U = C> implements IBaseService<T, C, U> {\n constructor(protected repository: IBaseRepository<T>) {\n this.repository = repository;\n }\n\n async getAllWithCount(options: GetAllArgs<Document<T>>): Promise<{ data: T[]; totalCount: number }> {\n const totalCount = await this.count(options.criteria);\n const data = await this.getAll(options);\n return {\n totalCount,\n data,\n };\n }\n\n count(conditions?: FilterQuery<Document<T>>): Promise<number> {\n return this.repository.count(conditions);\n }\n\n get(conditions: string | FilterQuery<Document<T>>): Promise<T> {\n if (typeof conditions === 'string') {\n return this.repository.get({ id: conditions });\n }\n return this.repository.get(conditions);\n }\n\n getName(name: string): Promise<T> {\n return this.repository.get({ name });\n }\n\n getAll(options: GetAllArgs<Document<T>>): Promise<T[]> {\n return this.repository.getAll(options);\n }\n\n getByIds(ids: string[]): Promise<T[]> {\n return this.repository.bulkGet(ids);\n }\n\n create(data: C): Promise<T> {\n return this.repository.create<C>(data);\n }\n\n bulkCreate(data: C[]): Promise<T[]> {\n return this.repository.bulkCreate<C>(data);\n }\n\n async update(id: string, data: Partial<U>, overwrite = false): Promise<T> {\n return this.repository.update<U>({ id }, data, { overwrite });\n }\n\n insert(data: (C | U) & { id?: string }, overwrite = true): Promise<T> {\n const { id, ...rest } = data;\n if (id) {\n const existing = this.repository.get({ id });\n if (existing) {\n return this.update(id, rest as U, overwrite);\n }\n }\n return this.create(rest as C);\n }\n\n delete(id: string | FilterQuery<Document<T>>): Promise<boolean> {\n if (typeof id === 'string') {\n return this.repository.delete({ id });\n }\n return this.repository.delete(id);\n }\n}\n","export * from './base-service';\nexport * from './base-proxy-service';\n","export * from './models';\nexport * from './repositories';\n","import { Schema } from 'mongoose';\n\nexport const commonModeSchemaOptions = {\n timestamps: true,\n toJSON: {\n virtuals: true,\n },\n toObject: {\n virtuals: true,\n getters: true,\n transform(doc, ret) {\n delete ret.__v;\n delete ret._id;\n },\n },\n};\n\nexport const addIdVirtualFields = (schema: Schema) => {\n schema.set('toJSON', {\n virtuals: true,\n });\n return schema;\n};\n","export * from './common-options';\n","import { isObject } from 'lodash';\nimport { logger as Logger } from '@cdm-logger/server';\nimport { Connection, Document, FilterQuery, Model, UpdateQuery } from 'mongoose';\nimport { injectable, unmanaged } from 'inversify';\nimport { GetAllArgs, IBaseRepository, IMongoOptions, DEFAULT_SORTING, PAGINATION_OPTIONS, } from '../../interfaces';\n\n@injectable()\nexport class BaseRepository<T, D = Document<T>> implements IBaseRepository<T, D> {\n private options: IMongoOptions;\n\n protected logger: typeof Logger;\n\n model: Model<D>;\n\n constructor(\n @unmanaged()\n private modelFunc: (db: Connection) => Model<D>,\n @unmanaged()\n db: Connection,\n @unmanaged()\n logger: typeof Logger,\n @unmanaged()\n options?: IMongoOptions,\n ) {\n this.model = modelFunc(db);\n this.options = options;\n this.logger = logger.child({ className: BaseRepository.name });\n }\n\n public async getAll(options: GetAllArgs<D>): Promise<T[]> {\n try {\n const { criteria, selectedFields, sort, limit, skip } = options;\n // map id to mongoose _id\n const { id, ...rest } = criteria || { id: undefined };\n const sortBy = isObject(sort) ? { [sort?.key]: sort.value } : DEFAULT_SORTING;\n const response = await this.model\n .find({ ...rest, ...(id ? { _id: id } : {}) }, selectedFields)\n .limit(limit || PAGINATION_OPTIONS.limit)\n .skip(skip || PAGINATION_OPTIONS.skip)\n .sort(sortBy as never)\n .exec();\n return response.map((i) => i?.toObject()) as T[];\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(options)}`);\n throw e;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private mapConditions(conditions: FilterQuery<D>): FilterQuery<D> {\n const { id: _id, ...remaining } = conditions;\n return {\n ...(_id ? { _id } : {}),\n ...remaining,\n };\n }\n\n public async count(conditions?: FilterQuery<D>): Promise<number> {\n return this.model.count(conditions).exec();\n }\n\n public async get(conditions?: FilterQuery<D>, selectedFields?: string): Promise<T> {\n try {\n const response = await this.model.findOne(this.mapConditions(conditions), selectedFields).exec();\n return response?.toObject() as T;\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(conditions)}`);\n throw e;\n }\n }\n\n public async bulkGet(ids: string[]): Promise<T[]> {\n try {\n const results = await this.model.find().setOptions({ batchSize: 100 }).where('_id').in(ids).exec();\n return results.map((i) => i.toObject()) as T[];\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(ids)}`);\n throw e;\n }\n }\n\n public async find(conditions: Partial<FilterQuery<D>>, selectedFields?: string): Promise<T> {\n try {\n const response = await this.model.findOne(conditions, selectedFields).exec();\n return response?.toObject() as T;\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(conditions)}`);\n throw e;\n }\n }\n\n public async create<I>(data: I): Promise<T> {\n try {\n const response = await this.model.create(data);\n return response.toObject() as T;\n } catch (e) {\n this.logger.error(`Unable to create Model with data ${JSON.stringify(data)} due to ${e?.message}`);\n throw e;\n }\n }\n\n public async bulkCreate<I>(data: I[]): Promise<T[]> {\n try {\n const response = await this.model.insertMany(data, {\n lean: true,\n ordered: true,\n });\n return response as unknown as T[];\n } catch (e) {\n this.logger.error(`Unable to bulk create due to error`, e.message);\n }\n }\n\n public async upsert<I>(conditions: FilterQuery<D>, update: I, options?: Record<string, unknown>): Promise<T> {\n return this.update<I>(conditions, update, {\n upsert: true,\n ...options,\n });\n }\n\n public async bulkUpdate<I>(\n criteria: FilterQuery<D>,\n update: UpdateQuery<D>,\n options: Record<string, unknown>,\n ): Promise<T[]> {\n try {\n const { id, ...rest } = criteria;\n const processedCriteria = id ? { _id: id, ...rest } : criteria;\n const res = await this.model.updateMany(processedCriteria, update);\n if (res) {\n const response = await this.model\n .find(processedCriteria)\n .exec();\n return response.map((i) => i?.toObject()) as T[];\n } else {\n this.logger.error(\n `Unable to Bulk Update with criteria ${JSON.stringify(criteria)} and data ${JSON.stringify(update)}`,\n );\n throw new Error('Unable to do bulk update');\n }\n\n } catch (e) {\n this.logger.error(\n `Unable to Bulk Update with criteria ${JSON.stringify(criteria)} and data ${JSON.stringify(update)}`,\n );\n throw e;\n }\n }\n\n public async update<I>(\n criteria: FilterQuery<D>,\n update: UpdateQuery<D>,\n options: Record<string, unknown>,\n ): Promise<T> {\n try {\n const { id, ...rest } = criteria;\n const processedCriteria = id ? { _id: id, ...rest } : criteria;\n const mergedOptions = {\n new: true,\n useFindAndModify: false,\n ...options,\n };\n if (id) {\n return (await this.model\n .findByIdAndUpdate(id, update as unknown as never, mergedOptions)\n .exec()) as unknown as Promise<T>;\n }\n return (await this.model\n .findOneAndUpdate(processedCriteria, update as unknown as never, mergedOptions)\n .exec()) as unknown as Promise<T>;\n } catch (e) {\n this.logger.error(\n `Unable to Update with criteria ${JSON.stringify(criteria)} and data ${JSON.stringify(update)}`,\n );\n throw e;\n }\n }\n\n public async delete(criteria: FilterQuery<D>): Promise<boolean> {\n try {\n let deleted;\n if (criteria?.id) {\n deleted = await this.model.findByIdAndDelete(criteria.id);\n } else {\n deleted = await this.model.findOneAndDelete(this.mapConditions(criteria));\n }\n return !!deleted;\n } catch (e) {\n this.logger.error(`Unable to delete the model with criteria`, criteria);\n throw e;\n }\n }\n\n public async bulkDelete(criteria: FilterQuery<D>): Promise<number> {\n try {\n const deleted = await this.model.deleteMany(this.mapConditions(criteria));\n return deleted?.deletedCount || 0;\n } catch (e) {\n this.logger.error(`Unable to delete the model with criteria`, criteria);\n throw e;\n }\n }\n \n}\n","export * from './base-repository';\n","module.exports = require(\"@common-stack/core\");","module.exports = require(\"dataloader\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");","module.exports = require(\"mongoose\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@common-stack/store-mongo/./src/dataloaders/bulk-dataloader.ts","webpack://@common-stack/store-mongo/./src/dataloaders/index.ts","webpack://@common-stack/store-mongo/./src/helpers/index.ts","webpack://@common-stack/store-mongo/./src/helpers/mongoose-connection.ts","webpack://@common-stack/store-mongo/./src/index.ts","webpack://@common-stack/store-mongo/./src/interfaces/base-repository.ts","webpack://@common-stack/store-mongo/./src/interfaces/base-service.ts","webpack://@common-stack/store-mongo/./src/interfaces/dataloaders.ts","webpack://@common-stack/store-mongo/./src/interfaces/generated-models.ts","webpack://@common-stack/store-mongo/./src/interfaces/get-all-args.ts","webpack://@common-stack/store-mongo/./src/interfaces/index.ts","webpack://@common-stack/store-mongo/./src/interfaces/mongoose-settings.ts","webpack://@common-stack/store-mongo/./src/mixins/base-service-mixin.ts","webpack://@common-stack/store-mongo/./src/mixins/index.ts","webpack://@common-stack/store-mongo/./src/services/base-proxy-service.ts","webpack://@common-stack/store-mongo/./src/services/base-service.ts","webpack://@common-stack/store-mongo/./src/services/index.ts","webpack://@common-stack/store-mongo/./src/store/index.ts","webpack://@common-stack/store-mongo/./src/store/models/common-options.ts","webpack://@common-stack/store-mongo/./src/store/models/index.ts","webpack://@common-stack/store-mongo/./src/store/repositories/base-repository.ts","webpack://@common-stack/store-mongo/./src/store/repositories/index.ts","webpack://@common-stack/store-mongo/external commonjs \"@common-stack/core\"","webpack://@common-stack/store-mongo/external commonjs \"dataloader\"","webpack://@common-stack/store-mongo/external commonjs \"inversify\"","webpack://@common-stack/store-mongo/external commonjs \"lodash\"","webpack://@common-stack/store-mongo/external commonjs \"mongoose\"","webpack://@common-stack/store-mongo/webpack/bootstrap","webpack://@common-stack/store-mongo/webpack/before-startup","webpack://@common-stack/store-mongo/webpack/startup","webpack://@common-stack/store-mongo/webpack/after-startup"],"sourcesContent":["import * as DataLoader from 'dataloader';\nimport { injectable, unmanaged } from 'inversify';\nimport { IBaseService } from '../interfaces';\n\n@injectable()\nexport class BulkDataLoader<T extends { id: string }> extends DataLoader<string, T> {\n constructor(\n @unmanaged()\n service: IBaseService<T>,\n ) {\n super(async (ids: string[]) => {\n const data = await service.getByIds(ids);\n return ids.map((id) => data.find((record) => record.id === id));\n });\n }\n}\n","export * from './bulk-dataloader';\n","export * from './mongoose-connection';\n","import * as mongoose from 'mongoose';\n\nconst generateMongo: (monoUrl) => mongoose.Connection = (mongoUrl) => {\n\n // creates default connection\n mongoose.connect(mongoUrl, {\n }).then(() => {\n console.info('mogoose connect - success');\n // console.info(`uri - ${uri}`);\n // console.info(`connectionOptions - ${connectionOptions}`);\n }).catch((err: mongoose.Error) => {\n console.error('mogoose connect - error - ', err);\n // throw err;\n process.kill(process.pid);\n });\n // to access default connection\n const mongooseConnection: mongoose.Connection = mongoose.connection;\n\n return mongooseConnection;\n};\n\n\n\nexport { generateMongo };\n","export * from './interfaces';\nexport * from './helpers';\nexport * from './services';\nexport * from './store';\nexport * from './dataloaders';\nexport * from './mixins';\n","import { FilterQuery, Document, Model, UpdateQuery } from 'mongoose';\nimport { GetAllArgs } from './get-all-args';\n\nexport enum PAGINATION_OPTIONS {\n limit = 10,\n skip = 0,\n}\n\nexport const DEFAULT_SORTING = {\n id: 'asc',\n};\n\nexport interface IBaseRepository<T, D = Document<T>> {\n model: Model<D>;\n count(conditions?: FilterQuery<D>): Promise<number>;\n getAll(options: GetAllArgs<D>): Promise<T[]>;\n get(conditions?: FilterQuery<D>, selectedFields?: string): Promise<T>;\n create<I>(data: I): Promise<T>;\n upsert<I>(conditions: FilterQuery<D>, update: I, options): Promise<T>;\n update<I>(criteria: FilterQuery<D>, update: UpdateQuery<D>, options?): Promise<T>;\n bulkUpdate<I>(criteria: FilterQuery<D>, update: UpdateQuery<D>, options?): Promise<T[]>;\n delete(criteria: FilterQuery<D>): Promise<boolean>;\n bulkGet(ids: string[], selectedFields?: string): Promise<T[]>;\n bulkCreate<I>(data: I[]): Promise<T[]>;\n bulkDelete(criteria: FilterQuery<D>): Promise<number>;\n}\n","import { FilterQuery, Document } from 'mongoose';\nimport { GetAllArgs } from './get-all-args';\n\nexport interface IBaseService<T, C = Omit<T, 'id'>, U = C> {\n count(conditions?: FilterQuery<Document<T>>): Promise<number>;\n\n get(id: string): Promise<T>;\n\n get(conditions?: string | FilterQuery<Document<T>>): Promise<T>;\n\n getAll(options?: GetAllArgs<Document<T>>): Promise<T[]>;\n\n getByIds(ids: string[]): Promise<T[]>;\n\n create(data: C): Promise<T>;\n\n insert(data: (C | U) & { id?: string }, overwrite?: boolean): Promise<T>;\n\n bulkCreate(data: C[]): Promise<T[]>;\n\n update(id: string, data: U, overwrite?: boolean): Promise<T>;\n\n delete(id: string): Promise<boolean>;\n\n delete(conditions: string | FilterQuery<Document<T>>): Promise<boolean>;\n\n getAllWithCount(options: GetAllArgs<Document<T>>): Promise<{ data: T[]; totalCount: number }>;\n}\n","import * as DataLoader from 'dataloader';\n\nexport type IDataLoader<T> = DataLoader<string, T>;\n","/* tslint:disable */\nexport type Maybe<T> = T | null;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n AnyObject: any;\n Date: any;\n DateTime: any;\n JSON: any;\n JSONObject: any;\n Observable: any;\n Time: any;\n URI: any;\n URIInput: any;\n};\n\n\nexport type IAdminIdeSettings = {\n __typename?: 'AdminIdeSettings';\n dummy?: Maybe<Scalars['Int']>;\n};\n\n\nexport enum IBaseServiceCommands {\n Count = 'count',\n Get = 'get',\n GetAll = 'getAll',\n GetByIds = 'getByIds',\n Create = 'create',\n Insert = 'insert',\n BulkCreate = 'bulkCreate',\n Update = 'update',\n Delete = 'delete',\n GetAllWithCount = 'getAllWithCount'\n}\n\nexport enum ICacheControlScope {\n Public = 'PUBLIC',\n Private = 'PRIVATE'\n}\n\n\n\n/** Represents a null return value. */\nexport type IEmptyResponse = {\n __typename?: 'EmptyResponse';\n alwaysNil?: Maybe<Scalars['String']>;\n};\n\nexport type IFieldError = {\n __typename?: 'FieldError';\n field: Scalars['String'];\n message: Scalars['String'];\n};\n\n\n\n/** All Moleculer Topic names are extended from this. */\nexport enum IMoleculerServiceName {\n Dummy = 'dummy'\n}\n\nexport type IMutation = {\n __typename?: 'Mutation';\n dummy?: Maybe<Scalars['Int']>;\n};\n\n/** An object with an ID. */\nexport type INode = {\n /** The ID of the node. */\n id: Scalars['ID'];\n};\n\n\nexport type IPageInfo = {\n __typename?: 'PageInfo';\n hasNextPage: Scalars['Boolean'];\n};\n\nexport type IQuery = {\n __typename?: 'Query';\n /** Looks up a node by ID. */\n node?: Maybe<INode>;\n};\n\n\nexport type IQueryNodeArgs = {\n id: Scalars['ID'];\n};\n\nexport type ISort = {\n key: Scalars['String'];\n value: ISortEnum;\n};\n\nexport enum ISortEnum {\n Asc = 'ASC',\n Desc = 'DESC'\n}\n\nexport type ISubscription = {\n __typename?: 'Subscription';\n dummy?: Maybe<Scalars['Int']>;\n};\n\n\n\n","import { FilterQuery } from 'mongoose';\nimport { ISortEnum, ISort } from './generated-models';\n\nexport interface GetAllArgs<T> {\n criteria?: FilterQuery<T>;\n sort?: ISort;\n skip?: number;\n limit?: number;\n selectedFields?: string;\n}\n","export * from './mongoose-settings';\nexport * from './get-all-args';\nexport * from './base-repository';\nexport * from './base-service';\nexport * from './dataloaders';\nexport * from './generated-models';\n","import * as mongoose from 'mongoose';\n\nexport interface IMongoDBSettings {\n mongoConnection: mongoose.Connection;\n}\nexport interface IMongoOptions {\n collectionName?: string;\n sessionCollectionName?: string;\n timestamps?: {\n createdAt: string;\n updatedAt: string;\n };\n convertUserIdToMongoObjectId?: boolean;\n convertSessionIdToMongoObjectId?: boolean;\n caseSensitiveUserName?: boolean;\n idProvider?: (() => string | Object);\n dateProvider?: (date?: Date) => any;\n}\n","import { Context, ServiceSchema } from 'moleculer';\nimport { Document, FilterQuery } from 'mongoose';\nimport { IBaseServiceCommands, GetAllArgs, IBaseService } from '../interfaces';\n\nexport const BaseServiceMixin = <T, C, U>(service: IBaseService<T, C, U>): Partial<ServiceSchema> => ({\n name: 'BaseServiceMixin',\n actions: {\n [IBaseServiceCommands.Get]: {\n params: {\n id: 'string',\n },\n handler: async (ctx: Context<{ id: string }>) => service.get(ctx.params.id),\n },\n [IBaseServiceCommands.Count]: {\n params: {\n criteria: { type: 'object', optional: true },\n },\n handler: async (ctx: Context<{ criteria?: FilterQuery<Document<T>> }>) =>\n service.count(ctx.params.criteria),\n },\n [IBaseServiceCommands.BulkCreate]: {\n params: {\n data: { type: 'array', items: 'object' },\n },\n handler: async (ctx: Context<{ data: never[] }>) => service.bulkCreate(ctx.params.data),\n },\n [IBaseServiceCommands.Create]: {\n params: {\n data: 'object',\n },\n handler: async (ctx: Context<{ data: never }>) => service.create(ctx.params.data),\n },\n [IBaseServiceCommands.Delete]: {\n params: {\n id: 'string',\n },\n handler: async (ctx: Context<{ id: string | FilterQuery<Document<T>> }>) =>\n service.delete(ctx.params.id as never),\n },\n [IBaseServiceCommands.GetAll]: {\n params: {\n criteria: 'object|optional',\n sort: 'object|optional',\n skip: 'number|optional',\n limit: 'number|optional',\n selectedFields: 'string|optional',\n },\n handler: async (ctx: Context<GetAllArgs<Document<T>>>) => service.getAll(ctx.params),\n },\n [IBaseServiceCommands.GetAllWithCount]: {\n params: {\n criteria: 'object|optional',\n sort: 'object|optional',\n skip: 'number|optional',\n limit: 'number|optional',\n selectedFields: 'string|optional',\n },\n handler: async (ctx: Context<GetAllArgs<Document<T>>>) => service.getAllWithCount(ctx.params),\n },\n [IBaseServiceCommands.Insert]: {\n params: {\n data: 'object',\n overwrite: 'boolean|optional',\n },\n handler: async (ctx: Context<{ data: never & { id?: string }; overwrite: boolean }>) =>\n service.insert(ctx.params.data, ctx.params.overwrite),\n },\n [IBaseServiceCommands.Update]: {\n params: {\n id: 'string',\n data: 'object',\n overwrite: 'boolean|optional',\n },\n handler: async (ctx: Context<{ id: string; data: never; overwrite: boolean }>) =>\n service.update(ctx.params.id, ctx.params.data, ctx.params.overwrite),\n },\n },\n});\n","export { BaseServiceMixin } from './base-service-mixin';\n","import { inject, injectable } from 'inversify';\nimport { ServiceBroker } from 'moleculer';\nimport { FilterQuery } from 'mongoose';\nimport * as Logger from 'bunyan';\nimport { CommonType } from '@common-stack/core';\nimport { IBaseServiceCommands, GetAllArgs, IBaseService } from '../interfaces';\n\ntype MethodsNames<T, C, U> = keyof IBaseService<T, C, U>;\ntype MethodResponse<T, C, U, M extends MethodsNames<T, C, U>> = ReturnType<IBaseService<T, C, U>[M]>;\n\n@injectable()\nexport abstract class BaseProxyService<T, C = T, U = T> implements IBaseService<T, C, U> {\n protected logger: Logger;\n\n protected abstract topic;\n\n constructor(\n @inject(CommonType.MOLECULER_BROKER)\n private readonly broker: ServiceBroker,\n @inject('Logger')\n logger: Logger,\n ) {\n this.logger = logger.child({ className: 'BaseProxyService' });\n }\n\n bulkCreate(data: C[]): MethodResponse<T, C, U, 'bulkCreate'> {\n return this.callAction<T[], { data: C[] }>(IBaseServiceCommands.BulkCreate, { data });\n }\n\n count(criteria?: FilterQuery<Document>): MethodResponse<T, C, U, 'count'> {\n return this.callAction(IBaseServiceCommands.Count, { criteria });\n }\n\n create(data: C): MethodResponse<T, C, U, 'create'> {\n return this.callAction(IBaseServiceCommands.Create, { data });\n }\n\n delete(id: string | FilterQuery<Document>): MethodResponse<T, C, U, 'delete'> {\n return this.callAction(IBaseServiceCommands.Delete, { id });\n }\n\n get(id?: string | FilterQuery<Document>): MethodResponse<T, C, U, 'get'> {\n return this.callAction(IBaseServiceCommands.Get, { id });\n }\n\n getAll(options?: GetAllArgs<Document>): MethodResponse<T, C, U, 'getAll'> {\n return this.callAction(IBaseServiceCommands.GetAll, options);\n }\n\n getByIds(ids: string[]): Promise<T[]> {\n return this.callAction(IBaseServiceCommands.GetByIds, { ids });\n }\n\n getAllWithCount(options: GetAllArgs<Document>): MethodResponse<T, C, U, 'getAllWithCount'> {\n return this.callAction(IBaseServiceCommands.GetAllWithCount, options);\n }\n\n insert(data: C | U, overwrite?: boolean): MethodResponse<T, C, U, 'insert'> {\n return this.callAction(IBaseServiceCommands.Insert, { data, overwrite });\n }\n\n update(id: string, data: U, overwrite?: boolean): MethodResponse<T, C, U, 'update'> {\n return this.callAction<T>(IBaseServiceCommands.Update, { id, data, overwrite });\n }\n\n protected async callAction<T, P = unknown>(command: string, params?: P): Promise<T> {\n return this.broker.call<T, P>(`${this.topic}.${command}`, params);\n }\n}\n","import { Document, FilterQuery } from 'mongoose';\nimport { injectable } from 'inversify';\nimport { GetAllArgs, IBaseRepository, IBaseService } from '../interfaces';\n\n@injectable()\nexport class BaseService<T, C = Omit<T, 'id'>, U = C> implements IBaseService<T, C, U> {\n constructor(protected repository: IBaseRepository<T>) {\n this.repository = repository;\n }\n\n async getAllWithCount(options: GetAllArgs<Document<T>>): Promise<{ data: T[]; totalCount: number }> {\n const totalCount = await this.count(options.criteria);\n const data = await this.getAll(options);\n return {\n totalCount,\n data,\n };\n }\n\n count(conditions?: FilterQuery<Document<T>>): Promise<number> {\n return this.repository.count(conditions);\n }\n\n get(conditions: string | FilterQuery<Document<T>>): Promise<T> {\n if (typeof conditions === 'string') {\n return this.repository.get({ id: conditions });\n }\n return this.repository.get(conditions);\n }\n\n getName(name: string): Promise<T> {\n return this.repository.get({ name });\n }\n\n getAll(options: GetAllArgs<Document<T>>): Promise<T[]> {\n return this.repository.getAll(options);\n }\n\n getByIds(ids: string[]): Promise<T[]> {\n return this.repository.bulkGet(ids);\n }\n\n create(data: C): Promise<T> {\n return this.repository.create<C>(data);\n }\n\n bulkCreate(data: C[]): Promise<T[]> {\n return this.repository.bulkCreate<C>(data);\n }\n\n async update(id: string, data: Partial<U>, overwrite = false): Promise<T> {\n return this.repository.update<U>({ id }, data, { overwrite });\n }\n\n insert(data: (C | U) & { id?: string }, overwrite = true): Promise<T> {\n const { id, ...rest } = data;\n if (id) {\n const existing = this.repository.get({ id });\n if (existing) {\n return this.update(id, rest as U, overwrite);\n }\n }\n return this.create(rest as C);\n }\n\n delete(id: string | FilterQuery<Document<T>>): Promise<boolean> {\n if (typeof id === 'string') {\n return this.repository.delete({ id });\n }\n return this.repository.delete(id);\n }\n}\n","export * from './base-service';\nexport * from './base-proxy-service';\n","export * from './models';\nexport * from './repositories';\n","import { Schema } from 'mongoose';\n\nexport const commonModeSchemaOptions = {\n timestamps: true,\n toJSON: {\n virtuals: true,\n },\n toObject: {\n virtuals: true,\n getters: true,\n transform(doc, ret) {\n delete ret.__v;\n delete ret._id;\n },\n },\n};\n\nexport const addIdVirtualFields = (schema: Schema) => {\n schema.set('toJSON', {\n virtuals: true,\n });\n return schema;\n};\n","export * from './common-options';\n","import { isObject } from 'lodash';\nimport { logger as Logger } from '@cdm-logger/server';\nimport { Connection, Document, FilterQuery, Model, UpdateQuery } from 'mongoose';\nimport { injectable, unmanaged } from 'inversify';\nimport { GetAllArgs, IBaseRepository, IMongoOptions, DEFAULT_SORTING, PAGINATION_OPTIONS, } from '../../interfaces';\n\n@injectable()\nexport class BaseRepository<T, D = Document<T>> implements IBaseRepository<T, D> {\n private options: IMongoOptions;\n\n protected logger: typeof Logger;\n\n model: Model<D>;\n\n constructor(\n @unmanaged()\n private modelFunc: (db: Connection) => Model<D>,\n @unmanaged()\n db: Connection,\n @unmanaged()\n logger: typeof Logger,\n @unmanaged()\n options?: IMongoOptions,\n ) {\n this.model = modelFunc(db);\n this.options = options;\n this.logger = logger.child({ className: BaseRepository.name });\n }\n\n public async getAll(options: GetAllArgs<D>): Promise<T[]> {\n try {\n const { criteria, selectedFields, sort, limit, skip } = options;\n // map id to mongoose _id\n const { id, ...rest } = criteria || { id: undefined };\n const sortBy = isObject(sort) ? { [sort?.key]: sort.value } : DEFAULT_SORTING;\n const response = await this.model\n .find({ ...rest, ...(id ? { _id: id } : {}) }, selectedFields)\n .limit(limit || PAGINATION_OPTIONS.limit)\n .skip(skip || PAGINATION_OPTIONS.skip)\n .sort(sortBy as never)\n .exec();\n return response.map((i) => i?.toObject()) as T[];\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(options)}`);\n throw e;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private mapConditions(conditions: FilterQuery<D>): FilterQuery<D> {\n const { id: _id, ...remaining } = conditions;\n return {\n ...(_id ? { _id } : {}),\n ...remaining,\n };\n }\n\n public async count(conditions?: FilterQuery<D>): Promise<number> {\n return this.model.count(conditions).exec();\n }\n\n public async get(conditions?: FilterQuery<D>, selectedFields?: string): Promise<T> {\n try {\n const response = await this.model.findOne(this.mapConditions(conditions), selectedFields).exec();\n return response?.toObject() as T;\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(conditions)}`);\n throw e;\n }\n }\n\n public async bulkGet(ids: string[]): Promise<T[]> {\n try {\n const results = await this.model.find().setOptions({ batchSize: 100 }).where('_id').in(ids).exec();\n return results.map((i) => i.toObject()) as T[];\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(ids)}`);\n throw e;\n }\n }\n\n public async find(conditions: Partial<FilterQuery<D>>, selectedFields?: string): Promise<T> {\n try {\n const response = await this.model.findOne(conditions, selectedFields).exec();\n return response?.toObject() as T;\n } catch (e) {\n this.logger.error(`Unable to retrieve Model with criteria ${JSON.stringify(conditions)}`);\n throw e;\n }\n }\n\n public async create<I>(data: I): Promise<T> {\n try {\n const response = await this.model.create(data);\n return response.toObject() as T;\n } catch (e) {\n this.logger.error(`Unable to create Model with data ${JSON.stringify(data)} due to ${e?.message}`);\n throw e;\n }\n }\n\n public async bulkCreate<I>(data: I[]): Promise<T[]> {\n try {\n const response = await this.model.insertMany(data, {\n lean: true,\n ordered: true,\n });\n return response as unknown as T[];\n } catch (e) {\n this.logger.error(`Unable to bulk create due to error`, e.message);\n }\n }\n\n public async upsert<I>(conditions: FilterQuery<D>, update: I, options?: Record<string, unknown>): Promise<T> {\n return this.update<I>(conditions, update, {\n upsert: true,\n ...options,\n });\n }\n\n public async bulkUpdate<I>(\n criteria: FilterQuery<D>,\n update: UpdateQuery<D>,\n options: Record<string, unknown>,\n ): Promise<T[]> {\n try {\n const { id, ...rest } = criteria;\n const processedCriteria = id ? { _id: id, ...rest } : criteria;\n const res = await this.model.updateMany(processedCriteria, update);\n if (res) {\n const response = await this.model\n .find(processedCriteria)\n .exec();\n return response.map((i) => i?.toObject()) as T[];\n } else {\n this.logger.error(\n `Unable to Bulk Update with criteria ${JSON.stringify(criteria)} and data ${JSON.stringify(update)}`,\n );\n throw new Error('Unable to do bulk update');\n }\n\n } catch (e) {\n this.logger.error(\n `Unable to Bulk Update with criteria ${JSON.stringify(criteria)} and data ${JSON.stringify(update)}`,\n );\n throw e;\n }\n }\n\n public async update<I>(\n criteria: FilterQuery<D>,\n update: UpdateQuery<D>,\n options: Record<string, unknown>,\n ): Promise<T> {\n try {\n const { id, ...rest } = criteria;\n const processedCriteria = id ? { _id: id, ...rest } : criteria;\n const mergedOptions = {\n new: true,\n useFindAndModify: false,\n ...options,\n };\n if (id) {\n return (await this.model\n .findByIdAndUpdate(id, update as unknown as never, mergedOptions)\n .exec()) as unknown as Promise<T>;\n }\n return (await this.model\n .findOneAndUpdate(processedCriteria, update as unknown as never, mergedOptions)\n .exec()) as unknown as Promise<T>;\n } catch (e) {\n this.logger.error(\n `Unable to Update with criteria ${JSON.stringify(criteria)} and data ${JSON.stringify(update)}`,\n );\n throw e;\n }\n }\n\n public async delete(criteria: FilterQuery<D>): Promise<boolean> {\n try {\n let deleted;\n if (criteria?.id) {\n deleted = await this.model.findByIdAndDelete(criteria.id);\n } else {\n deleted = await this.model.findOneAndDelete(this.mapConditions(criteria));\n }\n return !!deleted;\n } catch (e) {\n this.logger.error(`Unable to delete the model with criteria`, criteria);\n throw e;\n }\n }\n\n public async bulkDelete(criteria: FilterQuery<D>): Promise<number> {\n try {\n const deleted = await this.model.deleteMany(this.mapConditions(criteria));\n return deleted?.deletedCount || 0;\n } catch (e) {\n this.logger.error(`Unable to delete the model with criteria`, criteria);\n throw e;\n }\n }\n \n}\n","export * from './base-repository';\n","module.exports = require(\"@common-stack/core\");","module.exports = require(\"dataloader\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");","module.exports = require(\"mongoose\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
@@ -32,20 +32,20 @@ export declare type IAdminIdeSettings = {
32
32
  dummy?: Maybe<Scalars['Int']>;
33
33
  };
34
34
  export declare enum IBaseServiceCommands {
35
- count = "count",
36
- get = "get",
37
- getAll = "getAll",
38
- getByIds = "getByIds",
39
- create = "create",
40
- insert = "insert",
41
- bulkCreate = "bulkCreate",
42
- update = "update",
43
- delete = "delete",
44
- getAllWithCount = "getAllWithCount"
35
+ Count = "count",
36
+ Get = "get",
37
+ GetAll = "getAll",
38
+ GetByIds = "getByIds",
39
+ Create = "create",
40
+ Insert = "insert",
41
+ BulkCreate = "bulkCreate",
42
+ Update = "update",
43
+ Delete = "delete",
44
+ GetAllWithCount = "getAllWithCount"
45
45
  }
46
46
  export declare enum ICacheControlScope {
47
- PUBLIC = "PUBLIC",
48
- PRIVATE = "PRIVATE"
47
+ Public = "PUBLIC",
48
+ Private = "PRIVATE"
49
49
  }
50
50
  /** Represents a null return value. */
51
51
  export declare type IEmptyResponse = {
@@ -59,7 +59,7 @@ export declare type IFieldError = {
59
59
  };
60
60
  /** All Moleculer Topic names are extended from this. */
61
61
  export declare enum IMoleculerServiceName {
62
- dummy = "dummy"
62
+ Dummy = "dummy"
63
63
  }
64
64
  export declare type IMutation = {
65
65
  __typename?: 'Mutation';
@@ -79,7 +79,7 @@ export declare type IQuery = {
79
79
  /** Looks up a node by ID. */
80
80
  node?: Maybe<INode>;
81
81
  };
82
- export declare type IQuerynodeArgs = {
82
+ export declare type IQueryNodeArgs = {
83
83
  id: Scalars['ID'];
84
84
  };
85
85
  export declare type ISort = {
@@ -87,8 +87,8 @@ export declare type ISort = {
87
87
  value: ISortEnum;
88
88
  };
89
89
  export declare enum ISortEnum {
90
- ASC = "ASC",
91
- DESC = "DESC"
90
+ Asc = "ASC",
91
+ Desc = "DESC"
92
92
  }
93
93
  export declare type ISubscription = {
94
94
  __typename?: 'Subscription';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/store-mongo",
3
- "version": "0.4.1",
3
+ "version": "0.5.1-alpha.1",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -19,7 +19,7 @@
19
19
  "watch": "npm run build:lib:watch"
20
20
  },
21
21
  "dependencies": {
22
- "@common-stack/core": "0.4.1"
22
+ "@common-stack/core": "0.5.1-alpha.1"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "dataloader": ">=2.0.0",
@@ -31,5 +31,5 @@
31
31
  "typescript": {
32
32
  "definition": "lib/index.d.ts"
33
33
  },
34
- "gitHead": "1a36a13aa4bb8151460b3b1c636e7cd29852be5d"
34
+ "gitHead": "5f35d014b754967f8fcd12a22435bb570ce93025"
35
35
  }