@futdevpro/nts-dynamo 1.10.22 → 1.10.24

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 (84) hide show
  1. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +17 -0
  2. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts.map +1 -0
  3. package/build/_modules/oauth2/_routes/oauth2.controller.js +97 -0
  4. package/build/_modules/oauth2/_routes/oauth2.controller.js.map +1 -0
  5. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +31 -0
  6. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts.map +1 -0
  7. package/build/_modules/oauth2/_services/oauth2.auth-service.js +216 -0
  8. package/build/_modules/oauth2/_services/oauth2.auth-service.js.map +1 -0
  9. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +133 -0
  10. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts.map +1 -0
  11. package/build/_modules/oauth2/_services/oauth2.control-service.js +574 -0
  12. package/build/_modules/oauth2/_services/oauth2.control-service.js.map +1 -0
  13. package/build/_modules/oauth2/index.d.ts +4 -0
  14. package/build/_modules/oauth2/index.d.ts.map +1 -0
  15. package/build/_modules/oauth2/index.js +7 -0
  16. package/build/_modules/oauth2/index.js.map +1 -0
  17. package/build/_modules/open-ai/_enums/open-ai-model.enum.d.ts +11 -0
  18. package/build/_modules/open-ai/_enums/open-ai-model.enum.d.ts.map +1 -0
  19. package/build/_modules/open-ai/_enums/open-ai-model.enum.js +110 -0
  20. package/build/_modules/open-ai/_enums/open-ai-model.enum.js.map +1 -0
  21. package/build/_modules/open-ai/_models/gpt-call-settings.interface.d.ts +54 -0
  22. package/build/_modules/open-ai/_models/gpt-call-settings.interface.d.ts.map +1 -0
  23. package/build/_modules/open-ai/_models/gpt-call-settings.interface.js +65 -0
  24. package/build/_modules/open-ai/_models/gpt-call-settings.interface.js.map +1 -0
  25. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.d.ts +7 -0
  26. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.d.ts.map +1 -0
  27. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.js +3 -0
  28. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.js.map +1 -0
  29. package/build/_modules/open-ai/_models/open-ai-settings.interface.d.ts +17 -0
  30. package/build/_modules/open-ai/_models/open-ai-settings.interface.d.ts.map +1 -0
  31. package/build/_modules/open-ai/_models/open-ai-settings.interface.js +25 -0
  32. package/build/_modules/open-ai/_models/open-ai-settings.interface.js.map +1 -0
  33. package/build/_modules/open-ai/_services/embedding.control-service.d.ts +26 -0
  34. package/build/_modules/open-ai/_services/embedding.control-service.d.ts.map +1 -0
  35. package/build/_modules/open-ai/_services/embedding.control-service.js +54 -0
  36. package/build/_modules/open-ai/_services/embedding.control-service.js.map +1 -0
  37. package/build/_modules/open-ai/_services/gpt.service-base.d.ts +98 -0
  38. package/build/_modules/open-ai/_services/gpt.service-base.d.ts.map +1 -0
  39. package/build/_modules/open-ai/_services/gpt.service-base.js +284 -0
  40. package/build/_modules/open-ai/_services/gpt.service-base.js.map +1 -0
  41. package/build/_modules/open-ai/_services/open-ai.service-base.d.ts +23 -0
  42. package/build/_modules/open-ai/_services/open-ai.service-base.d.ts.map +1 -0
  43. package/build/_modules/open-ai/_services/open-ai.service-base.js +50 -0
  44. package/build/_modules/open-ai/_services/open-ai.service-base.js.map +1 -0
  45. package/build/_modules/open-ai/index.d.ts +8 -0
  46. package/build/_modules/open-ai/index.d.ts.map +1 -0
  47. package/build/_modules/open-ai/index.js +11 -0
  48. package/build/_modules/open-ai/index.js.map +1 -0
  49. package/build/_modules/server/errors/errors.control-service.d.ts +9 -9
  50. package/build/_modules/server/errors/errors.control-service.d.ts.map +1 -1
  51. package/build/_modules/server/errors/errors.control-service.js.map +1 -1
  52. package/build/_modules/server/errors/errors.controller.d.ts.map +1 -1
  53. package/build/_modules/server/errors/errors.controller.js +14 -29
  54. package/build/_modules/server/errors/errors.controller.js.map +1 -1
  55. package/build/_modules/server/errors/errors.data-service.d.ts +8 -8
  56. package/build/_modules/server/errors/errors.data-service.d.ts.map +1 -1
  57. package/build/_modules/server/errors/errors.data-service.js +42 -12
  58. package/build/_modules/server/errors/errors.data-service.js.map +1 -1
  59. package/build/_services/base/db.service.d.ts +38 -0
  60. package/build/_services/base/db.service.d.ts.map +1 -1
  61. package/build/_services/base/db.service.js +40 -0
  62. package/build/_services/base/db.service.js.map +1 -1
  63. package/build/_services/server/app.server.d.ts +17 -0
  64. package/build/_services/server/app.server.d.ts.map +1 -1
  65. package/build/_services/server/app.server.js +17 -0
  66. package/build/_services/server/app.server.js.map +1 -1
  67. package/package.json +47 -17
  68. package/src/_modules/oauth2/_routes/oauth2.controller.ts +99 -0
  69. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -0
  70. package/src/_modules/oauth2/_services/oauth2.control-service.ts +651 -0
  71. package/src/_modules/oauth2/index.ts +9 -0
  72. package/src/_modules/open-ai/_enums/open-ai-model.enum.ts +137 -0
  73. package/src/_modules/open-ai/_models/gpt-call-settings.interface.ts +69 -0
  74. package/src/_modules/open-ai/_models/open-ai-api-env-settings.interface.ts +12 -0
  75. package/src/_modules/open-ai/_models/open-ai-settings.interface.ts +31 -0
  76. package/src/_modules/open-ai/_services/embedding.control-service.ts +61 -0
  77. package/src/_modules/open-ai/_services/gpt.service-base.ts +440 -0
  78. package/src/_modules/open-ai/_services/open-ai.service-base.ts +73 -0
  79. package/src/_modules/open-ai/index.ts +13 -0
  80. package/src/_modules/server/errors/errors.control-service.ts +9 -6
  81. package/src/_modules/server/errors/errors.controller.ts +19 -29
  82. package/src/_modules/server/errors/errors.data-service.ts +55 -12
  83. package/src/_services/base/db.service.ts +41 -0
  84. package/src/_services/server/app.server.ts +18 -0
