@cyberskill/shared 1.38.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +205 -160
  2. package/dist/_tsup-dts-rollup.d.ts +205 -160
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.d.cts +39 -33
  5. package/dist/index.d.ts +39 -33
  6. package/dist/index.js +1 -1
  7. package/dist/nodejs/index.cjs +1 -1
  8. package/dist/nodejs/index.d.cts +5 -7
  9. package/dist/nodejs/index.d.ts +5 -7
  10. package/dist/nodejs/index.js +1 -1
  11. package/dist/nodejs/mongo.cjs +1 -1
  12. package/dist/nodejs/mongo.d.cts +1 -1
  13. package/dist/nodejs/mongo.d.ts +1 -1
  14. package/dist/nodejs/mongo.js +1 -1
  15. package/dist/nodejs/mongoose.cjs +1 -1
  16. package/dist/nodejs/mongoose.d.cts +4 -6
  17. package/dist/nodejs/mongoose.d.ts +4 -6
  18. package/dist/nodejs/mongoose.js +1 -1
  19. package/dist/typescript/api-response.cjs +1 -0
  20. package/dist/typescript/api-response.d.cts +3 -0
  21. package/dist/typescript/api-response.d.ts +3 -0
  22. package/dist/typescript/api-response.js +0 -0
  23. package/dist/typescript/index.cjs +1 -1
  24. package/dist/typescript/index.d.cts +32 -26
  25. package/dist/typescript/index.d.ts +32 -26
  26. package/dist/typescript/index.js +1 -1
  27. package/dist/typescript/mongo.cjs +1 -0
  28. package/dist/typescript/mongo.d.cts +8 -0
  29. package/dist/typescript/mongo.d.ts +8 -0
  30. package/dist/typescript/mongo.js +1 -0
  31. package/dist/typescript/mongoose.cjs +1 -1
  32. package/dist/typescript/mongoose.d.cts +21 -27
  33. package/dist/typescript/mongoose.d.ts +21 -27
  34. package/dist/typescript/mongoose.js +1 -1
  35. package/dist/typescript/string.cjs +1 -0
  36. package/dist/typescript/string.d.cts +1 -0
  37. package/dist/typescript/string.d.ts +1 -0
  38. package/dist/typescript/string.js +0 -0
  39. package/dist/utils/index.cjs +1 -1
  40. package/dist/utils/index.d.cts +2 -0
  41. package/dist/utils/index.d.ts +2 -0
  42. package/dist/utils/index.js +1 -1
  43. package/dist/utils/string.cjs +1 -0
  44. package/dist/utils/string.d.cts +2 -0
  45. package/dist/utils/string.d.ts +2 -0
  46. package/dist/utils/string.js +1 -0
  47. package/package.json +5 -5
@@ -14,6 +14,8 @@ import { Context } from 'react';
14
14
  import { Db } from 'mongodb';
15
15
  import type { DeleteResult } from 'mongodb';
16
16
  import { Document as Document_2 } from 'mongoose';
17
+ import type { ErrorHandlingMiddlewareFunction } from 'mongoose';
18
+ import type { ErrorHandlingMiddlewareWithOption } from 'mongoose';
17
19
  import type { Filter } from 'mongodb';
18
20
  import type { FilterQuery } from 'mongoose';
19
21
  import { FlatConfigComposer } from 'eslint-flat-config-utils';
@@ -34,6 +36,9 @@ import type { PaginateResult } from 'mongoose';
34
36
  import type { PipelineStage } from 'mongoose';
35
37
  import type { PopulateOption } from 'mongoose';
36
38
  import type { PopulateOptions } from 'mongoose';
39
+ import type { PostMiddlewareFunction } from 'mongoose';
40
+ import type { PreMiddlewareFunction } from 'mongoose';
41
+ import type { PreSaveMiddlewareFunction } from 'mongoose';
37
42
  import type { ProjectionType } from 'mongoose';
38
43
  import type { QueryOptions } from 'mongoose';
39
44
  import type { QueryWithHelpers } from 'mongoose';
@@ -71,7 +76,7 @@ export { ApolloProvider }
71
76
  export { ApolloProvider as ApolloProvider_alias_1 }
72
77
  export { ApolloProvider as ApolloProvider_alias_2 }
73
78
 
