@gooddaydev/common 1.0.12 → 1.0.14

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/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.12
2
+ * @gooddaydev/common v1.0.14
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -85,7 +85,9 @@ var BaseService = /** @class */ (function () {
85
85
  sort: sort,
86
86
  lean: query.lean,
87
87
  })];
88
- case 1: return [2 /*return*/, _b.sent()];
88
+ case 1:
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ return [2 /*return*/, _b.sent()];
89
91
  }
90
92
  });
91
93
  });
@@ -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 FilterQuery,\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 PaginateOptions {\n page?: number;\n limit?: number;\n sort?: Record<string, unknown>;\n lean?: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate<O extends PaginateOptions>(\n filter?: FilterQuery<T>,\n options?: O,\n callback?: (err: Error | null, result: PaginateResult<T>) => void,\n ): Promise<PaginateResult<T>>;\n}\n\ninterface PaginateResult<T> {\n docs: T[];\n totalDocs: number;\n limit: number;\n totalPages: number;\n page: number;\n pagingCounter: number;\n hasPrevPage: boolean;\n hasNextPage: boolean;\n prevPage: number | null;\n nextPage: number | null;\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
+ {"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\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return await (this.model as any).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.12
2
+ * @gooddaydev/common v1.0.14
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -81,7 +81,9 @@ var BaseService = /** @class */ (function () {
81
81
  sort: sort,
82
82
  lean: query.lean,
83
83
  })];
84
- case 1: return [2 /*return*/, _b.sent()];
84
+ case 1:
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ return [2 /*return*/, _b.sent()];
85
87
  }
86
88
  });
87
89
  });
@@ -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 FilterQuery,\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 PaginateOptions {\n page?: number;\n limit?: number;\n sort?: Record<string, unknown>;\n lean?: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate<O extends PaginateOptions>(\n filter?: FilterQuery<T>,\n options?: O,\n callback?: (err: Error | null, result: PaginateResult<T>) => void,\n ): Promise<PaginateResult<T>>;\n}\n\ninterface PaginateResult<T> {\n docs: T[];\n totalDocs: number;\n limit: number;\n totalPages: number;\n page: number;\n pagingCounter: number;\n hasPrevPage: boolean;\n hasNextPage: boolean;\n prevPage: number | null;\n nextPage: number | null;\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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"}
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\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return await (this.model as any).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,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.12
2
+ * @gooddaydev/common v1.0.14
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -85,7 +85,9 @@ var BaseService = /** @class */ (function () {
85
85
  sort: sort,
86
86
  lean: query.lean,
87
87
  })];
88
- case 1: return [2 /*return*/, _b.sent()];
88
+ case 1:
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ return [2 /*return*/, _b.sent()];
89
91
  }
90
92
  });
91
93
  });
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 FilterQuery,\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 PaginateOptions {\n page?: number;\n limit?: number;\n sort?: Record<string, unknown>;\n lean?: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate<O extends PaginateOptions>(\n filter?: FilterQuery<T>,\n options?: O,\n callback?: (err: Error | null, result: PaginateResult<T>) => void,\n ): Promise<PaginateResult<T>>;\n}\n\ninterface PaginateResult<T> {\n docs: T[];\n totalDocs: number;\n limit: number;\n totalPages: number;\n page: number;\n pagingCounter: number;\n hasPrevPage: boolean;\n hasNextPage: boolean;\n prevPage: number | null;\n nextPage: number | null;\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
+ {"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\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return await (this.model as any).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.12
2
+ * @gooddaydev/common v1.0.14
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -81,7 +81,9 @@ var BaseService = /** @class */ (function () {
81
81
  sort: sort,
82
82
  lean: query.lean,
83
83
  })];
84
- case 1: return [2 /*return*/, _b.sent()];
84
+ case 1:
85
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
+ return [2 /*return*/, _b.sent()];
85
87
  }
86
88
  });
87
89
  });
@@ -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 FilterQuery,\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 PaginateOptions {\n page?: number;\n limit?: number;\n sort?: Record<string, unknown>;\n lean?: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate<O extends PaginateOptions>(\n filter?: FilterQuery<T>,\n options?: O,\n callback?: (err: Error | null, result: PaginateResult<T>) => void,\n ): Promise<PaginateResult<T>>;\n}\n\ninterface PaginateResult<T> {\n docs: T[];\n totalDocs: number;\n limit: number;\n totalPages: number;\n page: number;\n pagingCounter: number;\n hasPrevPage: boolean;\n hasNextPage: boolean;\n prevPage: number | null;\n nextPage: number | null;\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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"}
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\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return await (this.model as any).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.12
2
+ * @gooddaydev/common v1.0.14
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -87,7 +87,9 @@
87
87
  sort: sort,
88
88
  lean: query.lean,
89
89
  })];
