@solidstarters/solid-core 1.2.201 → 1.2.203

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 (262) hide show
  1. package/dist/config/cache.options.d.ts +1 -1
  2. package/dist/config/cache.options.d.ts.map +1 -1
  3. package/dist/config/cache.options.js +2 -2
  4. package/dist/config/cache.options.js.map +1 -1
  5. package/dist/config/iam.config.d.ts +4 -0
  6. package/dist/config/iam.config.d.ts.map +1 -1
  7. package/dist/config/iam.config.js +2 -0
  8. package/dist/config/iam.config.js.map +1 -1
  9. package/dist/controllers/model-metadata.controller.d.ts +25 -0
  10. package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
  11. package/dist/controllers/model-metadata.controller.js +23 -0
  12. package/dist/controllers/model-metadata.controller.js.map +1 -1
  13. package/dist/controllers/setting.controller.d.ts +1 -2
  14. package/dist/controllers/setting.controller.d.ts.map +1 -1
  15. package/dist/controllers/setting.controller.js +21 -42
  16. package/dist/controllers/setting.controller.js.map +1 -1
  17. package/dist/decorators/sms-provider.decorator.d.ts +3 -0
  18. package/dist/decorators/sms-provider.decorator.d.ts.map +1 -0
  19. package/dist/decorators/sms-provider.decorator.js +11 -0
  20. package/dist/decorators/sms-provider.decorator.js.map +1 -0
  21. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  22. package/dist/dtos/create-role-metadata.dto.js +1 -0
  23. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  24. package/dist/dtos/navigation.dto.d.ts +6 -0
  25. package/dist/dtos/navigation.dto.d.ts.map +1 -0
  26. package/dist/dtos/navigation.dto.js +33 -0
  27. package/dist/dtos/navigation.dto.js.map +1 -0
  28. package/dist/dtos/sign-in.dto.js +3 -3
  29. package/dist/dtos/sign-in.dto.js.map +1 -1
  30. package/dist/entities/common.entity.js +5 -4
  31. package/dist/entities/common.entity.js.map +1 -1
  32. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  33. package/dist/entities/field-metadata.entity.js +2 -1
  34. package/dist/entities/field-metadata.entity.js.map +1 -1
  35. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  36. package/dist/entities/legacy-common.entity.js +5 -4
  37. package/dist/entities/legacy-common.entity.js.map +1 -1
  38. package/dist/entities/model-metadata.entity.d.ts.map +1 -1
  39. package/dist/entities/model-metadata.entity.js +5 -1
  40. package/dist/entities/model-metadata.entity.js.map +1 -1
  41. package/dist/factories/mail.factory.d.ts.map +1 -1
  42. package/dist/factories/mail.factory.js.map +1 -1
  43. package/dist/factories/sms.factory.d.ts +14 -0
  44. package/dist/factories/sms.factory.d.ts.map +1 -0
  45. package/dist/factories/sms.factory.js +53 -0
  46. package/dist/factories/sms.factory.js.map +1 -0
  47. package/dist/helpers/date.helper.d.ts.map +1 -1
  48. package/dist/helpers/date.helper.js +13 -4
  49. package/dist/helpers/date.helper.js.map +1 -1
  50. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +3 -0
  51. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
  52. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +99 -0
  53. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
  54. package/dist/helpers/image-encoding.helper.d.ts +10 -0
  55. package/dist/helpers/image-encoding.helper.d.ts.map +1 -0
  56. package/dist/helpers/image-encoding.helper.js +44 -0
  57. package/dist/helpers/image-encoding.helper.js.map +1 -0
  58. package/dist/helpers/module.helper.d.ts.map +1 -1
  59. package/dist/helpers/module.helper.js +2 -0
  60. package/dist/helpers/module.helper.js.map +1 -1
  61. package/dist/helpers/solid-microservice-adapter.service.d.ts +31 -0
  62. package/dist/helpers/solid-microservice-adapter.service.d.ts.map +1 -0
  63. package/dist/helpers/solid-microservice-adapter.service.js +53 -0
  64. package/dist/helpers/solid-microservice-adapter.service.js.map +1 -0
  65. package/dist/helpers/solid-registry.d.ts +3 -0
  66. package/dist/helpers/solid-registry.d.ts.map +1 -1
  67. package/dist/helpers/solid-registry.js +7 -0
  68. package/dist/helpers/solid-registry.js.map +1 -1
  69. package/dist/index.d.ts +11 -6
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +11 -6
  72. package/dist/index.js.map +1 -1
  73. package/dist/jobs/database/{sms-publisher-database.service.d.ts → msg91-sms-publisher-database.service.d.ts} +2 -2
  74. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts.map +1 -0
  75. package/dist/jobs/database/{sms-publisher-database.service.js → msg91-sms-publisher-database.service.js} +8 -8
  76. package/dist/jobs/database/msg91-sms-publisher-database.service.js.map +1 -0
  77. package/dist/jobs/database/{sms-queue-database-options.d.ts → msg91-sms-queue-database-options.d.ts} +1 -1
  78. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts.map +1 -0
  79. package/dist/jobs/database/{sms-queue-database-options.js → msg91-sms-queue-database-options.js} +1 -1
  80. package/dist/jobs/database/msg91-sms-queue-database-options.js.map +1 -0
  81. package/dist/jobs/database/{sms-subscriber-database.service.d.ts → msg91-sms-subscriber-database.service.d.ts} +5 -5
  82. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts.map +1 -0
  83. package/dist/jobs/database/{sms-subscriber-database.service.js → msg91-sms-subscriber-database.service.js} +14 -12
  84. package/dist/jobs/database/msg91-sms-subscriber-database.service.js.map +1 -0
  85. package/dist/jobs/database/otp-subscriber-database.service.d.ts +4 -4
  86. package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -1
  87. package/dist/jobs/database/otp-subscriber-database.service.js +6 -4
  88. package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -1
  89. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +3 -3
  90. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts.map +1 -1
  91. package/dist/jobs/database/twilio-sms-subscriber-database.service.js +6 -4
  92. package/dist/jobs/database/twilio-sms-subscriber-database.service.js.map +1 -1
  93. package/dist/jobs/{sms-publisher.service.d.ts → msg91-otp-publisher.service.d.ts} +2 -2
  94. package/dist/jobs/msg91-otp-publisher.service.d.ts.map +1 -0
  95. package/dist/jobs/{sms-publisher.service.js → msg91-otp-publisher.service.js} +8 -8
  96. package/dist/jobs/msg91-otp-publisher.service.js.map +1 -0
  97. package/dist/jobs/{sms-queue-options.d.ts → msg91-otp-queue-options.d.ts} +1 -1
  98. package/dist/jobs/msg91-otp-queue-options.d.ts.map +1 -0
  99. package/dist/jobs/{otp-queue-options.js → msg91-otp-queue-options.js} +1 -1
  100. package/dist/jobs/msg91-otp-queue-options.js.map +1 -0
  101. package/dist/jobs/{sms-subscriber.service.d.ts → msg91-otp-subscriber.service.d.ts} +6 -6
  102. package/dist/jobs/msg91-otp-subscriber.service.d.ts.map +1 -0
  103. package/dist/jobs/{otp-subscriber.service.js → msg91-otp-subscriber.service.js} +14 -12
  104. package/dist/jobs/msg91-otp-subscriber.service.js.map +1 -0
  105. package/dist/jobs/{otp-publisher.service.d.ts → msg91-sms-publisher.service.d.ts} +2 -2
  106. package/dist/jobs/msg91-sms-publisher.service.d.ts.map +1 -0
  107. package/dist/jobs/{otp-publisher.service.js → msg91-sms-publisher.service.js} +8 -8
  108. package/dist/jobs/msg91-sms-publisher.service.js.map +1 -0
  109. package/dist/jobs/{otp-queue-options.d.ts → msg91-sms-queue-options.d.ts} +1 -1
  110. package/dist/jobs/msg91-sms-queue-options.d.ts.map +1 -0
  111. package/dist/jobs/{sms-queue-options.js → msg91-sms-queue-options.js} +1 -1
  112. package/dist/jobs/msg91-sms-queue-options.js.map +1 -0
  113. package/dist/jobs/{otp-subscriber.service.d.ts → msg91-sms-subscriber.service.d.ts} +7 -7
  114. package/dist/jobs/msg91-sms-subscriber.service.d.ts.map +1 -0
  115. package/dist/jobs/{sms-subscriber.service.js → msg91-sms-subscriber.service.js} +14 -12
  116. package/dist/jobs/msg91-sms-subscriber.service.js.map +1 -0
  117. package/dist/jobs/twilio-sms-subscriber.service.d.ts +3 -3
  118. package/dist/jobs/twilio-sms-subscriber.service.d.ts.map +1 -1
  119. package/dist/jobs/twilio-sms-subscriber.service.js +6 -4
  120. package/dist/jobs/twilio-sms-subscriber.service.js.map +1 -1
  121. package/dist/mappers/list-of-values-mapper.d.ts.map +1 -1
  122. package/dist/mappers/list-of-values-mapper.js +1 -1
  123. package/dist/mappers/list-of-values-mapper.js.map +1 -1
  124. package/dist/repository/security-rule.repository.d.ts.map +1 -1
  125. package/dist/repository/security-rule.repository.js +7 -2
  126. package/dist/repository/security-rule.repository.js.map +1 -1
  127. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  128. package/dist/seeders/module-metadata-seeder.service.js +24 -2
  129. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  130. package/dist/seeders/seed-data/solid-core-metadata.json +71 -25
  131. package/dist/seeders/user-seeder.service.d.ts.map +1 -1
  132. package/dist/seeders/user-seeder.service.js +5 -4
  133. package/dist/seeders/user-seeder.service.js.map +1 -1
  134. package/dist/services/authentication.service.d.ts +6 -3
  135. package/dist/services/authentication.service.d.ts.map +1 -1
  136. package/dist/services/authentication.service.js +53 -18
  137. package/dist/services/authentication.service.js.map +1 -1
  138. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts.map +1 -1
  139. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
  140. package/dist/services/crud.service.d.ts +1 -2
  141. package/dist/services/crud.service.d.ts.map +1 -1
  142. package/dist/services/crud.service.js +6 -1
  143. package/dist/services/crud.service.js.map +1 -1
  144. package/dist/services/excel.service.d.ts +1 -0
  145. package/dist/services/excel.service.d.ts.map +1 -1
  146. package/dist/services/excel.service.js +4 -0
  147. package/dist/services/excel.service.js.map +1 -1
  148. package/dist/services/model-metadata.service.d.ts +28 -1
  149. package/dist/services/model-metadata.service.d.ts.map +1 -1
  150. package/dist/services/model-metadata.service.js +109 -2
  151. package/dist/services/model-metadata.service.js.map +1 -1
  152. package/dist/services/setting.service.d.ts.map +1 -1
  153. package/dist/services/setting.service.js +3 -45
  154. package/dist/services/setting.service.js.map +1 -1
  155. package/dist/services/sms/Msg91BaseSMSService.js +6 -6
  156. package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
  157. package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
  158. package/dist/services/sms/Msg91OTPService.js +3 -1
  159. package/dist/services/sms/Msg91OTPService.js.map +1 -1
  160. package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
  161. package/dist/services/sms/Msg91SMSService.js +3 -1
  162. package/dist/services/sms/Msg91SMSService.js.map +1 -1
  163. package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
  164. package/dist/services/sms/TwilioSMSService.js +2 -0
  165. package/dist/services/sms/TwilioSMSService.js.map +1 -1
  166. package/dist/services/solid-introspect.service.d.ts +1 -0
  167. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  168. package/dist/services/solid-introspect.service.js +14 -0
  169. package/dist/services/solid-introspect.service.js.map +1 -1
  170. package/dist/services/user.service.d.ts +8 -1
  171. package/dist/services/user.service.d.ts.map +1 -1
  172. package/dist/services/user.service.js +15 -4
  173. package/dist/services/user.service.js.map +1 -1
  174. package/dist/solid-core-cli.module.js +1 -1
  175. package/dist/solid-core-cli.module.js.map +1 -1
  176. package/dist/solid-core.module.d.ts.map +1 -1
  177. package/dist/solid-core.module.js +29 -13
  178. package/dist/solid-core.module.js.map +1 -1
  179. package/dist/subscribers/scheduled-job.subscriber.d.ts.map +1 -1
  180. package/dist/subscribers/scheduled-job.subscriber.js +1 -1
  181. package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
  182. package/dist/transformers/typeorm/local-date-time-transformer.d.ts +2 -2
  183. package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
  184. package/dist/transformers/typeorm/local-date-time-transformer.js +28 -6
  185. package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -1
  186. package/dist/tsconfig.tsbuildinfo +1 -1
  187. package/package.json +1 -1
  188. package/src/config/cache.options.ts +6 -3
  189. package/src/config/iam.config.ts +2 -1
  190. package/src/controllers/model-metadata.controller.ts +21 -1
  191. package/src/controllers/setting.controller.ts +32 -36
  192. package/src/decorators/sms-provider.decorator.ts +7 -0
  193. package/src/dtos/create-role-metadata.dto.ts +3 -0
  194. package/src/dtos/navigation.dto.ts +14 -0
  195. package/src/dtos/sign-in.dto.ts +3 -3
  196. package/src/entities/common.entity.ts +7 -7
  197. package/src/entities/field-metadata.entity.ts +1 -1
  198. package/src/entities/legacy-common.entity.ts +6 -5
  199. package/src/entities/model-metadata.entity.ts +1 -1
  200. package/src/factories/mail.factory.ts +0 -1
  201. package/src/factories/sms.factory.ts +43 -0
  202. package/src/helpers/date.helper.ts +38 -9
  203. package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +138 -4
  204. package/src/helpers/image-encoding.helper.ts +71 -0
  205. package/src/helpers/module.helper.ts +3 -0
  206. package/src/helpers/solid-microservice-adapter.service.ts +68 -0
  207. package/src/helpers/solid-registry.ts +9 -0
  208. package/src/index.ts +11 -6
  209. package/src/jobs/database/{sms-publisher-database.service.ts → msg91-sms-publisher-database.service.ts} +2 -2
  210. package/src/jobs/database/{sms-subscriber-database.service.ts → msg91-sms-subscriber-database.service.ts} +9 -4
  211. package/src/jobs/database/otp-subscriber-database.service.ts +8 -2
  212. package/src/jobs/database/twilio-sms-subscriber-database.service.ts +5 -2
  213. package/src/jobs/{otp-publisher.service.ts → msg91-otp-publisher.service.ts} +2 -2
  214. package/src/jobs/{otp-subscriber.service.ts → msg91-otp-subscriber.service.ts} +10 -4
  215. package/src/jobs/{sms-publisher.service.ts → msg91-sms-publisher.service.ts} +2 -2
  216. package/src/jobs/{sms-subscriber.service.ts → msg91-sms-subscriber.service.ts} +9 -4
  217. package/src/jobs/twilio-sms-subscriber.service.ts +6 -2
  218. package/src/mappers/list-of-values-mapper.ts +2 -1
  219. package/src/repository/security-rule.repository.ts +7 -2
  220. package/src/seeders/module-metadata-seeder.service.ts +33 -6
  221. package/src/seeders/seed-data/email-templates/email-on-signup.handlebars.html +155 -0
  222. package/src/seeders/seed-data/sms-templates/text-on-signup.handlebars.txt +10 -0
  223. package/src/seeders/seed-data/solid-core-metadata.json +72 -26
  224. package/src/seeders/user-seeder.service.ts +5 -4
  225. package/src/services/1.js +6 -0
  226. package/src/services/authentication.service.ts +80 -15
  227. package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +1 -2
  228. package/src/services/crud.service.ts +23 -19
  229. package/src/services/excel.service.ts +6 -0
  230. package/src/services/model-metadata.service.ts +151 -0
  231. package/src/services/setting.service.ts +12 -52
  232. package/src/services/sms/Msg91BaseSMSService.ts +6 -6
  233. package/src/services/sms/Msg91OTPService.ts +3 -2
  234. package/src/services/sms/Msg91SMSService.ts +3 -1
  235. package/src/services/sms/TwilioSMSService.ts +3 -3
  236. package/src/services/solid-introspect.service.ts +22 -0
  237. package/src/services/user.service.ts +19 -0
  238. package/src/solid-core-cli.module.ts +2 -2
  239. package/src/solid-core.module.ts +33 -13
  240. package/src/subscribers/scheduled-job.subscriber.ts +9 -2
  241. package/src/transformers/typeorm/local-date-time-transformer.ts +38 -13
  242. package/dist/jobs/database/sms-publisher-database.service.d.ts.map +0 -1
  243. package/dist/jobs/database/sms-publisher-database.service.js.map +0 -1
  244. package/dist/jobs/database/sms-queue-database-options.d.ts.map +0 -1
  245. package/dist/jobs/database/sms-queue-database-options.js.map +0 -1
  246. package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +0 -1
  247. package/dist/jobs/database/sms-subscriber-database.service.js.map +0 -1
  248. package/dist/jobs/otp-publisher.service.d.ts.map +0 -1
  249. package/dist/jobs/otp-publisher.service.js.map +0 -1
  250. package/dist/jobs/otp-queue-options.d.ts.map +0 -1
  251. package/dist/jobs/otp-queue-options.js.map +0 -1
  252. package/dist/jobs/otp-subscriber.service.d.ts.map +0 -1
  253. package/dist/jobs/otp-subscriber.service.js.map +0 -1
  254. package/dist/jobs/sms-publisher.service.d.ts.map +0 -1
  255. package/dist/jobs/sms-publisher.service.js.map +0 -1
  256. package/dist/jobs/sms-queue-options.d.ts.map +0 -1
  257. package/dist/jobs/sms-queue-options.js.map +0 -1
  258. package/dist/jobs/sms-subscriber.service.d.ts.map +0 -1
  259. package/dist/jobs/sms-subscriber.service.js.map +0 -1
  260. /package/src/jobs/database/{sms-queue-database-options.ts → msg91-sms-queue-database-options.ts} +0 -0
  261. /package/src/jobs/{otp-queue-options.ts → msg91-otp-queue-options.ts} +0 -0
  262. /package/src/jobs/{sms-queue-options.ts → msg91-sms-queue-options.ts} +0 -0
