@nextage/nx-frame-be 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +1 -0
  2. package/README.md.old +45 -0
  3. package/build/app.d.ts +0 -0
  4. package/build/app.js +1 -0
  5. package/build/aws/aws-cluster-manager.d.ts +28 -0
  6. package/build/aws/aws-cluster-manager.js +105 -0
  7. package/build/aws/aws-email-manager.d.ts +24 -0
  8. package/build/aws/aws-email-manager.js +57 -0
  9. package/build/aws/aws-queue-manager.d.ts +37 -0
  10. package/build/aws/aws-queue-manager.js +100 -0
  11. package/build/aws/aws.interfaces.d.ts +39 -0
  12. package/build/aws/aws.interfaces.js +2 -0
  13. package/build/aws/index.d.ts +4 -0
  14. package/build/aws/index.js +20 -0
  15. package/build/common/base/__test__/base.model.test.d.ts +1 -0
  16. package/build/common/base/__test__/base.model.test.js +283 -0
  17. package/build/common/base/base.controller.d.ts +124 -0
  18. package/build/common/base/base.controller.js +134 -0
  19. package/build/common/base/base.interfaces.d.ts +81 -0
  20. package/build/common/base/base.interfaces.js +2 -0
  21. package/build/common/base/base.model.d.ts +384 -0
  22. package/build/common/base/base.model.js +730 -0
  23. package/build/common/base/folded.model.d.ts +41 -0
  24. package/build/common/base/folded.model.js +215 -0
  25. package/build/common/base/mongo-utils.d.ts +122 -0
  26. package/build/common/base/mongo-utils.js +242 -0
  27. package/build/common/base/mongo.types.d.ts +20 -0
  28. package/build/common/base/mongo.types.js +2 -0
  29. package/build/common/base/sql-utils.d.ts +20 -0
  30. package/build/common/base/sql-utils.js +69 -0
  31. package/build/common/constants.d.ts +27 -0
  32. package/build/common/constants.js +70 -0
  33. package/build/common/crypto/crypto.classes.d.ts +100 -0
  34. package/build/common/crypto/crypto.classes.js +146 -0
  35. package/build/common/crypto/crypto.constants.d.ts +68 -0
  36. package/build/common/crypto/crypto.constants.js +57 -0
  37. package/build/common/crypto/crypto.error.d.ts +4 -0
  38. package/build/common/crypto/crypto.error.js +10 -0
  39. package/build/common/crypto/crypto.interfaces.d.ts +46 -0
  40. package/build/common/crypto/crypto.interfaces.js +2 -0
  41. package/build/common/crypto/crypto.utils.d.ts +139 -0
  42. package/build/common/crypto/crypto.utils.js +380 -0
  43. package/build/common/crypto/index.d.ts +3 -0
  44. package/build/common/crypto/index.js +19 -0
  45. package/build/common/enums.d.ts +61 -0
  46. package/build/common/enums.js +75 -0
  47. package/build/common/errors.d.ts +13 -0
  48. package/build/common/errors.js +24 -0
  49. package/build/common/express/express.interfaces.d.ts +20 -0
  50. package/build/common/express/express.interfaces.js +2 -0
  51. package/build/common/express/express.utils.d.ts +31 -0
  52. package/build/common/express/express.utils.js +85 -0
  53. package/build/common/express/index.d.ts +2 -0
  54. package/build/common/express/index.js +18 -0
  55. package/build/common/graphql/__test__/generator.schema.test.d.ts +1 -0
  56. package/build/common/graphql/__test__/generator.schema.test.js +391 -0
  57. package/build/common/graphql/directives.d.ts +18 -0
  58. package/build/common/graphql/directives.js +56 -0
  59. package/build/common/graphql/generator copy.d.ts +41 -0
  60. package/build/common/graphql/generator copy.js +385 -0
  61. package/build/common/graphql/generator.d.ts +42 -0
  62. package/build/common/graphql/generator.js +385 -0
  63. package/build/common/graphql/index.d.ts +4 -0
  64. package/build/common/graphql/index.js +21 -0
  65. package/build/common/graphql/interfaces.d.ts +67 -0
  66. package/build/common/graphql/interfaces.js +2 -0
  67. package/build/common/graphql/loader.d.ts +22 -0
  68. package/build/common/graphql/loader.js +186 -0
  69. package/build/common/graphql/scalars/index.d.ts +10 -0
  70. package/build/common/graphql/scalars/index.js +6 -0
  71. package/build/common/graphql/scalars/resolvers.d.ts +8 -0
  72. package/build/common/graphql/scalars/resolvers.js +71 -0
  73. package/build/common/graphql/scalars/schema.d.ts +1 -0
  74. package/build/common/graphql/scalars/schema.js +12 -0
  75. package/build/common/graphql/types/index.d.ts +3 -0
  76. package/build/common/graphql/types/index.js +6 -0
  77. package/build/common/graphql/types/schema.d.ts +1 -0
  78. package/build/common/graphql/types/schema.js +98 -0
  79. package/build/common/graphql/utils.d.ts +18 -0
  80. package/build/common/graphql/utils.js +40 -0
  81. package/build/common/grid-fs/gridfs-base.model.d.ts +53 -0
  82. package/build/common/grid-fs/gridfs-base.model.js +95 -0
  83. package/build/common/grid-fs/gridfs.interfaces.d.ts +41 -0
  84. package/build/common/grid-fs/gridfs.interfaces.js +2 -0
  85. package/build/common/index.d.ts +10 -0
  86. package/build/common/index.js +32 -0
  87. package/build/common/interfaces.d.ts +26 -0
  88. package/build/common/interfaces.js +10 -0
  89. package/build/common/manager/bulk-manager.d.ts +59 -0
  90. package/build/common/manager/bulk-manager.js +103 -0
  91. package/build/common/manager/crypto-manager.d.ts +88 -0
  92. package/build/common/manager/crypto-manager.js +200 -0
  93. package/build/common/manager/index.d.ts +5 -0
  94. package/build/common/manager/index.js +21 -0
  95. package/build/common/manager/pubsub-manager.d.ts +20 -0
  96. package/build/common/manager/pubsub-manager.js +38 -0
  97. package/build/common/manager/shutdown-manager.d.ts +27 -0
  98. package/build/common/manager/shutdown-manager.js +118 -0
  99. package/build/common/manager/socket-io-cli-manager.d.ts +53 -0
  100. package/build/common/manager/socket-io-cli-manager.js +91 -0
  101. package/build/common/manager/tunnel-manager.d.ts +28 -0
  102. package/build/common/manager/tunnel-manager.js +49 -0
  103. package/build/common/models/coded-entity.controller.d.ts +5 -0
  104. package/build/common/models/coded-entity.controller.js +9 -0
  105. package/build/common/models/coded-entity.model.d.ts +25 -0
  106. package/build/common/models/coded-entity.model.js +51 -0
  107. package/build/common/models/user.model.d.ts +56 -0
  108. package/build/common/models/user.model.js +72 -0
  109. package/build/common/types.d.ts +136 -0
  110. package/build/common/types.js +16 -0
  111. package/build/common/utils.d.ts +552 -0
  112. package/build/common/utils.js +1100 -0
  113. package/build/index.d.ts +2 -0
  114. package/build/index.js +18 -0
  115. package/build/test/env.d.ts +0 -0
  116. package/build/test/env.js +5 -0
  117. package/build/test/setup.d.ts +6 -0
  118. package/build/test/setup.js +59 -0
  119. package/package.json +90 -0
