@gooddaydev/common 1.0.4 → 1.0.8

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/README.md CHANGED
@@ -1 +1 @@
1
- # common
1
+ # common
package/dist/index.cjs CHANGED
@@ -1,11 +1,13 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.3
2
+ * @gooddaydev/common v1.0.8
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
7
  'use strict';
8
8
 
9
+ Object.defineProperty(exports, '__esModule', { value: true });
10
+
9
11
  /******************************************************************************
10
12
  Copyright (c) Microsoft Corporation.
11
13
 
@@ -20,8 +22,6 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20
22
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21
23
  PERFORMANCE OF THIS SOFTWARE.
22
24
  ***************************************************************************** */
23
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
24
-
25
25
 
26
26
  function __awaiter(thisArg, _arguments, P, generator) {
27
27
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: {\n column: string;\n state: 'asc' | 'desc';\n };\n filter: Record<string, unknown>;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: Record<string, unknown>,\n options: {\n page: number;\n limit: number;\n sort: Record<string, 'asc' | 'desc'>;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: Record<string, unknown>): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: Record<string, unknown>): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n"],"names":["UserType"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.3
2
+ * @gooddaydev/common v1.0.8
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -18,8 +18,6 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
18
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
19
  PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
22
-
23
21
 
24
22
  function __awaiter(thisArg, _arguments, P, generator) {
25
23
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: {\n column: string;\n state: 'asc' | 'desc';\n };\n filter: Record<string, unknown>;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: Record<string, unknown>,\n options: {\n page: number;\n limit: number;\n sort: Record<string, 'asc' | 'desc'>;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: Record<string, unknown>): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: Record<string, unknown>): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,11 +1,13 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.3
2
+ * @gooddaydev/common v1.0.8
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
7
  'use strict';
8
8
 
9
+ Object.defineProperty(exports, '__esModule', { value: true });
10
+
9
11
  /******************************************************************************
10
12
  Copyright (c) Microsoft Corporation.
11
13
 
@@ -20,8 +22,6 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20
22
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21
23
  PERFORMANCE OF THIS SOFTWARE.
22
24
  ***************************************************************************** */
23
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
24
-
25
25
 
26
26
  function __awaiter(thisArg, _arguments, P, generator) {
27
27
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAA,WAAA,kBAAA,YAAA;AACE,IAAA,SAAA,WAAA,CAA6B,KAA4C,EAAA;QAA5C,IAAK,CAAA,KAAA,GAAL,KAAK;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;IAGd,WAAK,CAAA,SAAA,CAAA,KAAA,GAAX,UAAY,KAAoB,EAAA;;;;;;;AACxB,wBAAA,IAAI,IAAK,EAAA,GAAA,EAAA,EAAA,EAAA,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAG,GAAA,KAAK,CAAC,MAAM,CAAC,KAAK,KAAE;wBAEnD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;gCAC7C,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,gCAAA,IAAI,EAAE,IAAI;gCACV,IAAI,EAAE,KAAK,CAAC,IAAI;AACjB,6BAAA,CAAC,CAAA;AALF,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAKL,CAAC;;;;AACJ,KAAA;IAEK,WAAM,CAAA,SAAA,CAAA,MAAA,GAAZ,UAAa,IAA6B,EAAA;;;;4BACjC,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAApC,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA6B,CAAC;;;;AACtC,KAAA;AAEK,IAAA,WAAA,CAAA,SAAA,CAAA,IAAI,GAAV,UACE,MAAW,EACX,UAA8B,EAC9B,OAAyB,EAAA;;;;AAElB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAAzD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAkD,CAAC;;;;AAC3D,KAAA;AAEK,IAAA,WAAA,CAAA,SAAA,CAAA,OAAO,GAAb,UACE,MAAW,EACX,UAA8B,EAC9B,OAAyB,EAAA;;;;AAElB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAA5D,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAqD,CAAC;;;;AAC9D,KAAA;AAEK,IAAA,WAAA,CAAA,SAAA,CAAA,QAAQ,GAAd,UACE,EAAqB,EACrB,UAA8B,EAC9B,OAAyB,EAAA;;;;AAElB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAAzD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAkD,CAAC;;;;AAC3D,KAAA;AAEK,IAAA,WAAA,CAAA,SAAA,CAAA,SAAS,GAAf,UACE,IAAS,EACT,GAAmB,EACnB,OAAyB,EAAA;;;;AAEjB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,OAAyB,CAAC,CAAA;4BAAxE,OAAO,CAAA,CAAA,aAAA,CAAC,SAAgE;AACrE,6BAAA,YAAY,CAAC;;;;AACjB,KAAA;AAEK,IAAA,WAAA,CAAA,SAAA,CAAA,UAAU,GAAhB,UACE,IAAS,EACT,GAAmB,EACnB,OAAyB,EAAA;;;;AAEjB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,OAAyB,CAAC,CAAA;4BAAzE,OAAO,CAAA,CAAA,aAAA,CAAC,SAAiE;AACtE,6BAAA,aAAa,CAAC;;;;AAClB,KAAA;IAEK,WAAS,CAAA,SAAA,CAAA,SAAA,GAAf,UAAgB,IAAS,EAAA;;;;4BACf,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAAxC,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,CAAC,EAAA,CAAA,IAAA,EAAgC,EAAE,YAAY,CAAC;;;;AACxD,KAAA;IAEK,WAAU,CAAA,SAAA,CAAA,UAAA,GAAhB,UAAiB,IAAS,EAAA;;;;4BAChB,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAAzC,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,CAAC,EAAA,CAAA,IAAA,EAAiC,EAAE,YAAY,CAAC;;;;AACzD,KAAA;IACH,OAAC,WAAA;AAAD,CAAC,EAAA;;ACnGWA;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAHWA,gBAAQ,KAARA,gBAAQ,GAGnB,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: {\n column: string;\n state: 'asc' | 'desc';\n };\n filter: Record<string, unknown>;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: Record<string, unknown>,\n options: {\n page: number;\n limit: number;\n sort: Record<string, 'asc' | 'desc'>;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: Record<string, unknown>): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: Record<string, unknown>): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n"],"names":["UserType"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.3
2
+ * @gooddaydev/common v1.0.8
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -18,8 +18,6 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
18
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
19
  PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