90
- case 1: return [2 /*return*/, _b.sent()];
90
+ case 1:
91
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
+ return [2 /*return*/, _b.sent()];
91
93
  }
92
94
  });
93
95
  });
@@ -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 FilterQuery,\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 PaginateOptions {\n page?: number;\n limit?: number;\n sort?: Record<string, unknown>;\n lean?: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate<O extends PaginateOptions>(\n filter?: FilterQuery<T>,\n options?: O,\n callback?: (err: Error | null, result: PaginateResult<T>) => void,\n ): Promise<PaginateResult<T>>;\n}\n\ninterface PaginateResult<T> {\n docs: T[];\n totalDocs: number;\n limit: number;\n totalPages: number;\n page: number;\n pagingCounter: number;\n hasPrevPage: boolean;\n hasNextPage: boolean;\n prevPage: number | null;\n nextPage: number | null;\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
+ {"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\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return await (this.model as any).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.12
2
+ * @gooddaydev/common v1.0.14
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,Object.defineProperty(e,"__esModule",{value:!0})}));
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 FilterQuery,\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 PaginateOptions {\n page?: number;\n limit?: number;\n sort?: Record<string, unknown>;\n lean?: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate<O extends PaginateOptions>(\n filter?: FilterQuery<T>,\n options?: O,\n callback?: (err: Error | null, result: PaginateResult<T>) => void,\n ): Promise<PaginateResult<T>>;\n}\n\ninterface PaginateResult<T> {\n docs: T[];\n totalDocs: number;\n limit: number;\n totalPages: number;\n page: number;\n pagingCounter: number;\n hasPrevPage: boolean;\n hasNextPage: boolean;\n prevPage: number | null;\n nextPage: number | null;\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":";;;;;8tDAkDA,IClDYA,EDkDZC,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,ICpHCmC,EAAApC,cAAA,GAHWA,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\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return await (this.model as any).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":";;;;;ytDAqBA,ICrBYA,EDqBZC,EAAA,WACE,SAAAA,EAA6BC,GAAAC,KAAKD,MAALA,EAC3BC,KAAKD,MAAQA,CACd,CAmEH,OAjEQD,EAAKG,UAAAC,MAAX,SAAYC,mGAIH,OAHQC,EAAA,IAACD,EAAME,OAAOC,QAASH,EAAME,OAAOE,MAA7CC,IAGQ,CAAA,EAAAR,KAAKD,MAAcU,SAASN,EAAMO,OAAQ,CACtDC,KAAMR,EAAMQ,KACZC,MAAOT,EAAMS,MACbJ,KAAMA,EACNK,KAAMV,EAAMU,eAJd,MAAA,CAAA,EAAOC,cAMR,EAEKhB,EAAMG,UAAAc,OAAZ,SAAaC,2FACJ,MAAM,CAAA,EAAAhB,KAAKD,MAAMgB,OAAOC,IAA/B,KAAA,EAAA,MAAA,CAAA,EAAOZ,cACR,EAEKN,EAAAG,UAAAgB,KAAN,SACEP,EACAQ,EACAC,oFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMkB,KAAKP,EAAQQ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,cACR,EAEKN,EAAAG,UAAAmB,QAAN,SACEV,EACAQ,EACAC,oFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMqB,QAAQV,EAAQQ,EAAYC,IAApD,KAAA,EAAA,MAAA,CAAA,EAAOf,cACR,EAEKN,EAAAG,UAAAoB,SAAN,SACEC,EACAJ,EACAC,oFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMsB,SAASC,EAAIJ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,cACR,EAEKN,EAAAG,UAAAsB,UAAN,SACEC,EACAC,EACAN,oFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMwB,UAAUC,EAAMC,EAAKN,WAA9C,MAAO,CAAA,EAACf,SACLsB,kBACJ,EAEK5B,EAAAG,UAAA0B,WAAN,SACEH,EACAC,EACAN,oFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAM4B,WAAWH,EAAMC,EAAKN,WAA/C,MAAO,CAAA,EAACf,SACLwB,mBACJ,EAEK9B,EAASG,UAAA4B,UAAf,SAAgBL,2FACN,MAAM,CAAA,EAAAxB,KAAKD,MAAM8B,UAAUL,IAAnC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAkCJ,kBAC3C,EAEK5B,EAAUG,UAAA8B,WAAhB,SAAiBP,2FACP,MAAM,CAAA,EAAAxB,KAAKD,MAAMgC,WAAWP,IAApC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAmCE,kBAC5C,EACFlC,CAAD,ICxFCmC,EAAApC,cAAA,GAHWA,EAAAA,EAAQA,WAARA,WAGX,CAAA,IAFC,MAAA,QACAA,EAAA,KAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddaydev/common",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Common utilities for TypeScript projects with CI/CD",
5
5
  "cdn": "dist/index.umd.js",
6
6
  "main": "dist/index.js",
@@ -45,7 +45,7 @@
45
45
  "typescript": "^4.9.4"
46
46
  },