@@ -0,0 +1,384 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="mongoose/types/aggregate" />
3
+ /// <reference types="mongoose/types/callback" />
4
+ /// <reference types="mongoose/types/collection" />
5
+ /// <reference types="mongoose/types/connection" />
6
+ /// <reference types="mongoose/types/cursor" />
7
+ /// <reference types="mongoose/types/document" />
8
+ /// <reference types="mongoose/types/error" />
9
+ /// <reference types="mongoose/types/expressions" />
10
+ /// <reference types="mongoose/types/helpers" />
11
+ /// <reference types="mongoose/types/middlewares" />
12
+ /// <reference types="mongoose/types/indexes" />
13
+ /// <reference types="mongoose/types/models" />
14
+ /// <reference types="mongoose/types/mongooseoptions" />
15
+ /// <reference types="mongoose/types/pipelinestage" />
16
+ /// <reference types="mongoose/types/populate" />
17
+ /// <reference types="mongoose/types/query" />
18
+ /// <reference types="mongoose/types/schemaoptions" />
19
+ /// <reference types="mongoose/types/schematypes" />
20
+ /// <reference types="mongoose/types/session" />
21
+ /// <reference types="mongoose/types/types" />
22
+ /// <reference types="mongoose/types/utility" />
23
+ /// <reference types="mongoose/types/validation" />
24
+ /// <reference types="mongoose/types/virtuals" />
25
+ /// <reference types="mongoose/types/inferschematype" />
26
+ /// <reference types="mongoose/types/inferrawdoctype" />
27
+ import mongoose from 'mongoose';
28
+ import { EventEmitter } from 'events';
29
+ import { NxContext, NxObject } from '../interfaces';
30
+ import { BaseMongoDoc, BaseMongoModel } from './base.interfaces';
31
+ import { ArrayItemParams, ChangeStreamData } from './base.interfaces';
32
+ import { CrudItemEvent, FilterParams } from './base.interfaces';
33
+ import { QueryPagination } from './base.interfaces';
34
+ import { ModelData, ModelDefParams } from './mongo.types';
35
+ export declare class BaseModel<TAttrs, TDoc extends BaseMongoDoc, TMongoModel extends BaseMongoModel<TAttrs, TDoc>> extends EventEmitter {
36
+ name: string;
37
+ mgModel: TMongoModel;
38
+ private readonly defaultParams;
39
+ private readonly logger;
40
+ private readonly events;
41
+ constructor({ name, model, params, logger }: ModelData<TDoc, TMongoModel>);
42
+ /**
43
+ *
44
+ */
45
+ get schema(): {
46
+ id?: mongoose.SchemaDefinitionProperty<string | undefined, BaseMongoDoc> | undefined;
47
+ _id?: mongoose.SchemaDefinitionProperty<unknown, BaseMongoDoc> | undefined;
48
+ __v?: mongoose.SchemaDefinitionProperty<any, BaseMongoDoc> | undefined;
49
+ };
50
+ /**
51
+ * Get mongodb collection name
52
+ */
53
+ get collectionName(): string | null;
54
+ /**
55
+ * Get Mongoose model name
56
+ */
57
+ get modelName(): string | null;
58
+ /**
59
+ * Get default parameters
60
+ */
61
+ get modelParams(): ModelDefParams | null;
62
+ /**
63
+ *
64
+ */
65
+ init(): void;
66
+ /**
67
+ *
68
+ * @param {*} options
69
+ */
70
+ initBulk(options?: mongoose.mongo.BulkWriteOptions): mongoose.mongo.OrderedBulkOperation;
71
+ /**
72
+ *
73
+ * @param {*} pipeline
74
+ * @param {*} params
75
+ * @param {*} context
76
+ */
77
+ aggregate(pipeline: mongoose.PipelineStage[], params?: FilterParams, context?: NxContext): Promise<any[]>;
78
+ /**
79
+ *
80
+ * @param {*} pipeline
81
+ * @param {*} params
82
+ * @param {*} context
83
+ */
84
+ aggregateNativeFiltered(pipeline: mongoose.PipelineStage[], params: FilterParams | undefined, context: NxContext): Promise<mongoose.mongo.AggregationCursor<any> | null>;
85
+ /**
86
+ *
87
+ * @param {*} pipeline
88
+ * @param {*} params
89
+ * @param {*} context
90
+ */
91
+ aggregateNative(pipeline: mongoose.PipelineStage[]): mongoose.mongo.AggregationCursor<any>;
92
+ /**
93
+ * Simple Find wrapper
94
+ * @param {*} params
95
+ * @param {*} fields
96
+ * @param {*} options
97
+ */
98
+ find(params: FilterParams, fields: NxObject, options: mongoose.QueryOptions<TDoc>): Promise<(mongoose.Document<unknown, {}, BaseMongoDoc> & BaseMongoDoc & Required<{
99
+ _id: unknown;
100
+ }>)[]>;
101
+ list(params?: FilterParams, fields?: mongoose.ProjectionType<BaseMongoDoc>, pagination?: QueryPagination, context?: NxContext): Promise<TDoc[]>;
102
+ list(params: FilterParams, fields: mongoose.ProjectionType<BaseMongoDoc>, pagination: QueryPagination, queryActions: NxObject, context: NxContext): Promise<TDoc[]>;
103
+ /**
104
+ * Get documents using mongodb native method
105
+ *
106
+ * @param {*} params
107
+ * @param {*} callback
108
+ */
109
+ listNative(params?: FilterParams, options?: mongoose.mongo.FindOptions<mongoose.mongo.BSON.Document>): mongoose.mongo.FindCursor<mongoose.mongo.WithId<mongoose.mongo.BSON.Document>>;
110
+ /**
111
+ *
112
+ * @param params
113
+ * @param context
114
+ * @returns
115
+ */
116
+ count(params?: FilterParams, context?: NxContext): Promise<number>;
117
+ /**
118
+ * Get document by ID using Moongose wrapper method
119
+ *
120
+ * @param {*} id
121
+ * @param context
122
+ */
123
+ get(id: string, context?: NxContext): Promise<TDoc | null>;
124
+ /**
125
+ *
126
+ * @param {*} item
127
+ * @param {*} context
128
+ */
129
+ checkContextPermission(item: any, context?: NxContext): any;
130
+ /**
131
+ *
132
+ * @param {*} context
133
+ */
134
+ checkChannelSubscriber(payloadId: string, context?: NxContext): Promise<boolean>;
135
+ /**
136
+ * Get document using Moongose wrapper method
137
+ *
138
+ * @param {*} params
139
+ * @param {*} context
140
+ */
141
+ findOne(params: FilterParams, context?: NxContext): Promise<TDoc | null>;
142
+ /**
143
+ * Get document and update using Moongose wrapper method
144
+ *
145
+ * @param {*} filter
146
+ * @param {*} update
147
+ * @param {*} options
148
+ */
149
+ findOneAndUpdate(filter: FilterParams, update: mongoose.UpdateQuery<TDoc>, options: NxObject): Promise<TDoc | null>;
150
+ /**
151
+ *
152
+ * @param {*} params
153
+ */
154
+ findOneNative(params: FilterParams): Promise<mongoose.mongo.WithId<mongoose.mongo.BSON.Document> | null>;
155
+ /**
156
+ *
157
+ * @param {*} item
158
+ */
159
+ beforeCreate(item: TAttrs, context: NxContext): Promise<TAttrs>;
160
+ /**
161
+ *
162
+ * @param {*} item
163
+ */
164
+ beforeUpdate(item: TAttrs, context: NxContext): Promise<TAttrs>;
165
+ /**
166
+ *
167
+ * @param {*} item
168
+ */
169
+ beforeCopy(item: TAttrs, context: NxContext): Promise<TAttrs>;
170
+ /**
171
+ *
172
+ * @param {*} id
173
+ */
174
+ beforeRemove(id: string, context: NxContext): Promise<string>;
175
+ /**
176
+ *
177
+ * @param {*} item
178
+ */
179
+ afterCreate(item: TDoc, context: NxContext): Promise<TDoc>;
180
+ /**
181
+ *
182
+ * @param {*} item
183
+ */
184
+ afterUpdate(item: TDoc, context: NxContext): Promise<TDoc>;
185
+ /**
186
+ *
187
+ * @param {*} item
188
+ */
189
+ afterCopy(item: TDoc, context: NxContext): Promise<TDoc>;
190
+ /**
191
+ *
192
+ * @param {*} item
193
+ */
194
+ afterRemove(item: TDoc, context: NxContext): Promise<TDoc>;
195
+ /**
196
+ *
197
+ * @param {*} params
198
+ */
199
+ manageFilterArrayParams(params: FilterParams): void;
200
+ /**
201
+ *
202
+ * @param {*} params
203
+ * @param {*} context
204
+ */
205
+ updateFilters(params: FilterParams, context: NxContext): Promise<FilterParams | null>;
206
+ /**
207
+ *
208
+ * @param {*} sort
209
+ */
210
+ parseSortObject(sort: NxObject): NxObject;
211
+ /**
212
+ * Create document using Moongose wrapper method
213
+ *
214
+ * @param {*} item
215
+ */
216
+ create(item: TAttrs, context: NxContext): Promise<TDoc>;
217
+ /**
218
+ * Call insertOne mongodb native method
219
+ *
220
+ * @param {*} items
221
+ * @param {*} callback
222
+ */
223
+ insertOneNative(item: TAttrs, context: NxContext): Promise<mongoose.mongo.InsertOneResult<mongoose.mongo.BSON.Document>>;
224
+ /**
225
+ * Call insertMany Mongoose method
226
+ *
227
+ * @param {*} items
228
+ * @param {*} options
229
+ */
230
+ insertMany(items: TDoc, options: mongoose.InsertManyOptions): Promise<NxObject[]>;
231
+ /**
232
+ * Call insertMany mongodb native method
233
+ *
234
+ * @param {*} items
235
+ * @param {*} callback
236
+ */
237
+ insertManyNative(items: mongoose.mongo.OptionalId<Document>[], options: mongoose.mongo.BulkWriteOptions): Promise<mongoose.mongo.InsertManyResult<mongoose.mongo.BSON.Document>>;
238
+ update(id: string, item: TAttrs, context: NxContext): Promise<TDoc>;
239
+ update(id: string, item: TAttrs, mergeItem: boolean, context: NxContext): Promise<TDoc>;
240
+ /**
241
+ * Update document using mongodb generic method
242
+ *
243
+ * @param {*} filter
244
+ * @param {*} update
245
+ * @param {*} options
246
+ */
247
+ updateOne(filter: FilterParams, update: mongoose.UpdateQuery<TMongoModel>, options?: mongoose.QueryOptions<TMongoModel>): Promise<TMongoModel | null>;
248
+ /**
249
+ * Update document using mongodb native method
250
+ *
251
+ * @param {*} filter
252
+ * @param {*} update
253
+ * @param {*} options
254
+ * @param {*} callback
255
+ */
256
+ updateNative(filter: FilterParams, update: mongoose.UpdateQuery<TMongoModel>, options?: mongoose.mongo.UpdateOptions): Promise<mongoose.mongo.UpdateResult<Document>>;
257
+ /**
258
+ * Update many documents using mongodb native method
259
+ *
260
+ * @param {*} filter
261
+ * @param {*} update
262
+ * @param {*} options
263
+ */
264
+ updateManyNative(filter: FilterParams, update: mongoose.UpdateQuery<TMongoModel>, options?: mongoose.mongo.UpdateOptions): Promise<mongoose.mongo.UpdateResult<Document>>;
265
+ /**
266
+ * Update document using Mongoose wrapper method
267
+ *
268
+ * @param {*} id
269
+ * @param {*} update
270
+ * @param {*} options
271
+ */
272
+ updateRaw(id: string, update: mongoose.UpdateQuery<TMongoModel>, options?: mongoose.QueryOptions<TMongoModel>): Promise<TMongoModel | null>;
273
+ /**
274
+ * Copy document by ID
275
+ *
276
+ * @param {*} id
277
+ */
278
+ copy(id: string, item: TAttrs, context: NxContext): Promise<TDoc | null>;
279
+ /**
280
+ *
281
+ * @param {*} id
282
+ * @param {*} param1
283
+ * @param {*} options
284
+ */
285
+ addArrayItem(id: string, { arrayPath, item }: ArrayItemParams, options: mongoose.QueryOptions<Document> | undefined, context: NxContext): Promise<TDoc | null>;
286
+ /**
287
+ *
288
+ * @param {*} id
289
+ * @param {*} param1
290
+ * @param {*} options
291
+ * @param {*} callback
292
+ */
293
+ addArrayItemNative(id: string, { arrayPath, item }: ArrayItemParams, options: mongoose.mongo.UpdateOptions): Promise<mongoose.mongo.UpdateResult<Document>>;
294
+ /**
295
+ *
296
+ * @param {*} id
297
+ * @param {*} updateParams
298
+ * @param {*} options
299
+ */
300
+ updateArrayItem(id: string, { arrayPath, arrayFilter, updateAttr, partial, item }: ArrayItemParams, options: mongoose.QueryOptions<Document> | undefined, context: NxContext): Promise<TDoc | null>;
301
+ /**
302
+ *
303
+ * @param {*} id
304
+ * @param {*} updateParams
305
+ * @param {*} options
306
+ */
307
+ updateArrayItemNative(id: string, { arrayPath, arrayFilter, updateAttr, item }: ArrayItemParams, options: mongoose.mongo.UpdateOptions): Promise<mongoose.mongo.UpdateResult<Document>>;
308
+ /**
309
+ *
310
+ * @param {*} id
311
+ * @param {*} updateParams
312
+ * @param {*} options
313
+ */
314
+ updateArrayItemManyNative(filter: NxObject, { arrayPath, arrayFilter, updateAttr, item }: ArrayItemParams, options: mongoose.mongo.UpdateOptions): Promise<mongoose.mongo.UpdateResult<Document>>;
315
+ /**
316
+ *
317
+ * @param {*} id
318
+ * @param {*} param1
319
+ * @param {*} options
320
+ */
321
+ removeArrayItem(id: string, { arrayPath, item }: ArrayItemParams, options: mongoose.QueryOptions<Document> | undefined, context: NxContext): Promise<TDoc | null>;
322
+ /**
323
+ *
324
+ * @param {*} id
325
+ * @param {*} param1
326
+ * @param {*} options
327
+ */
328
+ removeArrayItemNative(id: string, { arrayPath, item }: ArrayItemParams, options: mongoose.mongo.UpdateOptions): Promise<mongoose.mongo.UpdateResult<Document>>;
329
+ /**
330
+ * Delete document using Mongoose wrapper method
331
+ *
332
+ * @param {*} id
333
+ */
334
+ remove(id: string, context: NxContext): Promise<TDoc>;
335
+ /**
336
+ *
337
+ * @param {*} filter
338
+ * @param {*} callback
339
+ */
340
+ removeNative(filter: FilterParams, options?: mongoose.mongo.DeleteOptions): Promise<mongoose.mongo.DeleteResult>;
341
+ /**
342
+ *
343
+ * @param items
344
+ * @param context
345
+ * @returns
346
+ */
347
+ bulkCreate(items: TAttrs[], context: NxContext): Promise<(Awaited<TDoc> | null)[]>;
348
+ /**
349
+ *
350
+ * @param ids
351
+ * @param items
352
+ * @param context
353
+ * @returns
354
+ */
355
+ bulkUpdate(ids: string[], items: TAttrs | TAttrs[], context: NxContext): Promise<(Awaited<TDoc> | null)[]>;
356
+ /**
357
+ *
358
+ * @param ids
359
+ * @param context
360
+ * @returns
361
+ */
362
+ bulkRemove(ids: string, context: NxContext): Promise<TDoc[]>;
363
+ /**
364
+ *
365
+ * @param {*} evt
366
+ * @param {*} context
367
+ */
368
+ publishCRUDEvent(evt: CrudItemEvent, context?: NxContext): void;
369
+ /**
370
+ *
371
+ * @param {*} name Name of new stream to be created
372
+ * @param {*} pipeline Filter pipeline
373
+ * @param {*} callback stream event callback
374
+ * @param {*} duration time in ms to terminate the stream
375
+ * @returns change stream data { name, duration, stream }
376
+ */
377
+ addChangeStream(name: string, pipeline?: Record<string, unknown>[], callback?: Function, duration?: number): Promise<ChangeStreamData>;
378
+ /**
379
+ *
380
+ * @param {*} csData change stream data { name, duration, stream }
381
+ * @returns
382
+ */
383
+ closeChangeStream({ name, stream, duration }: ChangeStreamData): Promise<void>;
384
+ }