22
-
23
21
 
24
22
  function __awaiter(thisArg, _arguments, P, generator) {
25
23
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: {\n column: string;\n state: 'asc' | 'desc';\n };\n filter: Record<string, unknown>;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: Record<string, unknown>,\n options: {\n page: number;\n limit: number;\n sort: Record<string, 'asc' | 'desc'>;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: Record<string, unknown>): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: Record<string, unknown>): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n"],"names":[],"mappings":"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"}
package/dist/index.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.3
2
+ * @gooddaydev/common v1.0.8
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -24,8 +24,6 @@
24
24
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25
25
  PERFORMANCE OF THIS SOFTWARE.
26
26
  ***************************************************************************** */
27
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
28
-
29
27
 
30
28
  function __awaiter(thisArg, _arguments, P, generator) {
31
29
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -187,5 +185,7 @@
187
185
 
188
186
  exports.BaseService = BaseService;
189
187
 
188
+ Object.defineProperty(exports, '__esModule', { value: true });
189
+
190
190
  }));
191
191
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: {\n column: string;\n state: 'asc' | 'desc';\n };\n filter: Record<string, unknown>;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: Record<string, unknown>,\n options: {\n page: number;\n limit: number;\n sort: Record<string, 'asc' | 'desc'>;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: Record<string, unknown>): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: Record<string, unknown>): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n"],"names":["UserType"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.3
2
+ * @gooddaydev/common v1.0.8
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
6
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["[libraryCamelCaseName]"]={})}(this,(function(e){"use strict";function t(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(u,s)}c((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}"function"==typeof SuppressedError&&SuppressedError;var r,o=function(){function e(e){this.model=e,this.model=e}return e.prototype.index=function(e){return t(this,void 0,void 0,(function(){var t,r;return n(this,(function(n){switch(n.label){case 0:return(r={})[e.sorter.column]=e.sorter.state,t=r,[4,this.model.paginate(e.filter,{page:e.page,limit:e.limit,sort:t,lean:e.lean})];case 1:return[2,n.sent()]}}))}))},e.prototype.create=function(e){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.create(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.find=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.find(e,r,o)];case 1:return[2,t.sent()]}}))}))},e.prototype.findOne=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.findOne(e,r,o)];case 1:return[2,t.sent()]}}))}))},e.prototype.findById=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.findById(e,r,o)];case 1:return[2,t.sent()]}}))}))},e.prototype.updateOne=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.updateOne(e,r,o)];case 1:return[2,t.sent().acknowledged]}}))}))},e.prototype.updateMany=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.updateMany(e,r,o)];case 1:return[2,t.sent().modifiedCount]}}))}))},e.prototype.deleteOne=function(e){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.deleteOne(e)];case 1:return[2,t.sent().acknowledged]}}))}))},e.prototype.deleteMany=function(e){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.deleteMany(e)];case 1:return[2,t.sent().deletedCount]}}))}))},e}();e.UserType=void 0,(r=e.UserType||(e.UserType={})).ADMIN="admin",r.USER="user",e.BaseService=o}));
6
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["[libraryCamelCaseName]"]={})}(this,(function(e){"use strict";function t(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(u,s)}c((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=s(0),u.throw=s(1),u.return=s(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;u&&(u=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}"function"==typeof SuppressedError&&SuppressedError;var r,o=function(){function e(e){this.model=e,this.model=e}return e.prototype.index=function(e){return t(this,void 0,void 0,(function(){var t,r;return n(this,(function(n){switch(n.label){case 0:return(r={})[e.sorter.column]=e.sorter.state,t=r,[4,this.model.paginate(e.filter,{page:e.page,limit:e.limit,sort:t,lean:e.lean})];case 1:return[2,n.sent()]}}))}))},e.prototype.create=function(e){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.create(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.find=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.find(e,r,o)];case 1:return[2,t.sent()]}}))}))},e.prototype.findOne=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.findOne(e,r,o)];case 1:return[2,t.sent()]}}))}))},e.prototype.findById=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.findById(e,r,o)];case 1:return[2,t.sent()]}}))}))},e.prototype.updateOne=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.updateOne(e,r,o)];case 1:return[2,t.sent().acknowledged]}}))}))},e.prototype.updateMany=function(e,r,o){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.updateMany(e,r,o)];case 1:return[2,t.sent().modifiedCount]}}))}))},e.prototype.deleteOne=function(e){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.deleteOne(e)];case 1:return[2,t.sent().acknowledged]}}))}))},e.prototype.deleteMany=function(e){return t(this,void 0,void 0,(function(){return n(this,(function(t){switch(t.label){case 0:return[4,this.model.deleteMany(e)];case 1:return[2,t.sent().deletedCount]}}))}))},e}();e.UserType=void 0,(r=e.UserType||(e.UserType={})).ADMIN="admin",r.USER="user",e.BaseService=o,Object.defineProperty(e,"__esModule",{value:!0})}));
7
7
  //# sourceMappingURL=index.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.min.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType","BaseService","model","this","prototype","index","query","_a","sorter","column","state","sort","paginate","filter","page","limit","lean","_b","create","data","find","projection","options","findOne","findById","id","updateOne","args","set","acknowledged","updateMany","modifiedCount","deleteOne","sent","deleteMany","deletedCount"],"mappings":";;;;;8tDA8BA,IC9BYA,ED8BZC,EAAA,WACE,SAAAA,EAA6BC,GAAAC,KAAKD,MAALA,EAC3BC,KAAKD,MAAQA,EAmEjB,OAhEQD,EAAKG,UAAAC,MAAX,SAAYC,qGAGH,OAFQC,EAAA,IAACD,EAAME,OAAOC,QAASH,EAAME,OAAOE,MAA7CC,IAEO,CAAA,EAAAR,KAAKD,MAAMU,SAASN,EAAMO,OAAQ,CAC7CC,KAAMR,EAAMQ,KACZC,MAAOT,EAAMS,MACbJ,KAAMA,EACNK,KAAMV,EAAMU,QAJd,KAAA,EAAA,MAAA,CAAA,EAAOC,gBAMR,EAEKhB,EAAMG,UAAAc,OAAZ,SAAaC,6FACJ,MAAM,CAAA,EAAAhB,KAAKD,MAAMgB,OAAOC,IAA/B,KAAA,EAAA,MAAA,CAAA,EAAOZ,gBACR,EAEKN,EAAAG,UAAAgB,KAAN,SACEP,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMkB,KAAKP,EAAQQ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAmB,QAAN,SACEV,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMqB,QAAQV,EAAQQ,EAAYC,IAApD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAoB,SAAN,SACEC,EACAJ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMsB,SAASC,EAAIJ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAsB,UAAN,SACEC,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMwB,UAAUC,EAAMC,EAAKN,WAA9C,MAAO,CAAA,EAACf,SACLsB,oBACJ,EAEK5B,EAAAG,UAAA0B,WAAN,SACEH,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAM4B,WAAWH,EAAMC,EAAKN,WAA/C,MAAO,CAAA,EAACf,SACLwB,qBACJ,EAEK9B,EAASG,UAAA4B,UAAf,SAAgBL,6FACN,MAAM,CAAA,EAAAxB,KAAKD,MAAM8B,UAAUL,IAAnC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAkCJ,oBAC3C,EAEK5B,EAAUG,UAAA8B,WAAhB,SAAiBP,6FACP,MAAM,CAAA,EAAAxB,KAAKD,MAAMgC,WAAWP,IAApC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAmCE,oBAC5C,EACFlC,CAAD,ICnGYD,EAAAA,cAAAA,GAAAA,EAAAA,EAAQA,WAARA,WAGX,CAAA,IAFC,MAAA,QACAA,EAAA,KAAA"}