47
47
  "scripts": {
48
- "test": "jest",
48
+ "test": "jest --passWithNoTests",
49
49
  "lint": "eslint \"*/**/*.{ts,js,json}\"",
50
50
  "lint:fix": "eslint \"*/**/*.{ts,js,json}\" --fix",
51
51
  "build": "rollup --config ./rollup.config.mjs",
@@ -1,4 +1,4 @@
1
- import { Document, ObjectId, ProjectionType, QueryOptions, QueryWithHelpers, UpdateQuery, FilterQuery } from 'mongoose';
1
+ import { Document, ObjectId, ProjectionType, QueryOptions, QueryWithHelpers, UpdateQuery } from 'mongoose';
2
2
  import { SoftDeleteModel } from 'mongoose-delete';
3
3
  export interface IQueryOptions {
4
4
  page: number;
@@ -10,31 +10,10 @@ export interface IQueryOptions {
10
10
  filter: Record<string, unknown>;
11
11
  lean: boolean;
12
12
  }
13
- interface PaginateOptions {
14
- page?: number;
15
- limit?: number;
16
- sort?: Record<string, unknown>;
17
- lean?: boolean;
18
- }
19
- interface PaginateModel<T> {
20
- paginate<O extends PaginateOptions>(filter?: FilterQuery<T>, options?: O, callback?: (err: Error | null, result: PaginateResult<T>) => void): Promise<PaginateResult<T>>;
21
- }
22
- interface PaginateResult<T> {
23
- docs: T[];
24
- totalDocs: number;
25
- limit: number;
26
- totalPages: number;
27
- page: number;
28
- pagingCounter: number;
29
- hasPrevPage: boolean;
30
- hasNextPage: boolean;
31
- prevPage: number | null;
32
- nextPage: number | null;
33
- }
34
13
  declare class BaseService<T extends Document, CreateDto> {
35
14
  private readonly model;
36
- constructor(model: SoftDeleteModel<T> & PaginateModel<T>);
37
- index(query: IQueryOptions): Promise<PaginateResult<T>>;
15
+ constructor(model: SoftDeleteModel<T>);
16
+ index(query: IQueryOptions): Promise<any>;
38
17
  create(data: CreateDto | CreateDto[]): Promise<T>;
39
18
  find(filter: Record<string, unknown>, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T[], T>>;
40
19
  findOne(filter: Record<string, unknown>, projection?: ProjectionType<T>, options?: QueryOptions<T>): Promise<QueryWithHelpers<T | null, T>>;
@@ -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,EACX,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,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,SAAS,eAAe,EAChC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACvB,OAAO,CAAC,EAAE,CAAC,EACX,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAChE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;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"}
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,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;IAIhD,KAAK,CAAC,KAAK,EAAE,aAAa;IAY1B,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/types/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './base/base.service';
2
2
  export * from './enum/user-type.enum';
3
+ export * from './interfaces/api.interface';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,24 @@
1
+ export interface IApiResponse<T = unknown> {
2
+ status: number;
3
+ message?: string;
4
+ data: T;
5
+ error?: string;
6
+ }
7
+ export interface IPaginatedResponse<T> {
8
+ docs: T[];
9
+ totalDocs: number;
10
+ limit: number;
11
+ totalPages: number;
12
+ page: number;
13
+ pagingCounter: number;
14
+ hasPrevPage: boolean;
15
+ hasNextPage: boolean;
16
+ prevPage: number | null;
17
+ nextPage: number | null;
18
+ }
19
+ export type IListResponse<T> = IApiResponse<IPaginatedResponse<T>>;
20
+ export type IGetDetailResponse<T> = IApiResponse<T>;
21
+ export type ICreateResponse<T> = IApiResponse<T>;
22
+ export type IUpdateResponse<T> = IApiResponse<T>;
23
+ export type IDeleteResponse<T = unknown> = IApiResponse<T>;
24
+ //# sourceMappingURL=api.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/api.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC"}