74
- declare class C_Collection<D extends Partial<C_Document>> extends Collection<D> {
79
+ declare class C_Collection<T extends Partial<C_Document>> extends Collection<T> {
75
80
  }
76
81
  export { C_Collection }
77
82
  export { C_Collection as C_Collection_alias_1 }
@@ -119,6 +124,29 @@ declare function createGraphqlCodegenConfig({ uri, from, to, withComponent, with
119
124
  export { createGraphqlCodegenConfig }
120
125
  export { createGraphqlCodegenConfig as createGraphqlCodegenConfig_alias_1 }
121
126
 
127
+ declare function createModel<T extends Partial<C_Document_2>>({ mongoose, name, schema, pagination, aggregate, virtuals, middlewares, }: I_CreateModelOptions_2<T>): I_ExtendedModel_2<T>;
128
+ export { createModel }
129
+ export { createModel as createModel_alias_1 }
130
+ export { createModel as createModel_alias_2 }
131
+
132
+ declare function createMongoGenericFields({ isNew, returnDateAs, }?: {
133
+ isNew?: boolean;
134
+ returnDateAs?: 'string' | 'date';
135
+ }): I_GenericDocument_2;
136
+ export { createMongoGenericFields }
137
+ export { createMongoGenericFields as createMongoGenericFields_alias_1 }
138
+ export { createMongoGenericFields as createMongoGenericFields_alias_2 }
139
+
140
+ declare function createSchema<T extends Partial<C_Document_2>>({ mongoose, schema, virtuals, standalone, }: I_CreateSchemaOptions_2<T>): T_MongooseShema_2<T>;
141
+ export { createSchema }
142
+ export { createSchema as createSchema_alias_1 }
143
+ export { createSchema as createSchema_alias_2 }
144
+
145
+ declare function createSlugQuery<T>(slug: string, filters?: T_FilterQuery_2<T>, id?: string): T_CreateSlugQueryResponse_2<T>;
146
+ export { createSlugQuery }
147
+ export { createSlugQuery as createSlugQuery_alias_1 }
148
+ export { createSlugQuery as createSlugQuery_alias_2 }
149
+
122
150
  declare function deepMerge(...configs: (I_Config_2 | I_Config_2[])[]): I_Config_2;
123
151
  export { deepMerge }
124
152
  export { deepMerge as deepMerge_alias_1 }
@@ -5937,16 +5965,6 @@ export { fileExists }
5937
5965
  export { fileExists as fileExists_alias_1 }
5938
5966
  export { fileExists as fileExists_alias_2 }
5939
5967
 
5940
- declare function generateModel<D extends Partial<C_Document_2>>({ mongoose, name, schema, pagination, aggregate, virtuals, middlewares, }: I_GenerateModelOptions_2<D>): I_ExtendedModel_2<D>;
5941
- export { generateModel }
5942
- export { generateModel as generateModel_alias_1 }
5943
- export { generateModel as generateModel_alias_2 }
5944
-
5945
- declare function generateSchema<D extends Partial<C_Document_2>>({ mongoose, schema, virtuals, standalone, }: I_GenerateSchemaOptions_2<D>): T_MongooseShema_2<D>;
5946
- export { generateSchema }
5947
- export { generateSchema as generateSchema_alias_1 }
5948
- export { generateSchema as generateSchema_alias_2 }
5949
-
5950
5968
  declare function generateShortId(uuid: string, length?: number): string;
5951
5969
  export { generateShortId }
5952
5970
  export { generateShortId as generateShortId_alias_1 }
@@ -5957,34 +5975,16 @@ export { generateSlug }
5957
5975
  export { generateSlug as generateSlug_alias_1 }
5958
5976
  export { generateSlug as generateSlug_alias_2 }
5959
5977
 
5960
- declare function generateSlugQuery<D>(slug: string, filters?: T_FilterQuery_2<D>, id?: string): T_GenerateSlugQueryResponse_2<D>;
5961
- export { generateSlugQuery }
5962
- export { generateSlugQuery as generateSlugQuery_alias_1 }
5963
- export { generateSlugQuery as generateSlugQuery_alias_2 }
5964
-
5965
5978
  declare function getLatestPackageVersion(packageName: string, forceRefresh?: boolean): Promise<string>;
5966
5979
  export { getLatestPackageVersion }
5967
5980
  export { getLatestPackageVersion as getLatestPackageVersion_alias_1 }
5968
5981
  export { getLatestPackageVersion as getLatestPackageVersion_alias_2 }
5969
5982
 
5970
- declare function getMongoDateTime(): string;
5983
+ declare function getMongoDateTime(now?: Date): string;
5971
5984
  export { getMongoDateTime }
5972
5985
  export { getMongoDateTime as getMongoDateTime_alias_1 }
5973
5986
  export { getMongoDateTime as getMongoDateTime_alias_2 }
5974
5987
 
5975
- declare function getMongoGenericFields<T extends 'date' | 'string'>({ isNew, returnDateAs, }?: {
5976
- isNew?: boolean;
5977
- returnDateAs?: T;
5978
- }): {
5979
- id?: string;
5980
- isDel: boolean;
5981
- createdAt: T extends 'string' ? string : Date;
5982
- updatedAt: T extends 'string' ? string : Date;
5983
- };
5984
- export { getMongoGenericFields }
5985
- export { getMongoGenericFields as getMongoGenericFields_alias_1 }
5986
- export { getMongoGenericFields as getMongoGenericFields_alias_2 }
5987
-
5988
5988
  declare function getStoredErrorLists(): Promise<I_ErrorEntry_2[]>;
5989
5989
  export { getStoredErrorLists }
5990
5990
  export { getStoredErrorLists as getStoredErrorLists_alias_1 }
@@ -6058,6 +6058,40 @@ declare interface I_Config_2 {
6058
6058
  [key: string]: string | number | boolean | I_Config_2 | I_Config_2[];
6059
6059
  }
6060
6060
 
6061
+ declare interface I_CreateModelOptions<T extends Partial<C_Document>> extends I_MongooseOptions<T> {
6062
+ schema: T_Input_MongooseSchema<T>;
6063
+ name: string;
6064
+ aggregate?: boolean;
6065
+ middlewares?: I_MongooseModelMiddleware<T>[];
6066
+ pagination?: boolean;
6067
+ }
6068
+ export { I_CreateModelOptions }
6069
+ export { I_CreateModelOptions as I_CreateModelOptions_alias_1 }
6070
+ export { I_CreateModelOptions as I_CreateModelOptions_alias_2 }
6071
+
6072
+ declare interface I_CreateModelOptions_2<T extends Partial<C_Document_2>>
6073
+ extends I_MongooseOptions_2<T> {
6074
+ schema: T_Input_MongooseSchema_2<T>;
6075
+ name: string;
6076
+ aggregate?: boolean;
6077
+ middlewares?: I_MongooseModelMiddleware_2<T>[];
6078
+ pagination?: boolean;
6079
+ }
6080
+
6081
+ declare interface I_CreateSchemaOptions<T extends Partial<C_Document>> extends I_MongooseOptions<T> {
6082
+ schema: T_Input_MongooseSchema<T>;
6083
+ standalone?: boolean;
6084
+ }
6085
+ export { I_CreateSchemaOptions }
6086
+ export { I_CreateSchemaOptions as I_CreateSchemaOptions_alias_1 }
6087
+ export { I_CreateSchemaOptions as I_CreateSchemaOptions_alias_2 }
6088
+
6089
+ declare interface I_CreateSchemaOptions_2<T extends Partial<C_Document_2>>
6090
+ extends I_MongooseOptions_2<T> {
6091
+ schema: T_Input_MongooseSchema_2<T>;
6092
+ standalone?: boolean;
6093
+ }
6094
+
6061
6095
  declare interface I_DeleteOptionsExtended extends Omit<QueryOptions, 'session'> {
6062
6096
  session?: ClientSession;
6063
6097
  }
@@ -6102,60 +6136,33 @@ export { I_EslintError }
6102
6136
  export { I_EslintError as I_EslintError_alias_1 }
6103
6137
  export { I_EslintError as I_EslintError_alias_2 }
6104
6138
 
6105
- declare interface I_ExtendedModel<D extends Partial<C_Document>> extends Model<D>, PaginateModel<D>, AggregatePaginateModel<D> {
6139
+ declare interface I_ExtendedModel<T extends Partial<C_Document>> extends Model<T>, PaginateModel<T>, AggregatePaginateModel<T> {
6106
6140
  }
6107
6141
  export { I_ExtendedModel }
6108
6142
  export { I_ExtendedModel as I_ExtendedModel_alias_1 }
6109
6143
  export { I_ExtendedModel as I_ExtendedModel_alias_2 }
6110
6144
 
6111
- declare interface I_ExtendedModel_2<D extends Partial<C_Document_2>>
6112
- extends Model<D>, PaginateModel<D>,
6113
- AggregatePaginateModel<D> { }
6114
-
6115
- declare interface I_GenerateModelOptions<D extends Partial<C_Document>> extends I_MongooseOptions<D> {
6116
- schema: T_Input_MongooseSchema<D>;
6117
- name: string;
6118
- aggregate?: boolean;
6119
- middlewares?: I_MongooseModelMiddleware[];
6120
- pagination?: boolean;
6121
- }
6122
- export { I_GenerateModelOptions }
6123
- export { I_GenerateModelOptions as I_GenerateModelOptions_alias_1 }
6124
- export { I_GenerateModelOptions as I_GenerateModelOptions_alias_2 }
6125
-
6126
- declare interface I_GenerateModelOptions_2<D extends Partial<C_Document_2>>
6127
- extends I_MongooseOptions_2<D> {
6128
- schema: T_Input_MongooseSchema_2<D>;
6129
- name: string;
6130
- aggregate?: boolean;
6131
- middlewares?: I_MongooseModelMiddleware_2[];
6132
- pagination?: boolean;
6133
- }
6134
-
6135
- declare interface I_GenerateSchemaOptions<D extends Partial<C_Document>> extends I_MongooseOptions<D> {
6136
- schema: T_Input_MongooseSchema<D>;
6137
- standalone?: boolean;
6138
- }
6139
- export { I_GenerateSchemaOptions }
6140
- export { I_GenerateSchemaOptions as I_GenerateSchemaOptions_alias_1 }
6141
- export { I_GenerateSchemaOptions as I_GenerateSchemaOptions_alias_2 }
6142
-
6143
- declare interface I_GenerateSchemaOptions_2<D extends Partial<C_Document_2>>
6144
- extends I_MongooseOptions_2<D> {
6145
- schema: T_Input_MongooseSchema_2<D>;
6146
- standalone?: boolean;
6147
- }
6145
+ declare interface I_ExtendedModel_2<T extends Partial<C_Document_2>>
6146
+ extends Model<T>, PaginateModel<T>,
6147
+ AggregatePaginateModel<T> { }
6148
6148
 
6149
6149
  declare interface I_GenericDocument extends Partial<C_Document> {
6150
6150
  id?: string;
6151
- isDel?: boolean;
6152
- createdAt?: Date;
6153
- updatedAt?: Date;
6151
+ isDel: boolean;
6152
+ createdAt: string | Date;
6153
+ updatedAt: string | Date;
6154
6154
  }
6155
6155
  export { I_GenericDocument }
6156
6156
  export { I_GenericDocument as I_GenericDocument_alias_1 }
6157
6157
  export { I_GenericDocument as I_GenericDocument_alias_2 }
6158
6158
 
6159
+ declare interface I_GenericDocument_2 extends Partial<C_Document_2> {
6160
+ id?: string;
6161
+ isDel: boolean;
6162
+ createdAt: string | Date;
6163
+ updatedAt: string | Date;
6164
+ }
6165
+
6159
6166
  declare interface I_GraphqlCodegenConfig {
6160
6167
  uri: string;
6161
6168
  from: string;
@@ -6181,17 +6188,6 @@ declare interface I_GraphqlCodegenConfig_2 {
6181
6188
  withRefetchFn?: boolean;
6182
6189
  }
6183
6190
 
6184
- declare interface I_HookNextFunction {
6185
- (error?: Error | null): void;
6186
- }
6187
- export { I_HookNextFunction }
6188
- export { I_HookNextFunction as I_HookNextFunction_alias_1 }
6189
- export { I_HookNextFunction as I_HookNextFunction_alias_2 }
6190
-
6191
- declare interface I_HookNextFunction_2 {
6192
- (error?: Error | null): void;
6193
- }
6194
-
6195
6191
  declare interface I_Input_CreateMany<T> {
6196
6192
  docs: T[];
6197
6193
  }
@@ -6308,37 +6304,39 @@ declare interface I_LoadingProps_2 {
6308
6304
  message?: string;
6309
6305
  }
6310
6306
 
6311
- declare interface I_MongooseModelMiddleware {
6312
- method: string;
6313
- fn: T_MongooseModelMiddlewareFunction;
6307
+ declare interface I_MongooseModelMiddleware<T extends Partial<C_Document>> {
6308
+ method: T_MongooseModelMiddlewareMethod;
6309
+ pre?: T_MongooseModelMiddlewarePreFunction<T & T_QueryWithHelpers<T>>;
6310
+ post?: T_MongooseModelMiddlewarePostFunction<T>;
6314
6311
  }
6315
6312
  export { I_MongooseModelMiddleware }
6316
6313
  export { I_MongooseModelMiddleware as I_MongooseModelMiddleware_alias_1 }
6317
6314
  export { I_MongooseModelMiddleware as I_MongooseModelMiddleware_alias_2 }
6318
6315
 
6319
- declare interface I_MongooseModelMiddleware_2 {
6320
- method: string;
6321
- fn: T_MongooseModelMiddlewareFunction_2;
6316
+ declare interface I_MongooseModelMiddleware_2<T extends Partial<C_Document_2>> {
6317
+ method: T_MongooseModelMiddlewareMethod_2;
6318
+ pre?: T_MongooseModelMiddlewarePreFunction_2<T & T_QueryWithHelpers_2<T>>;
6319
+ post?: T_MongooseModelMiddlewarePostFunction_2<T>;
6322
6320
  }
6323
6321
 
6324
- declare interface I_MongooseOptions<D extends Partial<C_Document>> {
6322
+ declare interface I_MongooseOptions<T extends Partial<C_Document>> {
6325
6323
  mongoose: typeof mongoose;
6326
6324
  virtuals?: {
6327
- name: keyof D | string;
6325
+ name: keyof T | string;
6328
6326
  options?: I_VirtualOptions_2;
6329
- get?: (this: D) => void;
6327
+ get?: (this: T) => void;
6330
6328
  }[];
6331
6329
  }
6332
6330
  export { I_MongooseOptions }
6333
6331
  export { I_MongooseOptions as I_MongooseOptions_alias_1 }
6334
6332
  export { I_MongooseOptions as I_MongooseOptions_alias_2 }
6335
6333
 
6336
- declare interface I_MongooseOptions_2<D extends Partial<C_Document_2>> {
6334
+ declare interface I_MongooseOptions_2<T extends Partial<C_Document_2>> {
6337
6335
  mongoose: typeof mongoose;
6338
6336
  virtuals?: {
6339
- name: keyof D | string;
6337
+ name: keyof T | string;
6340
6338
  options?: I_VirtualOptions;
6341
- get?: (this: D) => void;
6339
+ get?: (this: T) => void;
6342
6340
  }[];
6343
6341
  }
6344
6342
 
@@ -6386,12 +6384,12 @@ declare interface I_NextIntlLanguage_2 {
6386
6384
  timezone: Timezone;
6387
6385
  }
6388
6386
 
6389
- declare type I_Return<D = void, E = unknown> = I_ReturnSuccess<D, E> | I_ReturnFailure;
6387
+ declare type I_Return<T = void, E = unknown> = I_ReturnSuccess<T, E> | I_ReturnFailure;
6390
6388
  export { I_Return }
6391
6389
  export { I_Return as I_Return_alias_1 }
6392
6390
  export { I_Return as I_Return_alias_2 }
6393
6391
 
6394
- declare type I_Return_2<D = void, E = unknown> = I_ReturnSuccess_2<D, E> | I_ReturnFailure_2;
6392
+ declare type I_Return_2<T = void, E = unknown> = I_ReturnSuccess_2<T, E> | I_ReturnFailure_2;
6395
6393
 
6396
6394
  declare interface I_ReturnFailure {
6397
6395
  success: false;
@@ -6408,9 +6406,9 @@ declare interface I_ReturnFailure_2 {
6408
6406
  code: number | string;
6409
6407
  }
6410
6408
 
6411
- declare interface I_ReturnSuccess<D, E = unknown> {
6409
+ declare interface I_ReturnSuccess<T, E = unknown> {
6412
6410
  success: true;
6413
- result: D & E;
6411
+ result: T & E;
6414
6412
  message?: string;
6415
6413
  code?: number | string;
6416
6414
  }
@@ -6418,9 +6416,9 @@ export { I_ReturnSuccess }
6418
6416
  export { I_ReturnSuccess as I_ReturnSuccess_alias_1 }
6419
6417
  export { I_ReturnSuccess as I_ReturnSuccess_alias_2 }
6420
6418
 
6421
- declare interface I_ReturnSuccess_2<D, E = unknown> {
6419
+ declare interface I_ReturnSuccess_2<T, E = unknown> {
6422
6420
  success: true;
6423
- result: D & E;
6421
+ result: T & E;
6424
6422
  message?: string;
6425
6423
  code?: number | string;
6426
6424
  }
@@ -6590,24 +6588,26 @@ export { MongoController }
6590
6588
  export { MongoController as MongoController_alias_1 }
6591
6589
  export { MongoController as MongoController_alias_2 }
6592
6590
 
6593
- declare class MongooseController<D extends Partial<C_Document_2>> {
6591
+ declare class MongooseController<T extends Partial<C_Document_2>> {
6594
6592
  private model;
6595
- constructor(model: I_ExtendedModel_2<D>);
6593
+ constructor(model: I_ExtendedModel_2<T>);
6596
6594
  private getModelName;
6597
- findOne(filter?: T_FilterQuery_2<D>, projection?: T_ProjectionType_2<D>, options?: T_QueryOptions_2<D>, populate?: T_Input_Populate_2): Promise<I_Return_2<D>>;
6598
- findAll(filter?: T_FilterQuery_2<D>, projection?: T_ProjectionType_2<D>, options?: T_QueryOptions_2<D>, populate?: T_Input_Populate_2): Promise<I_Return_2<D[]>>;
6599
- findPaging(filter?: T_FilterQuery_2<D>, options?: T_PaginateOptionsWithPopulate_2): Promise<I_Return_2<T_PaginateResult_2<D>>>;
6600
- findPagingAggregate(pipeline: T_PipelineStage_2[], options?: T_PaginateOptionsWithPopulate_2): Promise<I_Return_2<T_AggregatePaginateResult_2<D>>>;
6601
- count(filter?: T_FilterQuery_2<D>): Promise<I_Return_2<number>>;
6602
- createOne(doc: D | Partial<D>): Promise<I_Return_2<D>>;
6603
- createMany(docs: (D | Partial<D>)[], options?: T_InsertManyOptions_2): Promise<I_Return_2<D[]>>;
6604
- updateOne(filter?: T_FilterQuery_2<D>, update?: T_UpdateQuery_2<D>, options?: I_UpdateOptionsExtended_2): Promise<I_Return_2<D>>;
6605
- updateMany(filter?: T_FilterQuery_2<D>, update?: T_UpdateQuery_2<D>, options?: I_UpdateOptionsExtended_2): Promise<I_Return_2<T_UpdateResult_2>>;
6606
- deleteOne(filter?: T_FilterQuery_2<D>, options?: I_DeleteOptionsExtended_2): Promise<I_Return_2<D>>;
6607
- deleteMany(filter?: T_FilterQuery_2<D>, options?: I_DeleteOptionsExtended_2): Promise<I_Return_2<T_DeleteResult_2>>;
6608
- generateShortId(id: string): Promise<I_Return_2<string>>;
6609
- generateSlug(fieldName: string, fields: D, filters?: T_FilterQuery_2<D>): Promise<I_Return_2<string>>;
6610
- aggregate(pipeline: T_PipelineStage_2[]): Promise<I_Return_2<D[]>>;
6595
+ findOne(filter?: T_FilterQuery_2<T>, projection?: T_ProjectionType_2<T>, options?: T_QueryOptions_2<T>, populate?: T_Input_Populate_2): Promise<I_Return_2<T>>;
6596
+ findAll(filter?: T_FilterQuery_2<T>, projection?: T_ProjectionType_2<T>, options?: T_QueryOptions_2<T>, populate?: T_Input_Populate_2): Promise<I_Return_2<T[]>>;
6597
+ findPaging(filter?: T_FilterQuery_2<T>, options?: T_PaginateOptionsWithPopulate_2): Promise<I_Return_2<T_PaginateResult_2<T>>>;
6598
+ findPagingAggregate(pipeline: T_PipelineStage_2[], options?: T_PaginateOptionsWithPopulate_2): Promise<I_Return_2<T_AggregatePaginateResult_2<T>>>;
6599
+ count(filter?: T_FilterQuery_2<T>): Promise<I_Return_2<number>>;
6600
+ createOne(doc: T | Partial<T>): Promise<I_Return_2<T>>;
6601
+ createMany(docs: (T | Partial<T>)[], options?: T_InsertManyOptions_2): Promise<I_Return_2<T[]>>;
6602
+ updateOne(filter?: T_FilterQuery_2<T>, update?: T_UpdateQuery_2<T>, options?: I_UpdateOptionsExtended_2): Promise<I_Return_2<T>>;
6603
+ updateMany(filter?: T_FilterQuery_2<T>, update?: T_UpdateQuery_2<T>, options?: I_UpdateOptionsExtended_2): Promise<I_Return_2<T_UpdateResult_2>>;
6604
+ deleteOne(filter?: T_FilterQuery_2<T>, options?: I_DeleteOptionsExtended_2): Promise<I_Return_2<T>>;
6605
+ deleteMany(filter?: T_FilterQuery_2<T>, options?: I_DeleteOptionsExtended_2): Promise<I_Return_2<T_DeleteResult_2>>;
6606
+ createShortId(id: string, length?: number): Promise<I_Return_2<string>>;
6607
+ createSlug(fieldName: string, fields: T, filters?: T_FilterQuery_2<T>): Promise<I_Return_2<string | {
6608
+ [key: string]: string;
6609
+ }>>;
6610
+ aggregate(pipeline: T_PipelineStage_2[]): Promise<I_Return_2<T[]>>;
6611
6611
  }
6612
6612
  export { MongooseController }
6613
6613
  export { MongooseController as MongooseController_alias_1 }
@@ -6954,6 +6954,25 @@ export { T_Children as T_Children_alias_2 }
6954
6954
 
6955
6955
  declare type T_Children_2 = ReactNode | ReactNode[] | ReactElement | JSX.Element | null;
6956
6956
 
6957
+ declare type T_CreateSlugQueryResponse<T> = T_FilterQuery<T> & {
6958
+ $or: Array<{
6959
+ slug: string;
6960
+ } | {
6961
+ slugHistory: string;
6962
+ }>;
6963
+ } & {
6964
+ id?: {
6965
+ $ne: string;
6966
+ };
6967
+ };
6968
+ export { T_CreateSlugQueryResponse }
6969
+ export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_1 }
6970
+ export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_2 }
6971
+
6972
+ declare type T_CreateSlugQueryResponse_2<T> = T_FilterQuery_2<T> & {
6973
+ $or: Array<{ slug: string } | { slugHistory: string }>;
6974
+ } & { id?: { $ne: string } };
6975
+
6957
6976
  declare type T_DeleteResult = DeleteResult;
6958
6977
  export { T_DeleteResult }
6959
6978
  export { T_DeleteResult as T_DeleteResult_alias_1 }
@@ -6961,12 +6980,26 @@ export { T_DeleteResult as T_DeleteResult_alias_2 }
6961
6980
 
6962
6981
  declare type T_DeleteResult_2 = DeleteResult;
6963
6982
 
6964
- declare type T_Filter<D> = Filter<D>;
6983
+ declare type T_ErrorHandlingMiddlewareFunction<T> = ErrorHandlingMiddlewareFunction<T>;
6984
+ export { T_ErrorHandlingMiddlewareFunction }
6985
+ export { T_ErrorHandlingMiddlewareFunction as T_ErrorHandlingMiddlewareFunction_alias_1 }
6986
+ export { T_ErrorHandlingMiddlewareFunction as T_ErrorHandlingMiddlewareFunction_alias_2 }
6987
+
6988
+ declare type T_ErrorHandlingMiddlewareFunction_2<T> = ErrorHandlingMiddlewareFunction<T>;
6989
+
6990
+ declare type T_ErrorHandlingMiddlewareWithOption<T> = ErrorHandlingMiddlewareWithOption<T>;
6991
+ export { T_ErrorHandlingMiddlewareWithOption }
6992
+ export { T_ErrorHandlingMiddlewareWithOption as T_ErrorHandlingMiddlewareWithOption_alias_1 }
6993
+ export { T_ErrorHandlingMiddlewareWithOption as T_ErrorHandlingMiddlewareWithOption_alias_2 }
6994
+
6995
+ declare type T_ErrorHandlingMiddlewareWithOption_2<T> = ErrorHandlingMiddlewareWithOption<T>;
6996
+
6997
+ declare type T_Filter<T> = Filter<T>;
6965
6998
  export { T_Filter }
6966
6999
  export { T_Filter as T_Filter_alias_1 }
6967
7000
  export { T_Filter as T_Filter_alias_2 }
6968
7001
 
6969
- declare type T_Filter_2<D> = Filter<D>;
7002
+ declare type T_Filter_2<T> = Filter<T>;
6970
7003
 
6971
7004
  declare type T_FilterQuery<T> = FilterQuery<T>;
6972
7005
  export { T_FilterQuery }
@@ -6975,42 +7008,19 @@ export { T_FilterQuery as T_FilterQuery_alias_2 }
6975
7008
 
6976
7009
  declare type T_FilterQuery_2<T> = FilterQuery<T>;
6977
7010
 
6978
- declare type T_GenerateSlugQueryResponse<D> = T_FilterQuery<D> & {
6979
- $or: Array<{
6980
- slug: string;
6981
- } | {
6982
- slugHistory: string;
6983
- }>;
6984
- } & {
6985
- id?: {
6986
- $ne: string;
6987
- };
6988
- };
6989
- export { T_GenerateSlugQueryResponse }
6990
- export { T_GenerateSlugQueryResponse as T_GenerateSlugQueryResponse_alias_1 }
6991
- export { T_GenerateSlugQueryResponse as T_GenerateSlugQueryResponse_alias_2 }
6992
-
6993
- declare type T_GenerateSlugQueryResponse_2<D> = T_FilterQuery_2<D> & {
6994
- $or: Array<{ slug: string } | { slugHistory: string }>;
6995
- } & { id?: { $ne: string } };
6996
-
6997
- declare type T_Input_MongooseSchema<D> = SchemaDefinition<D>;
7011
+ declare type T_Input_MongooseSchema<T> = SchemaDefinition<T>;
6998
7012
  export { T_Input_MongooseSchema }
6999
7013
  export { T_Input_MongooseSchema as T_Input_MongooseSchema_alias_1 }
7000
7014
  export { T_Input_MongooseSchema as T_Input_MongooseSchema_alias_2 }
7001
7015
 
7002
- declare type T_Input_MongooseSchema_2<D> = SchemaDefinition<D>;
7016
+ declare type T_Input_MongooseSchema_2<T> = SchemaDefinition<T>;
7003
7017
 
7004
7018
  declare type T_Input_Populate = string | string[] | T_PopulateOptions | T_PopulateOptions[];
7005
7019
  export { T_Input_Populate }
7006
7020
  export { T_Input_Populate as T_Input_Populate_alias_1 }
7007
7021
  export { T_Input_Populate as T_Input_Populate_alias_2 }
7008
7022
 
7009
- declare type T_Input_Populate_2 =
7010
- | string
7011
- | string[]
7012
- | T_PopulateOptions_2
7013
- | T_PopulateOptions_2[];
7023
+ declare type T_Input_Populate_2 = string | string[] | T_PopulateOptions_2 | T_PopulateOptions_2[];
7014
7024
 
7015
7025
  declare type T_InsertManyOptions = InsertManyOptions;
7016
7026
  export { T_InsertManyOptions }
@@ -7019,45 +7029,52 @@ export { T_InsertManyOptions as T_InsertManyOptions_alias_2 }
7019
7029
 
7020
7030
  declare type T_InsertManyOptions_2 = InsertManyOptions;
7021
7031
 
7022
- declare type T_InsertManyResult<D> = InsertManyResult<D>;
7032
+ declare type T_InsertManyResult<T> = InsertManyResult<T>;
7023
7033
  export { T_InsertManyResult }
7024
7034
  export { T_InsertManyResult as T_InsertManyResult_alias_1 }
7025
7035
  export { T_InsertManyResult as T_InsertManyResult_alias_2 }
7026
7036
 
7027
- declare type T_InsertManyResult_2<D> = InsertManyResult<D>;
7037
+ declare type T_InsertManyResult_2<T> = InsertManyResult<T>;
7028
7038
 
7029
- declare type T_InsertOneResult<D> = InsertOneResult<D>;
7039
+ declare type T_InsertOneResult<T> = InsertOneResult<T>;
7030
7040
  export { T_InsertOneResult }
7031
7041
  export { T_InsertOneResult as T_InsertOneResult_alias_1 }
7032
7042
  export { T_InsertOneResult as T_InsertOneResult_alias_2 }
7033
7043
 
7034
- declare type T_InsertOneResult_2<D> = InsertOneResult<D>;
7044
+ declare type T_InsertOneResult_2<T> = InsertOneResult<T>;
7045
+
7046
+ declare type T_MongooseModelMiddlewareMethod = string | RegExp;
7047
+ export { T_MongooseModelMiddlewareMethod }
7048
+ export { T_MongooseModelMiddlewareMethod as T_MongooseModelMiddlewareMethod_alias_1 }
7049
+ export { T_MongooseModelMiddlewareMethod as T_MongooseModelMiddlewareMethod_alias_2 }
7050
+
7051
+ declare type T_MongooseModelMiddlewareMethod_2 = string | RegExp;
7035
7052
 
7036
- declare type T_MiddlewareContext<T> = T | QueryWithHelpers<T, T>;
7037
- export { T_MiddlewareContext }
7038
- export { T_MiddlewareContext as T_MiddlewareContext_alias_1 }
7039
- export { T_MiddlewareContext as T_MiddlewareContext_alias_2 }
7053
+ declare type T_MongooseModelMiddlewarePostFunction<T> = T_PostMiddlewareFunction<T> & T_ErrorHandlingMiddlewareFunction<T> & T_ErrorHandlingMiddlewareWithOption<T>;
7054
+ export { T_MongooseModelMiddlewarePostFunction }
7055
+ export { T_MongooseModelMiddlewarePostFunction as T_MongooseModelMiddlewarePostFunction_alias_1 }
7056
+ export { T_MongooseModelMiddlewarePostFunction as T_MongooseModelMiddlewarePostFunction_alias_2 }
7040
7057
 
7041
- declare type T_MiddlewareContext_2<T> = T | QueryWithHelpers<T, T>;
7058
+ declare type T_MongooseModelMiddlewarePostFunction_2<T> = T_PostMiddlewareFunction_2<T> & T_ErrorHandlingMiddlewareFunction_2<T> & T_ErrorHandlingMiddlewareWithOption_2<T>;
7042
7059
 
7043
- declare type T_MongooseModelMiddlewareFunction = (this: T_MiddlewareContext<C_Document>, next: I_HookNextFunction) => void;
7044
- export { T_MongooseModelMiddlewareFunction }
7045
- export { T_MongooseModelMiddlewareFunction as T_MongooseModelMiddlewareFunction_alias_1 }
7046
- export { T_MongooseModelMiddlewareFunction as T_MongooseModelMiddlewareFunction_alias_2 }
7060
+ declare type T_MongooseModelMiddlewarePreFunction<T> = T_PreMiddlewareFunction<T> & T_PreSaveMiddlewareFunction<T>;
7061
+ export { T_MongooseModelMiddlewarePreFunction }
7062
+ export { T_MongooseModelMiddlewarePreFunction as T_MongooseModelMiddlewarePreFunction_alias_1 }
7063
+ export { T_MongooseModelMiddlewarePreFunction as T_MongooseModelMiddlewarePreFunction_alias_2 }
7047
7064
 
7048
- declare type T_MongooseModelMiddlewareFunction_2 = (this: T_MiddlewareContext_2<C_Document_2>, next: I_HookNextFunction_2) => void;
7065
+ declare type T_MongooseModelMiddlewarePreFunction_2<T> = T_PreMiddlewareFunction_2<T> & T_PreSaveMiddlewareFunction_2<T>;
7049
7066
 
7050
7067
  declare type T_MongoosePlugin = (schema: Schema, options?: Record<string, unknown>) => void;
7051
7068
  export { T_MongoosePlugin }
7052
7069
  export { T_MongoosePlugin as T_MongoosePlugin_alias_1 }
7053
7070
  export { T_MongoosePlugin as T_MongoosePlugin_alias_2 }
7054
7071
 
7055
- declare type T_MongooseShema<D> = mongoose.Schema<D>;
7072
+ declare type T_MongooseShema<T> = mongoose.Schema<T>;
7056
7073
  export { T_MongooseShema }
7057
7074
  export { T_MongooseShema as T_MongooseShema_alias_1 }
7058
7075
  export { T_MongooseShema as T_MongooseShema_alias_2 }
7059
7076
 
7060
- declare type T_MongooseShema_2<D> = mongoose.Schema<D>;
7077
+ declare type T_MongooseShema_2<T> = mongoose.Schema<T>;
7061
7078
 
7062
7079
  declare type T_NextIntlMessageList = Record<string, AbstractIntlMessages>;
7063
7080
  export { T_NextIntlMessageList }
@@ -7116,6 +7133,27 @@ export { T_PopulateOptions as T_PopulateOptions_alias_2 }
7116
7133
 
7117
7134
  declare type T_PopulateOptions_2 = PopulateOptions;
7118
7135
 
7136
+ declare type T_PostMiddlewareFunction<T> = PostMiddlewareFunction<T>;
7137
+ export { T_PostMiddlewareFunction }
7138
+ export { T_PostMiddlewareFunction as T_PostMiddlewareFunction_alias_1 }
7139
+ export { T_PostMiddlewareFunction as T_PostMiddlewareFunction_alias_2 }
7140
+
7141
+ declare type T_PostMiddlewareFunction_2<T> = PostMiddlewareFunction<T>;
7142
+
7143
+ declare type T_PreMiddlewareFunction<T> = PreMiddlewareFunction<T>;
7144
+ export { T_PreMiddlewareFunction }
7145
+ export { T_PreMiddlewareFunction as T_PreMiddlewareFunction_alias_1 }
7146
+ export { T_PreMiddlewareFunction as T_PreMiddlewareFunction_alias_2 }
7147
+
7148
+ declare type T_PreMiddlewareFunction_2<T> = PreMiddlewareFunction<T>;
7149
+
7150
+ declare type T_PreSaveMiddlewareFunction<T> = PreSaveMiddlewareFunction<T>;
7151
+ export { T_PreSaveMiddlewareFunction }
7152
+ export { T_PreSaveMiddlewareFunction as T_PreSaveMiddlewareFunction_alias_1 }
7153
+ export { T_PreSaveMiddlewareFunction as T_PreSaveMiddlewareFunction_alias_2 }
7154
+
7155
+ declare type T_PreSaveMiddlewareFunction_2<T> = PreSaveMiddlewareFunction<T>;
7156
+
7119
7157
  declare type T_ProjectionType<T> = ProjectionType<T>;
7120
7158
  export { T_ProjectionType }
7121
7159
  export { T_ProjectionType as T_ProjectionType_alias_1 }
@@ -7130,6 +7168,13 @@ export { T_QueryOptions as T_QueryOptions_alias_2 }
7130
7168
 
7131
7169
  declare type T_QueryOptions_2<T> = QueryOptions<T>;
7132
7170
 
7171
+ declare type T_QueryWithHelpers<T> = QueryWithHelpers<T, T>;
7172
+ export { T_QueryWithHelpers }
7173
+ export { T_QueryWithHelpers as T_QueryWithHelpers_alias_1 }
7174
+ export { T_QueryWithHelpers as T_QueryWithHelpers_alias_2 }
7175
+
7176
+ declare type T_QueryWithHelpers_2<T> = QueryWithHelpers<T, T>;
7177
+
7133
7178
  declare interface T_ThrowResponseArgs {
7134
7179
  message?: string;
7135
7180
  status?: {