1
+ {"version":3,"file":"index.umd.min.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: {\n column: string;\n state: 'asc' | 'desc';\n };\n filter: Record<string, unknown>;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: Record<string, unknown>,\n options: {\n page: number;\n limit: number;\n sort: Record<string, 'asc' | 'desc'>;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: Record<string, unknown>,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: Record<string, unknown>,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: Record<string, unknown>): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: Record<string, unknown>): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n"],"names":["UserType","BaseService","model","this","prototype","index","query","_a","sorter","column","state","sort","paginate","filter","page","limit","lean","_b","create","data","find","projection","options","findOne","findById","id","updateOne","args","set","acknowledged","updateMany","modifiedCount","deleteOne","sent","deleteMany","deletedCount","exports"],"mappings":";;;;;8tDAiCA,ICjCYA,EDiCZC,EAAA,WACE,SAAAA,EAA6BC,GAAAC,KAAKD,MAALA,EAC3BC,KAAKD,MAAQA,CACd,CAkEH,OAhEQD,EAAKG,UAAAC,MAAX,SAAYC,qGAGH,OAFQC,EAAA,IAACD,EAAME,OAAOC,QAASH,EAAME,OAAOE,MAA7CC,IAEO,CAAA,EAAAR,KAAKD,MAAMU,SAASN,EAAMO,OAAQ,CAC7CC,KAAMR,EAAMQ,KACZC,MAAOT,EAAMS,MACbJ,KAAMA,EACNK,KAAMV,EAAMU,QAJd,KAAA,EAAA,MAAA,CAAA,EAAOC,gBAMR,EAEKhB,EAAMG,UAAAc,OAAZ,SAAaC,6FACJ,MAAM,CAAA,EAAAhB,KAAKD,MAAMgB,OAAOC,IAA/B,KAAA,EAAA,MAAA,CAAA,EAAOZ,gBACR,EAEKN,EAAAG,UAAAgB,KAAN,SACEP,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMkB,KAAKP,EAAQQ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAmB,QAAN,SACEV,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMqB,QAAQV,EAAQQ,EAAYC,IAApD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAoB,SAAN,SACEC,EACAJ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMsB,SAASC,EAAIJ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAsB,UAAN,SACEC,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMwB,UAAUC,EAAMC,EAAKN,WAA9C,MAAO,CAAA,EAACf,SACLsB,oBACJ,EAEK5B,EAAAG,UAAA0B,WAAN,SACEH,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAM4B,WAAWH,EAAMC,EAAKN,WAA/C,MAAO,CAAA,EAACf,SACLwB,qBACJ,EAEK9B,EAASG,UAAA4B,UAAf,SAAgBL,6FACN,MAAM,CAAA,EAAAxB,KAAKD,MAAM8B,UAAUL,IAAnC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAkCJ,oBAC3C,EAEK5B,EAAUG,UAAA8B,WAAhB,SAAiBP,6FACP,MAAM,CAAA,EAAAxB,KAAKD,MAAMgC,WAAWP,IAApC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAmCE,oBAC5C,EACFlC,CAAD,ICnGCmC,EAAApC,cAAA,GAHWA,EAAAA,EAAQA,WAARA,WAGX,CAAA,IAFC,MAAA,QACAA,EAAA,KAAA"}
package/package.json CHANGED
@@ -1,40 +1,72 @@
1
1
  {
2
2
  "name": "@gooddaydev/common",
3
- "version": "1.0.4",
3
+ "version": "1.0.8",
4
4
  "description": "Common utilities for TypeScript projects with CI/CD",
5
+ "cdn": "dist/index.umd.js",
5
6
  "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "module": "dist/index.mjs",
7
+ "types": "types/index.d.ts",
8
+ "unpkg": "dist/index.umd.js",
9
+ "module": "dist/index.esm.js",
10
+ "jsdelivr": "dist/index.umd.js",
11
+ "umd:main": "dist/index.umd.js",
12
+ "files": [
13
+ "dist/",
14
+ "types/"
15
+ ],
16
+ "exports": {
17
+ ".": [
18
+ {
19
+ "import": "./dist/index.mjs",
20
+ "require": "./dist/index.cjs",
21
+ "default": "./dist/index.js"
22
+ },
23
+ "./dist/index.js"
24
+ ],
25
+ "./types": "./types/index.d.ts"
26
+ },
27
+ "devDependencies": {
28
+ "@types/eslint": "^8.4.10",
29
+ "@types/jest": "^29.2.4",
30
+ "@types/mongoose-delete": "^1.0.3",
31
+ "@types/mongoose-paginate-v2": "^1.6.5",
32
+ "@types/prettier": "^2.7.2",
33
+ "@typescript-eslint/eslint-plugin": "^5.47.0",
34
+ "@typescript-eslint/parser": "^5.47.0",
35
+ "eslint": "^8.30.0",
36
+ "eslint-config-prettier": "^8.5.0",
37
+ "eslint-plugin-prettier": "^4.2.1",
38
+ "jest": "^29.3.1",
39
+ "prettier": "^2.8.1",
40
+ "rollup": "^2.79.1",
41
+ "rollup-plugin-terser": "^7.0.2",
42
+ "rollup-plugin-typescript2": "^0.34.1",
43
+ "ts-jest": "^29.0.3",
44
+ "ts-jest-resolver": "^2.0.0",
45
+ "typescript": "^4.9.4"
46
+ },
8
47
  "scripts": {
9
- "build": "rollup --config ./rollup.config.mjs"
48
+ "test": "jest",
49
+ "lint": "eslint \"*/**/*.{ts,js,json}\"",
50
+ "lint:fix": "eslint \"*/**/*.{ts,js,json}\" --fix",
51
+ "build": "rollup --config ./rollup.config.mjs",
52
+ "prepublishOnly": "npm run lint && npm run build"
10
53
  },
11
54
  "repository": {
12
55
  "type": "git",
13
- "url": "https://github.com/goodday-repo/common"
56
+ "url": "git+https://github.com/goodday-repo/common.git"
14
57
  },
15
- "keywords": [
16
- "typescript",
17
- "common",
18
- "ci",
19
- "cd"
20
- ],
58
+ "keywords": [],
21
59
  "author": "Edward Leong",
22
60
  "license": "MIT",
23
- "devDependencies": {
24
- "@rollup/plugin-terser": "^0.4.4",
25
- "@types/jest": "^29.5.14",
26
- "@types/mongoose-delete": "^1.0.6",
27
- "@types/node": "^22.10.2",
28
- "@types/prettier": "^3.0.0",
29
- "eslint": "^9.16.0",
30
- "jest": "^29.7.0",
31
- "prettier": "^3.5.3",
32
- "rollup": "^4.28.1",
33
- "rollup-plugin-typescript2": "^0.36.0",
34
- "typescript": "^5.7.2"
35
- },
36
61
  "dependencies": {
37
- "mongoose": "^8.12.1",
38
- "mongoose-delete": "^1.0.2"
62
+ "@nestjs/microservices": "^10.2.6",
63
+ "@types/express-session": "^1.17.7",
64
+ "express-session": "^1.17.3",
65
+ "moment": "^2.30.1",
66
+ "bignumber.js": "^9.1.2",
67
+ "moment-timezone": "^0.5.38",
68
+ "mongoose": "^7.4.1",
69
+ "mongoose-delete": "^1.0.1",
70
+ "mongoose-paginate-v2": "^1.7.4"
39
71
  }
40
72
  }