@@ -12,6 +12,8 @@ import { CrudHelperService } from './crud-helper.service';
12
12
  import { FieldMetadataService } from './field-metadata.service';
13
13
  import { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';
14
14
  import { RoleMetadataService } from './role-metadata.service';
15
+ import { NavigationDto } from 'src/dtos/navigation.dto';
16
+ import { SolidIntrospectService } from './solid-introspect.service';
15
17
  export declare class ModelMetadataService {
16
18
  private readonly modelMetadataRepo;
17
19
  private readonly fieldMetadataRepo;
@@ -22,8 +24,9 @@ export declare class ModelMetadataService {
22
24
  private readonly fieldMetadataService;
23
25
  private readonly roleService;
24
26
  private readonly moduleMetadataHelperService;
27
+ readonly introspectService: SolidIntrospectService;
25
28
  private logger;
26
- constructor(modelMetadataRepo: ModelMetadataRepository, fieldMetadataRepo: FieldMetadataRepository, schematicService: SchematicService, dataSource: DataSource, crudHelperService: CrudHelperService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, fieldMetadataService: FieldMetadataService, roleService: RoleMetadataService, moduleMetadataHelperService: ModuleMetadataHelperService);
29
+ constructor(modelMetadataRepo: ModelMetadataRepository, fieldMetadataRepo: FieldMetadataRepository, schematicService: SchematicService, dataSource: DataSource, crudHelperService: CrudHelperService, mediaStorageProviderMetadataService: MediaStorageProviderMetadataService, fieldMetadataService: FieldMetadataService, roleService: RoleMetadataService, moduleMetadataHelperService: ModuleMetadataHelperService, introspectService: SolidIntrospectService);
27
30
  findMany(basicFilterDto: BasicFilterDto): Promise<{
28
31
  meta: {
29
32
  totalRecords: number;
@@ -70,5 +73,29 @@ export declare class ModelMetadataService {
70
73
  success: boolean;
71
74
  }>;
72
75
  private getRelationInverseFields;
76
+ navigation(navigationDto: NavigationDto): Promise<{
77
+ prev: {
78
+ recordId: any;
79
+ offset: number;
80
+ limit: number;
81
+ };
82
+ next: {
83
+ recordId: any;
84
+ offset: number;
85
+ limit: number;
86
+ };
87
+ meta: {
88
+ totalRecords: number;
89
+ perPage: number;
90
+ currentPage: number;
91
+ totalPages: number;
92
+ currentIndexInPage: number;
93
+ currentIndexGlobal: number;
94
+ hasPrev: boolean;
95
+ hasNext: boolean;
96
+ prevPage: number;
97
+ nextPage: number;
98
+ };
99
+ }>;
73
100
  }
74
101
  //# sourceMappingURL=model-metadata.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/model-metadata.service.ts"],"names":[],"mappings":"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"}
@@ -68,8 +68,9 @@ const crud_helper_service_1 = require("./crud-helper.service");
68
68
  const field_metadata_service_1 = require("./field-metadata.service");
69
69
  const media_storage_provider_metadata_service_1 = require("./media-storage-provider-metadata.service");
70
70
  const role_metadata_service_1 = require("./role-metadata.service");
71
+ const solid_introspect_service_1 = require("./solid-introspect.service");
71
72
  let ModelMetadataService = class ModelMetadataService {
72
- constructor(modelMetadataRepo, fieldMetadataRepo, schematicService, dataSource, crudHelperService, mediaStorageProviderMetadataService, fieldMetadataService, roleService, moduleMetadataHelperService) {
73
+ constructor(modelMetadataRepo, fieldMetadataRepo, schematicService, dataSource, crudHelperService, mediaStorageProviderMetadataService, fieldMetadataService, roleService, moduleMetadataHelperService, introspectService) {
73
74
  this.modelMetadataRepo = modelMetadataRepo;
74
75
  this.fieldMetadataRepo = fieldMetadataRepo;
75
76
  this.schematicService = schematicService;
@@ -79,6 +80,7 @@ let ModelMetadataService = class ModelMetadataService {
79
80
  this.fieldMetadataService = fieldMetadataService;
80
81
  this.roleService = roleService;
81
82
  this.moduleMetadataHelperService = moduleMetadataHelperService;
83
+ this.introspectService = introspectService;
82
84
  this.logger = new common_1.Logger('ModelMetadataService');
83
85
  }
84
86
  async findMany(basicFilterDto) {
@@ -957,6 +959,110 @@ let ModelMetadataService = class ModelMetadataService {
957
959
  }
958
960
  });
959
961
  }
962
+ async navigation(navigationDto) {
963
+ const { recordId, modelName, ...basicFilterDto } = navigationDto;
964
+ const modelServiceInstanceWrapper = this.introspectService.getProvider(`${(0, strings_1.classify)(modelName)}Service`);
965
+ if (!modelServiceInstanceWrapper) {
966
+ throw new common_1.BadRequestException(`Invalid model name (${modelName}) specified in Navigation.`);
967
+ }
968
+ const modelService = modelServiceInstanceWrapper.instance;
969
+ const recs = await modelService.find(basicFilterDto);
970
+ if (!('records' in recs) || !('currentPage' in recs.meta)) {
971
+ return {
972
+ prev: null,
973
+ next: null,
974
+ meta: null,
975
+ };
976
+ }
977
+ const { records, meta } = recs;
978
+ const index = records.findIndex(r => String(r.id) === String(recordId));
979
+ if (index === -1) {
980
+ throw new common_1.BadRequestException(`Record not found in current page`);
981
+ }
982
+ const limit = meta.perPage;
983
+ const currentOffset = (meta.currentPage - 1) * meta.perPage;
984
+ const currentIndexGlobal = currentOffset + index + 1;
985
+ let prev = null;
986
+ let next = null;
987
+ if (index > 0) {
988
+ prev = {
989
+ record: records[index - 1],
990
+ offset: currentOffset,
991
+ limit,
992
+ };
993
+ }
994
+ else if (meta.prevPage !== null) {
995
+ const prevOffset = (meta.prevPage - 1) * meta.perPage;
996
+ const prevPage = await modelService.find({
997
+ ...basicFilterDto,
998
+ offset: prevOffset,
999
+ limit,
1000
+ });
1001
+ if ('records' in prevPage) {
1002
+ const record = prevPage.records.at(-1) ?? null;
1003
+ if (record) {
1004
+ prev = {
1005
+ record,
1006
+ offset: prevOffset,
1007
+ limit,
1008
+ };
1009
+ }
1010
+ }
1011
+ }
1012
+ if (index < records.length - 1) {
1013
+ next = {
1014
+ record: records[index + 1],
1015
+ offset: currentOffset,
1016
+ limit,
1017
+ };
1018
+ }
1019
+ else if (meta.nextPage !== null) {
1020
+ const nextOffset = (meta.nextPage - 1) * meta.perPage;
1021
+ const nextPage = await modelService.find({
1022
+ ...basicFilterDto,
1023
+ offset: nextOffset,
1024
+ limit,
1025
+ });
1026
+ if ('records' in nextPage) {
1027
+ const record = nextPage.records[0] ?? null;
1028
+ if (record) {
1029
+ next = {
1030
+ record,
1031
+ offset: nextOffset,
1032
+ limit,
1033
+ };
1034
+ }
1035
+ }
1036
+ }
1037
+ return {
1038
+ prev: prev
1039
+ ? {
1040
+ recordId: prev.record.id,
1041
+ offset: prev.offset,
1042
+ limit: prev.limit,
1043
+ }
1044
+ : null,
1045
+ next: next
1046
+ ? {
1047
+ recordId: next.record.id,
1048
+ offset: next.offset,
1049
+ limit: next.limit,
1050
+ }
1051
+ : null,
1052
+ meta: {
1053
+ totalRecords: meta.totalRecords,
1054
+ perPage: meta.perPage,
1055
+ currentPage: meta.currentPage,
1056
+ totalPages: meta.totalPages,
1057
+ currentIndexInPage: index,
1058
+ currentIndexGlobal,
1059
+ hasPrev: !!prev,
1060
+ hasNext: !!next,
1061
+ prevPage: meta.prevPage,
1062
+ nextPage: meta.nextPage,
1063
+ },
1064
+ };
1065
+ }
960
1066
  };
961
1067
  exports.ModelMetadataService = ModelMetadataService;
962
1068
  __decorate([
@@ -977,6 +1083,7 @@ exports.ModelMetadataService = ModelMetadataService = __decorate([
977
1083
  media_storage_provider_metadata_service_1.MediaStorageProviderMetadataService,
978
1084
  field_metadata_service_1.FieldMetadataService,
979
1085
  role_metadata_service_1.RoleMetadataService,
980
- module_metadata_helper_service_1.ModuleMetadataHelperService])
1086
+ module_metadata_helper_service_1.ModuleMetadataHelperService,
1087
+ solid_introspect_service_1.SolidIntrospectService])
981
1088
  ], ModelMetadataService);
982
1089
  //# sourceMappingURL=model-metadata.service.js.map