@@ -43,8 +43,12 @@ export class DyNTS_Errors_DataService<
43
43
  );
44
44
  } */
45
45
 
46
- async recordError(data?: T_Errors, alwaysRecord?: boolean): Promise<void> {
46
+ async recordError(data: T_Errors, issuer: string, alwaysRecord?: boolean): Promise<void> {
47
47
  try {
48
+ if (issuer && !this.issuer) {
49
+ this.issuer = issuer;
50
+ }
51
+
48
52
  if (
49
53
  !alwaysRecord &&
50
54
  this.data?.version?.includes('dev') ||
@@ -86,7 +90,7 @@ export class DyNTS_Errors_DataService<
86
90
  message: data.message,
87
91
  } as DyFM_DBFilter<T_Errors>, true);
88
92
 
89
- data.d_error = this.checkErrorIsStringifyableOrResolvable(data.d_error) as T_Error;
93
+ data.d_error = this.checkErrorIsStringifyableOrResolvable(data.d_error, this.issuer) as T_Error;
90
94
 
91
95
  try {
92
96
  JSON.stringify(data);
@@ -185,9 +189,13 @@ export class DyNTS_Errors_DataService<
185
189
  try {
186
190
  if (this.debugLog) DyFM_Log.log('handleInternalError');
187
191
 
192
+ if (issuer && !this.issuer) {
193
+ this.issuer = issuer;
194
+ }
195
+
188
196
  if ((error as DyFM_Error)?.flag?.includes(DyFM_errorFlag)) {
189
197
  this.data = new DyFM_Errors({
190
- issuer: issuer,
198
+ issuer: this.issuer,
191
199
  version: 'SERVER-' + this.version,
192
200
 
193
201
  source: 'INTERNAL-SERVER-ERROR: ' + (error as DyFM_Error)?.___issuerService,
@@ -206,7 +214,7 @@ export class DyNTS_Errors_DataService<
206
214
  }) as T_Errors;
207
215
  } else {
208
216
  this.data = new DyFM_Errors({
209
- issuer: issuer,
217
+ issuer: this.issuer,
210
218
  version: 'SERVER-' + this.version,
211
219
 
212
220
  source: 'UNEXPECTED-SERVER-ERROR',
@@ -224,7 +232,7 @@ export class DyNTS_Errors_DataService<
224
232
  DyFM_Log.H_error('__ERROR__:', error);
225
233
  } */
226
234
 
227
- await this.recordError(this.data, alwaysRecord);
235
+ await this.recordError(this.data, this.issuer, alwaysRecord);
228
236
 
229
237
  if (
230
238
  DyNTS_global_settings.log_settings.highDetailedLogs ||
@@ -252,13 +260,17 @@ export class DyNTS_Errors_DataService<
252
260
  }
253
261
  }
254
262
 
255
- checkErrorIsStringifyableOrResolvable(error: T_Error): T_Error | 'UNRESOLVABLE' {
263
+ checkErrorIsStringifyableOrResolvable(error: T_Error, issuer: string): T_Error | 'UNRESOLVABLE' {
256
264
  try {
265
+ if (issuer && !this.issuer) {
266
+ this.issuer = issuer;
267
+ }
268
+
257
269
  JSON.stringify(error);
258
270
  } catch (err) {
259
271
  DyFM_Log.error('error data is not stringifyable! trying to resolve...');
260
272
 
261
- error = DyFM_Shared.resolveCirculation(error) as T_Error;
273
+ error = DyFM_Shared.resolveCirculation(error);
262
274
 
263
275
  try {
264
276
  JSON.stringify(error);
@@ -277,7 +289,7 @@ export class DyNTS_Errors_DataService<
277
289
  }
278
290
  }
279
291
 
280
- return error as T_Error;
292
+ return error;
281
293
  }
282
294
 
283
295
  getPriorityMultiplierByLevel(level: DyFM_ErrorLevel): number {
@@ -309,6 +321,10 @@ export class DyNTS_Errors_DataService<
309
321
  issuer: string,
310
322
  ): Promise<DyFM_Paged<T_Errors>> {
311
323
  try {
324
+ if (issuer && !this.issuer) {
325
+ this.issuer = issuer;
326
+ }
327
+
312
328
  const errors: T_Errors[] = await this.findDataList({ __created: { $gte: date } });
313
329
 
314
330
  return DyFM_Array.paged(errors, 0, 100);
@@ -324,8 +340,12 @@ export class DyNTS_Errors_DataService<
324
340
  }
325
341
  }
326
342
 
327
- async deleteError(errorId: string, alwaysDelete?: boolean): Promise<void> {
343
+ async deleteError(errorId: string, issuer: string, alwaysDelete?: boolean): Promise<void> {
328
344
  try {
345
+ if (issuer && !this.issuer) {
346
+ this.issuer = issuer;
347
+ }
348
+
329
349
  await this.deleteData(errorId, alwaysDelete);
330
350
  } catch (error) {
331
351
  throw new DyFM_Error({
@@ -335,8 +355,12 @@ export class DyNTS_Errors_DataService<
335
355
  }
336
356
  }
337
357
 
338
- async deleteAllErrors(alwaysDelete?: boolean): Promise<void> {
358
+ async deleteAllErrors(issuer: string, alwaysDelete?: boolean): Promise<void> {
339
359
  try {
360
+ if (issuer && !this.issuer) {
361
+ this.issuer = issuer;
362
+ }
363
+
340
364
  await this.deleteAllData(alwaysDelete);
341
365
  } catch (error) {
342
366
  throw new DyFM_Error({
@@ -346,8 +370,12 @@ export class DyNTS_Errors_DataService<
346
370
  }
347
371
  }
348
372
 
349
- async getErrorsInRange(range: DyFM_RelativeDate): Promise<DyFM_Paged<T_Errors>> {
373
+ async getErrorsInRange(range: DyFM_RelativeDate, issuer: string): Promise<DyFM_Paged<T_Errors>> {
350
374
  try {
375
+ if (issuer && !this.issuer) {
376
+ this.issuer = issuer;
377
+ }
378
+
351
379
  const fromDate: Date = DyFM_Time.getDateByRelativeDate(range);
352
380
 
353
381
  let errors: T_Errors[] = await this.findDataList({ __lastModified: { $gte: fromDate } });
@@ -368,8 +396,13 @@ export class DyNTS_Errors_DataService<
368
396
  range: DyFM_RelativeDate,
369
397
  pageSize: number,
370
398
  pageIndex: number,
399
+ issuer: string,
371
400
  ): Promise<DyFM_Paged<T_Errors>> {
372
401
  try {
402
+ if (issuer && !this.issuer) {
403
+ this.issuer = issuer;
404
+ }
405
+
373
406
  const fromDate: Date = DyFM_Time.getDateByRelativeDate(range);
374
407
 
375
408
  let errors: T_Errors[] = await this.findDataList({ __lastModified: { $gte: fromDate } });
@@ -390,8 +423,13 @@ export class DyNTS_Errors_DataService<
390
423
  range: DyFM_RelativeDate,
391
424
  pageSize: number,
392
425
  pageIndex: number,
426
+ issuer: string,
393
427
  ): Promise<DyFM_Paged<T_Errors>> {
394
428
  try {
429
+ if (issuer && !this.issuer) {
430
+ this.issuer = issuer;
431
+ }
432
+
395
433
  const fromDate: Date = DyFM_Time.getDateByRelativeDate(range);
396
434
 
397
435
  let errors: T_Errors[] = await this.findDataList({
@@ -412,8 +450,13 @@ export class DyNTS_Errors_DataService<
412
450
 
413
451
  async searchErrors(
414
452
  searchQuery: DyFM_SearchQuery<T_Errors>,
415
- ): Promise<DyFM_SearchResult<T_Errors>> {
453
+ issuer: string,
454
+ ): Promise<DyFM_SearchResult<T_Errors>> {
416
455
  try {
456
+ if (issuer && !this.issuer) {
457
+ this.issuer = issuer;
458
+ }
459
+
417
460
  return await this.searchData(searchQuery);
418
461
  } catch (error) {
419
462
  throw new DyFM_Error({
@@ -1028,6 +1028,47 @@ export class DyNTS_DBService<T extends DyFM_Metadata> {
1028
1028
  });
1029
1029
  }
1030
1030
 
1031
+ /**
1032
+ * {
1033
+ "mappings": {
1034
+ "dynamic": true,
1035
+ "fields": {
1036
+ "embedding": {
1037
+ "type": "knnVector",
1038
+ "dimensions": 768
1039
+ }
1040
+ }
1041
+ }
1042
+ }
1043
+ */
1044
+ /**
1045
+ *
1046
+ * @param set db.collection.aggregate([
1047
+ {
1048
+ $vectorSearch: {
1049
+ index: "index_neve",
1050
+ queryVector: [a keresett embedding],
1051
+ path: "title.embedding",
1052
+ numCandidates: 100,
1053
+ limit: 5
1054
+ }
1055
+ },
1056
+ {
1057
+ $vectorSearch: {
1058
+ index: "index_neve",
1059
+ queryVector: [a keresett embedding],
1060
+ path: "description.embedding",
1061
+ numCandidates: 100,
1062
+ limit: 5
1063
+ }
1064
+ }
1065
+ ]);
1066
+ * @returns
1067
+ */
1068
+ async aggregate(set: any) {
1069
+ return this.dataModel.aggregate(set);
1070
+ }
1071
+
1031
1072
  // ----------------------------------------------------------------------------------
1032
1073
  // ----------------------------------------------------------------------------------
1033
1074
  // ----------------------------------------------------------------------------------
@@ -42,6 +42,24 @@ import { DyNTS_SingletonService } from '../base/singleton.service';
42
42
  import { DyNTS_GlobalService } from '../core/global.service';
43
43
  import { DyNTS_RoutingModule } from '../route/routing-module.service';
44
44
 
45
+ /**
46
+ *
47
+ * function MyDecorator(config: any) {
48
+ return function (target: Function) {
49
+ // attach metadata or modify target
50
+ target.prototype.myMeta = config;
51
+ };
52
+ }
53
+
54
+ @MyDecorator({ role: 'admin' })
55
+ class User {
56
+ printRole() {
57
+ console.log((this as any).myMeta.role); // → "admin"
58
+ }
59
+ }
60
+
61
+ */
62
+
45
63
  /**
46
64
  * This will be the MAIN service of our server project,
47
65
  * follow the types and type instructions while setting up your project