@@ -3,15 +3,18 @@ import { SoftDeleteModel } from 'mongoose-delete';
3
3
  export interface IQueryOptions {
4
4
  page: number;
5
5
  limit: number;
6
- sorter: any;
7
- filter: any;
6
+ sorter: {
7
+ column: string;
8
+ state: 'asc' | 'desc';
9
+ };
10
+ filter: Record<string, unknown>;
8
11
  lean: boolean;
9
12
  }
10
13
  interface PaginateModel<T> {
11
- paginate(filter: any, options: {
14
+ paginate(filter: Record<string, unknown>, options: {
12
15
  page: number;
13
16
  limit: number;
14
- sort: any;
17
+ sort: Record<string, 'asc' | 'desc'>;
15
18
  lean: boolean;
16
19
  }): Promise<T>;
17
20
  }
@@ -20,13 +23,13 @@ declare class BaseService<T extends Document, CreateDto> {
20
23
  constructor(model: SoftDeleteModel<T> & PaginateModel<T>);
21
24
  index(query: IQueryOptions): Promise<T>;
22
25
  create(data: CreateDto | CreateDto[]): Promise<T>;
23
- find(filter: any, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T[], T>>;
24
- findOne(filter: any, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T | null, T>>;
26
+ find(filter: Record<string, unknown>, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T[], T>>;
27
+ findOne(filter: Record<string, unknown>, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T | null, T>>;
25
28
  findById(id: string | ObjectId, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T | null, T>>;
26
- updateOne(args: any, set: UpdateQuery<T>, options?: QueryOptions<T>): Promise<boolean>;
27
- updateMany(args: any, set: UpdateQuery<T>, options?: QueryOptions<T>): Promise<number>;
28
- deleteOne(args: any): Promise<boolean>;
29
- deleteMany(args: any): Promise<number>;
29
+ updateOne(args: Record<string, unknown>, set: UpdateQuery<T>, options?: QueryOptions<T>): Promise<boolean>;
30
+ updateMany(args: Record<string, unknown>, set: UpdateQuery<T>, options?: QueryOptions<T>): Promise<number>;
31
+ deleteOne(args: Record<string, unknown>): Promise<boolean>;
32
+ deleteMany(args: Record<string, unknown>): Promise<number>;
30
33
  }
31
34
  export { BaseService };
32
35
  //# sourceMappingURL=base.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../src/base/base.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CACN,MAAM,EAAE,GAAG,EACX,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,OAAO,CAAC;KACf,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAInE,KAAK,CAAC,KAAK,EAAE,aAAa;IAW1B,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,IAAI,CACR,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAI9B,OAAO,CACX,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,QAAQ,CACZ,EAAE,EAAE,MAAM,GAAG,QAAQ,EACrB,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,SAAS,CACb,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC;IAKZ,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAG7C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../src/base/base.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QACrC,IAAI,EAAE,OAAO,CAAC;KACf,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAInE,KAAK,CAAC,KAAK,EAAE,aAAa;IAW1B,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,IAAI,CACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAI9B,OAAO,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,QAAQ,CACZ,EAAE,EAAE,MAAM,GAAG,QAAQ,EACrB,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,SAAS,CACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC;IAKZ,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAGjE;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/.editorconfig DELETED
@@ -1,13 +0,0 @@
1
- # Settings for editors and IDEs.
2
- # References at https://editorconfig.org/.
3
-
4
- root = true
5
-
6
- # Settings for any file.
7
- [*]
8
- charset = utf-8
9
- end_of_line = lf
10
- indent_size = 2
11
- indent_style = space
12
- insert_final_newline = true
13
- trim_trailing_whitespace = true
package/.eslintignore DELETED
@@ -1,7 +0,0 @@
1
- # Unlinted files and folders.
2
- # References at https://eslint.org/docs/user-guide/configuring#eslintignore
3
-
4
- # Generated docs, bundles and type definitions.
5
- docs/
6
- dist/
7
- types/
package/.eslintrc.js DELETED
@@ -1,28 +0,0 @@
1
- // @ts-check
2
- /* eslint-env node */
3
-
4
- 'use strict';
5
-
6
- /**
7
- * An object with ESLint options.
8
- * @type {import('eslint').Linter.Config}
9
- */
10
- const options = {
11
- root: true,
12
- parser: '@typescript-eslint/parser',
13
- parserOptions: {
14
- ecmaFeatures: {
15
- jsx: true,
16
- },
17
- ecmaVersion: 2021,
18
- },
19
- plugins: ['@typescript-eslint'],
20
- extends: [
21
- 'eslint:recommended',
22
- 'plugin:prettier/recommended',
23
- 'plugin:@typescript-eslint/eslint-recommended',
24
- 'plugin:@typescript-eslint/recommended',
25
- ],
26
- };
27
-
28
- module.exports = options;
package/.gitattributes DELETED
@@ -1,9 +0,0 @@
1
- # File attributes for Git repository.
2
- # References at https://git-scm.com/docs/gitattributes.
3
-
4
- # Handle files as text and ensure Unix line endings.
5
- * text=auto eol=lf
6
-
7
- # Ignore differences on NPM's lockfile.
8
- # Since version 5.7.0, NPM automatically handles merge conflicts.
9
- package-lock.json -diff
@@ -1,49 +0,0 @@
1
- name: 'NPM auto publish'
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- permissions:
9
- contents: write
10
- packages: write
11
-
12
- jobs:
13
- release:
14
- name: publish
15
- runs-on: ubuntu-latest
16
- steps:
17
- - name: checkout
18
- uses: actions/checkout@v3
19
- with:
20
- fetch-depth: 0 # Ensure we get all commit history
21
-
22
- - name: setup nodejs environment
23
- uses: actions/setup-node@v3
24
- with:
25
- node-version: 20
26
- registry-url: https://registry.npmjs.org
27
-
28
- - name: install dependencies
29
- run: yarn install --frozen-lockfile
30
-
31
- - name: build
32
- run: yarn build
33
-
34
- - name: 'Automated Version Bump'
35
- id: version-bump
36
- uses: 'phips28/gh-action-bump-version@master'
37
- env:
38
- GITHUB_TOKEN: ${{ secrets.TOKEN }}
39
-
40
- - name: Push new tags
41
- run: |
42
- git push origin --tags
43
- env:
44
- GITHUB_TOKEN: ${{ secrets.TOKEN }}
45
-
46
- - name: publish
47
- run: npm publish --access public
48
- env:
49
- NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
package/.prettierignore DELETED
@@ -1,7 +0,0 @@
1
- # Unlinted files and folders.
2
- # References at https://prettier.io/docs/en/ignore.html#ignoring-files.
3
-
4
- # Generated docs, bundles and type definitions.
5
- docs/
6
- dist/
7
- types/
package/jest.config.js DELETED
@@ -1,13 +0,0 @@
1
- // @ts-check
2
- /* eslint-env node */
3
-
4
- /**
5
- * An object with Jest options.
6
- * @type {import('@jest/types').Config.InitialOptions}
7
- */
8
- const options = {
9
- preset: 'ts-jest',
10
- resolver: 'ts-jest-resolver',
11
- };
12
-
13
- module.exports = options;
@@ -1,15 +0,0 @@
1
- // @ts-check
2
- /* eslint-env node */
3
-
4
- /**
5
- * An object with Prettier.js options.
6
- * @type {import('prettier').Options}
7
- */
8
- const options = {
9
- bracketSameLine: true,
10
- quoteProps: 'consistent',
11
- singleQuote: true,
12
- trailingComma: 'all',
13
- };
14
-
15
- module.exports = options;
package/rollup.config.mjs DELETED
@@ -1,75 +0,0 @@
1
- // @ts-check
2
-
3
- import { readFile } from 'node:fs/promises';
4
- import terser from '@rollup/plugin-terser';
5
- import typescript2 from 'rollup-plugin-typescript2';
6
-
7
- const packageJSON = JSON.parse(await readFile('./package.json', 'utf-8'));
8
-
9
- /**
10
- * Comment with library information to be appended in the generated bundles.
11
- */
12
- const banner = `/*!
13
- * ${packageJSON.name} v${packageJSON.version}
14
- * (c) ${packageJSON.author.name}
15
- * Released under the ${packageJSON.license} License.
16
- */
17
- `;
18
-
19
- /**
20
- * Creates an output options object for Rollup.js.
21
- * @param {import('rollup').OutputOptions} options
22
- * @returns {import('rollup').OutputOptions}
23
- */
24
- function createOutputOptions(options) {
25
- return {
26
- banner,
27
- name: '[libraryCamelCaseName]',
28
- exports: 'named',
29
- sourcemap: true,
30
- ...options,
31
- };
32
- }
33
-
34
- /**
35
- * @type {import('rollup').RollupOptions}
36
- */
37
- const options = {
38
- input: './src/index.ts',
39
- output: [
40
- createOutputOptions({
41
- file: './dist/index.js',
42
- format: 'commonjs',
43
- }),
44
- createOutputOptions({
45
- file: './dist/index.cjs',
46
- format: 'commonjs',
47
- }),
48
- createOutputOptions({
49
- file: './dist/index.mjs',
50
- format: 'esm',
51
- }),
52
- createOutputOptions({
53
- file: './dist/index.esm.js',
54
- format: 'esm',
55
- }),
56
- createOutputOptions({
57
- file: './dist/index.umd.js',
58
- format: 'umd',
59
- }),
60
- createOutputOptions({
61
- file: './dist/index.umd.min.js',
62
- format: 'umd',
63
- plugins: [terser()],
64
- }),
65
- ],
66
- plugins: [
67
- typescript2({
68
- clean: true,
69
- useTsconfigDeclarationDir: true,
70
- tsconfig: './tsconfig.bundle.json',
71
- }),
72
- ],
73
- };
74
-
75
- export default options;
package/setup.js DELETED
@@ -1,128 +0,0 @@
1
- /* eslint-env node */
2
- /* eslint-disable @typescript-eslint/no-var-requires */
3
-
4
- const fs = require('fs/promises');
5
- const path = require('path');
6
- const readline = require('readline');
7
-
8
- const resolveToFiles = (directory) => async (dirent) => {
9
- if (
10
- dirent.name === '.git' ||
11
- dirent.name === 'setup.js' ||
12
- dirent.name === 'node_modules'
13
- )
14
- return [];
15
- if (dirent.isFile()) return [path.resolve(directory, dirent.name)];
16
- if (dirent.isDirectory())
17
- return await getFiles(path.resolve(directory, dirent.name));
18
- return [];
19
- };
20
-
21
- const getFiles = async (directory) => {
22
- const filesWithTypes = await fs.readdir(directory, {
23
- encoding: 'utf-8',
24
- withFileTypes: true,
25
- });
26
-
27
- const resolutions = filesWithTypes.map(resolveToFiles(directory));
28
-
29
- const files = await Promise.all(resolutions);
30
-
31
- return files.flat(1);
32
- };
33
-
34
- const gettingFiles = getFiles(path.resolve(__dirname));
35
-
36
- const replaceInFile = (matcher, replacer) => async (path) => {
37
- const contents = await fs.readFile(path, { encoding: 'utf-8' });
38
- await fs.writeFile(path, contents.replace(matcher, replacer));
39
- };
40
-
41
- const rl = readline.createInterface({
42
- input: process.stdin,
43
- output: process.stdout,
44
- });
45
-
46
- const replaceVariable = async (variable, value) => {
47
- const files = await gettingFiles;
48
-
49
- const matcher = new RegExp(`\\[${variable}\\]`, 'g');
50
-
51
- await Promise.all(files.map(replaceInFile(matcher, value)));
52
- };
53
-
54
- const fillTemplateVariable = (variable, question, defaultValue = '') =>
55
- new Promise((resolve) => {
56
- rl.question(question, async (receivedValue) => {
57
- const value = receivedValue?.trim() || defaultValue;
58
-
59
- replaceVariable(variable, value);
60
-
61
- rl.write(`Replaced ${variable} to "${value}".\n`);
62
-
63
- resolve();
64
- });
65
- });
66
-
67
- replaceVariable('year', new Date().getFullYear())
68
- .then(() =>
69
- fillTemplateVariable(
70
- 'libraryNameWithSpacesAndUpperCases',
71
- `
72
- Library name (can have upper/lower case letters, spaces, numbers and special characters)
73
- Ex. React.js, Vue.js, Fetch Interceptors, GraphQL Loader for Webpack etc.
74
- > `,
75
- ),
76
- )
77
- .then(() =>
78
- fillTemplateVariable(
79
- 'libraryName',
80
- `
81
- Module name (only lower case letters, "." or "-") and optionally with scope.
82
- Ex. react, vue, fetch-interceptors, @webpack/graphql-loader etc.
83
- > `,
84
- ),
85
- )
86
- .then(() =>
87
- fillTemplateVariable(
88
- 'libraryCamelCaseName',
89
- `
90
- What is you library name in camel-case for UMD bundles?
91
- Ex. React, Vue, fetchInterceptors, graphqlLoaderForWebpack etc.
92
- > `,
93
- ),
94
- )
95
- .then(() =>
96
- fillTemplateVariable(
97
- 'repositoryOwner',
98
- `
99
- What is your nickname on GitHub?
100
- > `,
101
- '',
102
- ),
103
- )
104
- .then(() =>
105
- fillTemplateVariable(
106
- 'repositoryName',
107
- `
108
- What will be this repository name on GitHub?
109
- > `,
110
- ),
111
- )
112
- .then(() =>
113
- fillTemplateVariable(
114
- 'authorFullName',
115
- `
116
- What is your full name? (used in MIT License)
117
- > `,
118
- '',
119
- ),
120
- )
121
- .then(() => {
122
- rl.close();
123
- fs.unlink(path.resolve(__filename));
124
- })
125
- .catch((error) => {
126
- console.error(error?.message ?? error ?? 'Unknown error.');
127
- rl.close();
128
- });
@@ -1,103 +0,0 @@
1
- import {
2
- Document,
3
- ObjectId,
4
- ProjectionType,
5
- QueryOptions,
6
- QueryWithHelpers,
7
- UpdateQuery,
8
- } from 'mongoose';
9
- import { SoftDeleteModel } from 'mongoose-delete';
10
-
11
- export interface IQueryOptions {
12
- page: number;
13
- limit: number;
14
- sorter: any;
15
- filter: any;
16
- lean: boolean;
17
- }
18
-
19
- interface PaginateModel<T> {
20
- paginate(
21
- filter: any,
22
- options: {
23
- page: number;
24
- limit: number;
25
- sort: any;
26
- lean: boolean;
27
- },
28
- ): Promise<T>;
29
- }
30
-
31
- class BaseService<T extends Document, CreateDto> {
32
- constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {
33
- this.model = model;
34
- }
35
-
36
- async index(query: IQueryOptions) {
37
- const sort = { [query.sorter.column]: query.sorter.state };
38
-
39
- return await this.model.paginate(query.filter, {
40
- page: query.page,
41
- limit: query.limit,
42
- sort: sort,
43
- lean: query.lean,
44
- });
45
- }
46
-
47
- async create(data: CreateDto | CreateDto[]): Promise<T> {
48
- return await this.model.create(data);
49
- }
50
-
51
- async find(
52
- filter: any,
53
- projection?: ProjectionType<T>,
54
- options?: QueryOptions<T>,
55
- ): Promise<QueryWithHelpers<T[], T>> {
56
- return await this.model.find(filter, projection, options);
57
- }
58
-
59
- async findOne(
60
- filter: any,
61
- projection?: ProjectionType<T>,
62
- options?: QueryOptions<T>,
63
- ): Promise<QueryWithHelpers<T | null, T>> {
64
- return await this.model.findOne(filter, projection, options);
65
- }
66
-
67
- async findById(
68
- id: string | ObjectId,
69
- projection?: ProjectionType<T>,
70
- options?: QueryOptions<T>,
71
- ): Promise<QueryWithHelpers<T | null, T>> {
72
- return await this.model.findById(id, projection, options);
73
- }
74
-
75
- async updateOne(
76
- args: any,
77
- set: UpdateQuery<T>,
78
- options?: QueryOptions<T>,
79
- ): Promise<boolean> {
80
- return (await this.model.updateOne(args, set, options as UpdateQuery<T>))
81
- .acknowledged;
82
- }
83
-
84
- async updateMany(
85
- args: any,
86
- set: UpdateQuery<T>,
87
- options?: QueryOptions<T>,
88
- ): Promise<number> {
89
- return (await this.model.updateMany(args, set, options as UpdateQuery<T>))
90
- .modifiedCount;
91
- }
92
-
93
- async deleteOne(args: any): Promise<boolean> {
94
- return (await this.model.deleteOne(args)).acknowledged;
95
- }
96
-
97
- async deleteMany(args: any): Promise<number> {
98
- return (await this.model.deleteMany(args)).deletedCount;
99
- }
100
- }
101
-
102
- export { BaseService };
103
-
@@ -1,5 +0,0 @@
1
- export enum UserType {
2
- ADMIN = 'admin',
3
- USER = 'user',
4
- }
5
-
package/src/index.ts DELETED
@@ -1,5 +0,0 @@
1
- // base
2
- export * from './base/base.service';
3
-
4
- // enum
5
- export * from './enum/user-type.enum';
@@ -1,19 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- // Transpilation settings.
5
- "module": "ES2020",
6
- "target": "ES5",
7
- // Output settings.
8
- "newLine": "LF",
9
- "sourceMap": true,
10
- // Type declaration settings.
11
- "declaration": true,
12
- "declarationDir": "types/",
13
- "declarationMap": true
14
- },
15
- "exclude": [
16
- "./src/**/*.test.ts",
17
- "./src/**/*.test.tsx"
18
- ]
19
- }
package/tsconfig.json DELETED
@@ -1,35 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- // React.js JSX settings.
4
- "jsx": "react",
5
- "jsxFactory": "React.createElement",
6
- "jsxFragmentFactory": "React.Fragment",
7
-
8
- // Module settings.
9
- "allowSyntheticDefaultImports": true,
10
- "esModuleInterop": true,
11
- "isolatedModules": true,
12
- "moduleResolution": "node",
13
- "resolveJsonModule": true,
14
-
15
- // Strictness and quality settings.
16
- "alwaysStrict": true,
17
- "exactOptionalPropertyTypes": true,
18
- "forceConsistentCasingInFileNames": true,
19
- "noFallthroughCasesInSwitch": true,
20
- "noImplicitOverride": true,
21
- "noImplicitReturns": true,
22
- "noPropertyAccessFromIndexSignature": true,
23
- "noUncheckedIndexedAccess": true,
24
- "noUnusedLocals": true,
25
- "noUnusedParameters": true,
26
- "strict": true,
27
-
28
- // Type-checking settings.
29
- "lib": ["ES2020", "dom"],
30
- "skipDefaultLibCheck": true,
31
- "skipLibCheck": true,
32
- "types": ["jest"]
33
- },
34
- "include": ["./src/**/*.ts", "./src/**/*.tsx"]
35
- }