@raclettejs/core 0.1.0 → 0.1.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 (406) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +4 -2
  3. package/package.json +1 -1
  4. package/services/backend/package.json +1 -3
  5. package/services/frontend/src/orchestrator/components/chip/UserChip.vue +1 -1
  6. package/services/frontend/src/orchestrator/components/menu/UserNotifications.vue +4 -2
  7. package/services/frontend/src/orchestrator/setup/i18n.ts +251 -157
  8. package/dist/cli.js.map +0 -7
  9. package/dist/index.js.map +0 -7
  10. package/services/.DS_Store +0 -0
  11. package/services/backend/.DS_Store +0 -0
  12. package/services/backend/.env +0 -5
  13. package/services/backend/.vscode/launch.json +0 -18
  14. package/services/backend/dist/src/app.d.ts +0 -9
  15. package/services/backend/dist/src/app.js +0 -164
  16. package/services/backend/dist/src/core/backgroundTasks/taskManager.d.ts +0 -12
  17. package/services/backend/dist/src/core/backgroundTasks/taskManager.js +0 -135
  18. package/services/backend/dist/src/core/backgroundTasks/taskManagerTypes.d.ts +0 -19
  19. package/services/backend/dist/src/core/backgroundTasks/taskManagerTypes.js +0 -2
  20. package/services/backend/dist/src/core/backgroundTasks/toadSchedulerTypes.d.ts +0 -7
  21. package/services/backend/dist/src/core/backgroundTasks/toadSchedulerTypes.js +0 -1
  22. package/services/backend/dist/src/core/config/configService.d.ts +0 -38
  23. package/services/backend/dist/src/core/config/configService.js +0 -98
  24. package/services/backend/dist/src/core/config/configTypes.d.ts +0 -33
  25. package/services/backend/dist/src/core/config/configTypes.js +0 -5
  26. package/services/backend/dist/src/core/contracting/contractRegistrar.d.ts +0 -13
  27. package/services/backend/dist/src/core/contracting/contractRegistrar.js +0 -83
  28. package/services/backend/dist/src/core/contracting/contractTypes.d.ts +0 -18
  29. package/services/backend/dist/src/core/contracting/contractTypes.js +0 -1
  30. package/services/backend/dist/src/core/crud/crudRegistrar.d.ts +0 -6
  31. package/services/backend/dist/src/core/crud/crudRegistrar.js +0 -16
  32. package/services/backend/dist/src/core/crud/crudTypes.d.ts +0 -8
  33. package/services/backend/dist/src/core/crud/crudTypes.js +0 -1
  34. package/services/backend/dist/src/core/eventBus/eventBusEventMap.d.ts +0 -65
  35. package/services/backend/dist/src/core/eventBus/eventBusEventMap.js +0 -64
  36. package/services/backend/dist/src/core/eventBus/index.d.ts +0 -3
  37. package/services/backend/dist/src/core/eventBus/index.js +0 -7
  38. package/services/backend/dist/src/core/events/eventEmitter.d.ts +0 -13
  39. package/services/backend/dist/src/core/events/eventEmitter.js +0 -120
  40. package/services/backend/dist/src/core/http/headers.d.ts +0 -3
  41. package/services/backend/dist/src/core/http/headers.js +0 -22
  42. package/services/backend/dist/src/core/http/httpService.d.ts +0 -4
  43. package/services/backend/dist/src/core/http/httpService.js +0 -28
  44. package/services/backend/dist/src/core/http/httpTypes.d.ts +0 -15
  45. package/services/backend/dist/src/core/http/httpTypes.js +0 -1
  46. package/services/backend/dist/src/core/http/request-params.plugin.d.ts +0 -2
  47. package/services/backend/dist/src/core/http/request-params.plugin.js +0 -34
  48. package/services/backend/dist/src/core/payload/payloadRegistrar.d.ts +0 -45
  49. package/services/backend/dist/src/core/payload/payloadRegistrar.js +0 -121
  50. package/services/backend/dist/src/core/payload/payloadTypes.d.ts +0 -42
  51. package/services/backend/dist/src/core/payload/payloadTypes.js +0 -1
  52. package/services/backend/dist/src/core/pluginSystem/configGenerator/generatorTypes.d.ts +0 -49
  53. package/services/backend/dist/src/core/pluginSystem/configGenerator/generatorTypes.js +0 -1
  54. package/services/backend/dist/src/core/pluginSystem/configGenerator/index.d.ts +0 -14
  55. package/services/backend/dist/src/core/pluginSystem/configGenerator/index.js +0 -342
  56. package/services/backend/dist/src/core/pluginSystem/pluginFastifyInstance.d.ts +0 -3
  57. package/services/backend/dist/src/core/pluginSystem/pluginFastifyInstance.js +0 -161
  58. package/services/backend/dist/src/core/pluginSystem/pluginLoader.d.ts +0 -5
  59. package/services/backend/dist/src/core/pluginSystem/pluginLoader.js +0 -317
  60. package/services/backend/dist/src/core/pluginSystem/pluginTypes.d.ts +0 -51
  61. package/services/backend/dist/src/core/pluginSystem/pluginTypes.js +0 -6
  62. package/services/backend/dist/src/core/sockets/createSystemEventHandlers.d.ts +0 -20
  63. package/services/backend/dist/src/core/sockets/createSystemEventHandlers.js +0 -74
  64. package/services/backend/dist/src/core/sockets/index.d.ts +0 -2
  65. package/services/backend/dist/src/core/sockets/index.js +0 -65
  66. package/services/backend/dist/src/core/sockets/socketManager.d.ts +0 -3
  67. package/services/backend/dist/src/core/sockets/socketManager.js +0 -125
  68. package/services/backend/dist/src/core/sockets/socketTypes.d.ts +0 -32
  69. package/services/backend/dist/src/core/sockets/socketTypes.js +0 -1
  70. package/services/backend/dist/src/core/validation/schemaGenerator.d.ts +0 -6
  71. package/services/backend/dist/src/core/validation/schemaGenerator.js +0 -242
  72. package/services/backend/dist/src/core/validation/schemaTypes.d.ts +0 -15
  73. package/services/backend/dist/src/core/validation/schemaTypes.js +0 -1
  74. package/services/backend/dist/src/core/validation/sharedSchemas.d.ts +0 -8
  75. package/services/backend/dist/src/core/validation/sharedSchemas.js +0 -7
  76. package/services/backend/dist/src/corePlugins/raclette__core/client/generated-config.d.ts +0 -304
  77. package/services/backend/dist/src/corePlugins/raclette__core/client/generated-config.js +0 -359
  78. package/services/backend/dist/src/corePlugins/raclette__core/client/index.d.ts +0 -2
  79. package/services/backend/dist/src/corePlugins/raclette__core/client/index.js +0 -2
  80. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/account.model.d.ts +0 -3
  81. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/account.model.js +0 -33
  82. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/account.schema.d.ts +0 -36
  83. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/account.schema.js +0 -29
  84. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/account.service.d.ts +0 -74
  85. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/account.service.js +0 -242
  86. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/events/index.d.ts +0 -3
  87. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/events/index.js +0 -31
  88. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/helpers/crud.d.ts +0 -2
  89. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/helpers/crud.js +0 -9
  90. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/helpers/payload.d.ts +0 -4
  91. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/helpers/payload.js +0 -13
  92. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/index.d.ts +0 -16
  93. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/index.js +0 -48
  94. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/index.d.ts +0 -3
  95. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/index.js +0 -15
  96. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.get.d.ts +0 -24
  97. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.get.js +0 -33
  98. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.getAll.d.ts +0 -15
  99. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.getAll.js +0 -25
  100. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.hardDelete.d.ts +0 -26
  101. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.hardDelete.js +0 -32
  102. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.patch.d.ts +0 -39
  103. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.patch.js +0 -33
  104. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.post.d.ts +0 -30
  105. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.post.js +0 -27
  106. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.remove.d.ts +0 -25
  107. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/account/routes/route.account.remove.js +0 -31
  108. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/composition.model.d.ts +0 -3
  109. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/composition.model.js +0 -92
  110. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/composition.schema.d.ts +0 -128
  111. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/composition.schema.js +0 -97
  112. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/composition.service.d.ts +0 -63
  113. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/composition.service.js +0 -212
  114. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/events/index.d.ts +0 -3
  115. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/events/index.js +0 -22
  116. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/helpers/crud.d.ts +0 -2
  117. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/helpers/crud.js +0 -10
  118. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/helpers/payload.d.ts +0 -4
  119. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/helpers/payload.js +0 -11
  120. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/index.d.ts +0 -46
  121. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/index.js +0 -51
  122. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/index.d.ts +0 -3
  123. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/index.js +0 -15
  124. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.get.d.ts +0 -24
  125. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.get.js +0 -33
  126. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.getAll.d.ts +0 -15
  127. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.getAll.js +0 -25
  128. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.hardDelete.d.ts +0 -25
  129. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.hardDelete.js +0 -31
  130. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.patch.d.ts +0 -49
  131. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.patch.js +0 -33
  132. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.post.d.ts +0 -40
  133. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.post.js +0 -27
  134. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.remove.d.ts +0 -25
  135. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/composition/routes/route.composition.remove.js +0 -31
  136. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/events/index.d.ts +0 -3
  137. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/events/index.js +0 -22
  138. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/helpers/crud.d.ts +0 -2
  139. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/helpers/crud.js +0 -9
  140. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/helpers/payload.d.ts +0 -4
  141. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/helpers/payload.js +0 -11
  142. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/index.d.ts +0 -16
  143. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/index.js +0 -48
  144. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/interactionLink.model.d.ts +0 -3
  145. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/interactionLink.model.js +0 -61
  146. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/interactionLink.schema.d.ts +0 -86
  147. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/interactionLink.schema.js +0 -74
  148. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/interactionLink.service.d.ts +0 -79
  149. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/interactionLink.service.js +0 -272
  150. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/index.d.ts +0 -3
  151. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/index.js +0 -15
  152. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.get.d.ts +0 -24
  153. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.get.js +0 -33
  154. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.getAll.d.ts +0 -15
  155. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.getAll.js +0 -25
  156. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.hardDelete.d.ts +0 -25
  157. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.hardDelete.js +0 -31
  158. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.patch.d.ts +0 -39
  159. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.patch.js +0 -33
  160. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.post.d.ts +0 -30
  161. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.post.js +0 -27
  162. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.remove.d.ts +0 -25
  163. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/interactionLink/routes/route.interactionLink.remove.js +0 -31
  164. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/events/index.d.ts +0 -3
  165. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/events/index.js +0 -31
  166. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/helpers/crud.d.ts +0 -2
  167. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/helpers/crud.js +0 -9
  168. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/helpers/payload.d.ts +0 -4
  169. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/helpers/payload.js +0 -13
  170. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/index.d.ts +0 -17
  171. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/index.js +0 -49
  172. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/project.model.d.ts +0 -3
  173. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/project.model.js +0 -30
  174. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/project.schema.d.ts +0 -61
  175. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/project.schema.js +0 -65
  176. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/project.service.d.ts +0 -68
  177. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/project.service.js +0 -230
  178. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/index.d.ts +0 -3
  179. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/index.js +0 -15
  180. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.get.d.ts +0 -24
  181. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.get.js +0 -33
  182. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.getAll.d.ts +0 -15
  183. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.getAll.js +0 -28
  184. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.hardDelete.d.ts +0 -26
  185. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.hardDelete.js +0 -32
  186. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.patch.d.ts +0 -38
  187. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.patch.js +0 -33
  188. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.post.d.ts +0 -25
  189. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.post.js +0 -27
  190. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.remove.d.ts +0 -25
  191. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/project/routes/route.project.remove.js +0 -31
  192. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/events/index.d.ts +0 -3
  193. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/events/index.js +0 -39
  194. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/helpers/crud.d.ts +0 -2
  195. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/helpers/crud.js +0 -9
  196. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/helpers/payload.d.ts +0 -4
  197. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/helpers/payload.js +0 -13
  198. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/index.d.ts +0 -17
  199. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/index.js +0 -49
  200. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/index.d.ts +0 -3
  201. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/index.js +0 -15
  202. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.get.d.ts +0 -24
  203. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.get.js +0 -31
  204. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.getAll.d.ts +0 -15
  205. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.getAll.js +0 -28
  206. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.hardDelete.d.ts +0 -26
  207. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.hardDelete.js +0 -32
  208. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.patch.d.ts +0 -39
  209. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.patch.js +0 -34
  210. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.post.d.ts +0 -40
  211. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.post.js +0 -35
  212. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.remove.d.ts +0 -26
  213. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/routes/route.tag.remove.js +0 -32
  214. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/tag.model.d.ts +0 -3
  215. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/tag.model.js +0 -74
  216. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/tag.schema.d.ts +0 -68
  217. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/tag.schema.js +0 -71
  218. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/tag.service.d.ts +0 -65
  219. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/tag/tag.service.js +0 -232
  220. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/events/index.d.ts +0 -3
  221. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/events/index.js +0 -31
  222. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/helpers/crud.d.ts +0 -2
  223. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/helpers/crud.js +0 -9
  224. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/helpers/payload.d.ts +0 -4
  225. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/helpers/payload.js +0 -11
  226. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/index.d.ts +0 -17
  227. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/index.js +0 -51
  228. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/index.d.ts +0 -3
  229. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/index.js +0 -15
  230. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.get.d.ts +0 -33
  231. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.get.js +0 -33
  232. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.getAll.d.ts +0 -25
  233. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.getAll.js +0 -35
  234. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.patch.d.ts +0 -43
  235. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.patch.js +0 -37
  236. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.patchLastProject.d.ts +0 -23
  237. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.patchLastProject.js +0 -29
  238. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.post.d.ts +0 -34
  239. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.post.js +0 -28
  240. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.remove.d.ts +0 -26
  241. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/routes/route.user.remove.js +0 -35
  242. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/user.model.d.ts +0 -3
  243. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/user.model.js +0 -145
  244. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/user.schema.d.ts +0 -120
  245. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/user.schema.js +0 -109
  246. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/user.service.d.ts +0 -69
  247. package/services/backend/dist/src/corePlugins/raclette__core/server/datatypes/user/user.service.js +0 -225
  248. package/services/backend/dist/src/corePlugins/raclette__core/server/index.d.ts +0 -3
  249. package/services/backend/dist/src/corePlugins/raclette__core/server/index.js +0 -32
  250. package/services/backend/dist/src/domains/index.d.ts +0 -3
  251. package/services/backend/dist/src/domains/index.js +0 -8
  252. package/services/backend/dist/src/domains/system/index.d.ts +0 -3
  253. package/services/backend/dist/src/domains/system/index.js +0 -5
  254. package/services/backend/dist/src/domains/system/routes/index.d.ts +0 -3
  255. package/services/backend/dist/src/domains/system/routes/index.js +0 -13
  256. package/services/backend/dist/src/domains/system/routes/route.admin.redis.d.ts +0 -47
  257. package/services/backend/dist/src/domains/system/routes/route.admin.redis.js +0 -81
  258. package/services/backend/dist/src/domains/system/routes/route.deploy.d.ts +0 -14
  259. package/services/backend/dist/src/domains/system/routes/route.deploy.js +0 -20
  260. package/services/backend/dist/src/domains/system/routes/route.user.checkToken.d.ts +0 -12
  261. package/services/backend/dist/src/domains/system/routes/route.user.checkToken.js +0 -40
  262. package/services/backend/dist/src/domains/system/routes/route.user.login.d.ts +0 -44
  263. package/services/backend/dist/src/domains/system/routes/route.user.login.js +0 -163
  264. package/services/backend/dist/src/helpers/index.d.ts +0 -11
  265. package/services/backend/dist/src/helpers/index.js +0 -13
  266. package/services/backend/dist/src/index.d.ts +0 -3
  267. package/services/backend/dist/src/index.js +0 -3
  268. package/services/backend/dist/src/modules/authentication/index.d.ts +0 -4
  269. package/services/backend/dist/src/modules/authentication/index.js +0 -80
  270. package/services/backend/dist/src/modules/cache/cacheManager.d.ts +0 -6
  271. package/services/backend/dist/src/modules/cache/cacheManager.js +0 -131
  272. package/services/backend/dist/src/modules/cache/cacheTypes.d.ts +0 -102
  273. package/services/backend/dist/src/modules/cache/cacheTypes.js +0 -1
  274. package/services/backend/dist/src/modules/cache/providers/redis/redisConfig.d.ts +0 -11
  275. package/services/backend/dist/src/modules/cache/providers/redis/redisConfig.js +0 -17
  276. package/services/backend/dist/src/modules/cache/providers/redis/redisConnection.d.ts +0 -4
  277. package/services/backend/dist/src/modules/cache/providers/redis/redisConnection.js +0 -65
  278. package/services/backend/dist/src/modules/cache/providers/redis/redisTypes.d.ts +0 -18
  279. package/services/backend/dist/src/modules/cache/providers/redis/redisTypes.js +0 -1
  280. package/services/backend/dist/src/modules/database/providers/mongodb/mongoConnection.d.ts +0 -4
  281. package/services/backend/dist/src/modules/database/providers/mongodb/mongoConnection.js +0 -21
  282. package/services/backend/dist/src/modules/database/providers/mongodb/service.d.ts +0 -7
  283. package/services/backend/dist/src/modules/database/providers/mongodb/service.js +0 -1
  284. package/services/backend/dist/src/server.d.ts +0 -1
  285. package/services/backend/dist/src/server.js +0 -98
  286. package/services/backend/dist/src/shared/helper/mongoHelper.d.ts +0 -3
  287. package/services/backend/dist/src/shared/helper/mongoHelper.js +0 -59
  288. package/services/backend/dist/src/shared/helper/pluginHelper.d.ts +0 -19
  289. package/services/backend/dist/src/shared/helper/pluginHelper.js +0 -33
  290. package/services/backend/dist/src/shared/schemas/core/Account.schema.d.ts +0 -63
  291. package/services/backend/dist/src/shared/schemas/core/Account.schema.js +0 -74
  292. package/services/backend/dist/src/shared/schemas/core/Composition.schema.d.ts +0 -103
  293. package/services/backend/dist/src/shared/schemas/core/Composition.schema.js +0 -132
  294. package/services/backend/dist/src/shared/schemas/core/CompositionCreate.schema.d.ts +0 -82
  295. package/services/backend/dist/src/shared/schemas/core/CompositionCreate.schema.js +0 -105
  296. package/services/backend/dist/src/shared/schemas/core/CompositionUpdate.schema.d.ts +0 -78
  297. package/services/backend/dist/src/shared/schemas/core/CompositionUpdate.schema.js +0 -95
  298. package/services/backend/dist/src/shared/schemas/core/InteractionLink.schema.d.ts +0 -84
  299. package/services/backend/dist/src/shared/schemas/core/InteractionLink.schema.js +0 -97
  300. package/services/backend/dist/src/shared/schemas/core/InteractionLinkCreate.schema.d.ts +0 -63
  301. package/services/backend/dist/src/shared/schemas/core/InteractionLinkCreate.schema.js +0 -70
  302. package/services/backend/dist/src/shared/schemas/core/InteractionLinkUpdate.schema.d.ts +0 -63
  303. package/services/backend/dist/src/shared/schemas/core/InteractionLinkUpdate.schema.js +0 -70
  304. package/services/backend/dist/src/shared/schemas/core/Project.schema.d.ts +0 -53
  305. package/services/backend/dist/src/shared/schemas/core/Project.schema.js +0 -58
  306. package/services/backend/dist/src/shared/schemas/core/ProjectCreate.schema.d.ts +0 -41
  307. package/services/backend/dist/src/shared/schemas/core/ProjectCreate.schema.js +0 -41
  308. package/services/backend/dist/src/shared/schemas/core/ProjectUpdate.schema.d.ts +0 -38
  309. package/services/backend/dist/src/shared/schemas/core/ProjectUpdate.schema.js +0 -38
  310. package/services/backend/dist/src/shared/schemas/core/Tag.schema.d.ts +0 -68
  311. package/services/backend/dist/src/shared/schemas/core/Tag.schema.js +0 -81
  312. package/services/backend/dist/src/shared/schemas/core/TagCreate.schema.d.ts +0 -52
  313. package/services/backend/dist/src/shared/schemas/core/TagCreate.schema.js +0 -60
  314. package/services/backend/dist/src/shared/schemas/core/TagUpdate.schema.d.ts +0 -47
  315. package/services/backend/dist/src/shared/schemas/core/TagUpdate.schema.js +0 -55
  316. package/services/backend/dist/src/shared/schemas/core/Trigger.schema.d.ts +0 -25
  317. package/services/backend/dist/src/shared/schemas/core/Trigger.schema.js +0 -27
  318. package/services/backend/dist/src/shared/schemas/core/User.schema.d.ts +0 -161
  319. package/services/backend/dist/src/shared/schemas/core/User.schema.js +0 -185
  320. package/services/backend/dist/src/shared/schemas/core/UserCreate.schema.d.ts +0 -59
  321. package/services/backend/dist/src/shared/schemas/core/UserCreate.schema.js +0 -67
  322. package/services/backend/dist/src/shared/schemas/core/UserUpdate.schema.d.ts +0 -52
  323. package/services/backend/dist/src/shared/schemas/core/UserUpdate.schema.js +0 -52
  324. package/services/backend/dist/src/shared/schemas/core/Widget.schema.d.ts +0 -25
  325. package/services/backend/dist/src/shared/schemas/core/Widget.schema.js +0 -29
  326. package/services/backend/dist/src/shared/schemas/core/WidgetLayout.schema.d.ts +0 -34
  327. package/services/backend/dist/src/shared/schemas/core/WidgetLayout.schema.js +0 -41
  328. package/services/backend/dist/src/shared/types/core/Account.types.d.ts +0 -19
  329. package/services/backend/dist/src/shared/types/core/Account.types.js +0 -8
  330. package/services/backend/dist/src/shared/types/core/Composition.types.d.ts +0 -31
  331. package/services/backend/dist/src/shared/types/core/Composition.types.js +0 -8
  332. package/services/backend/dist/src/shared/types/core/CompositionCreate.types.d.ts +0 -25
  333. package/services/backend/dist/src/shared/types/core/CompositionCreate.types.js +0 -8
  334. package/services/backend/dist/src/shared/types/core/CompositionUpdate.types.d.ts +0 -25
  335. package/services/backend/dist/src/shared/types/core/CompositionUpdate.types.js +0 -8
  336. package/services/backend/dist/src/shared/types/core/InteractionLink.types.d.ts +0 -25
  337. package/services/backend/dist/src/shared/types/core/InteractionLink.types.js +0 -8
  338. package/services/backend/dist/src/shared/types/core/InteractionLinkCreate.types.d.ts +0 -19
  339. package/services/backend/dist/src/shared/types/core/InteractionLinkCreate.types.js +0 -8
  340. package/services/backend/dist/src/shared/types/core/InteractionLinkUpdate.types.d.ts +0 -19
  341. package/services/backend/dist/src/shared/types/core/InteractionLinkUpdate.types.js +0 -8
  342. package/services/backend/dist/src/shared/types/core/Project.types.d.ts +0 -18
  343. package/services/backend/dist/src/shared/types/core/Project.types.js +0 -8
  344. package/services/backend/dist/src/shared/types/core/ProjectCreate.types.d.ts +0 -15
  345. package/services/backend/dist/src/shared/types/core/ProjectCreate.types.js +0 -8
  346. package/services/backend/dist/src/shared/types/core/ProjectUpdate.types.d.ts +0 -15
  347. package/services/backend/dist/src/shared/types/core/ProjectUpdate.types.js +0 -8
  348. package/services/backend/dist/src/shared/types/core/Tag.types.d.ts +0 -21
  349. package/services/backend/dist/src/shared/types/core/Tag.types.js +0 -8
  350. package/services/backend/dist/src/shared/types/core/TagCreate.types.d.ts +0 -17
  351. package/services/backend/dist/src/shared/types/core/TagCreate.types.js +0 -8
  352. package/services/backend/dist/src/shared/types/core/TagUpdate.types.d.ts +0 -17
  353. package/services/backend/dist/src/shared/types/core/TagUpdate.types.js +0 -8
  354. package/services/backend/dist/src/shared/types/core/Trigger.types.d.ts +0 -11
  355. package/services/backend/dist/src/shared/types/core/Trigger.types.js +0 -8
  356. package/services/backend/dist/src/shared/types/core/User.types.d.ts +0 -50
  357. package/services/backend/dist/src/shared/types/core/User.types.js +0 -8
  358. package/services/backend/dist/src/shared/types/core/UserCreate.types.d.ts +0 -22
  359. package/services/backend/dist/src/shared/types/core/UserCreate.types.js +0 -8
  360. package/services/backend/dist/src/shared/types/core/UserUpdate.types.d.ts +0 -21
  361. package/services/backend/dist/src/shared/types/core/UserUpdate.types.js +0 -8
  362. package/services/backend/dist/src/shared/types/core/Widget.types.d.ts +0 -14
  363. package/services/backend/dist/src/shared/types/core/Widget.types.js +0 -8
  364. package/services/backend/dist/src/shared/types/core/WidgetLayout.types.d.ts +0 -17
  365. package/services/backend/dist/src/shared/types/core/WidgetLayout.types.js +0 -8
  366. package/services/backend/dist/src/shared/types/core/index.d.ts +0 -26
  367. package/services/backend/dist/src/shared/types/core/index.js +0 -8
  368. package/services/backend/dist/src/shared/types/dataTypes/index.d.ts +0 -5
  369. package/services/backend/dist/src/shared/types/dataTypes/index.js +0 -6
  370. package/services/backend/dist/src/shared/types/dataTypes/tags.d.ts +0 -12
  371. package/services/backend/dist/src/shared/types/dataTypes/tags.js +0 -17
  372. package/services/backend/dist/src/shared/types/global/api.d.ts +0 -10
  373. package/services/backend/dist/src/shared/types/global/api.js +0 -1
  374. package/services/backend/dist/src/shared/types/global/search.d.ts +0 -7
  375. package/services/backend/dist/src/shared/types/global/search.js +0 -13
  376. package/services/backend/dist/src/shared/types/index.d.ts +0 -9
  377. package/services/backend/dist/src/shared/types/index.js +0 -8
  378. package/services/backend/dist/src/shared/types/plugins/index.d.ts +0 -8
  379. package/services/backend/dist/src/shared/types/plugins/index.js +0 -8
  380. package/services/backend/dist/src/types/index.d.ts +0 -12
  381. package/services/backend/dist/src/types/index.js +0 -12
  382. package/services/backend/dist/src/utils/errors.d.ts +0 -16
  383. package/services/backend/dist/src/utils/errors.js +0 -28
  384. package/services/backend/dist/src/utils/index.d.ts +0 -2
  385. package/services/backend/dist/src/utils/index.js +0 -2
  386. package/services/backend/dist/src/utils/request.utils.d.ts +0 -8
  387. package/services/backend/dist/src/utils/request.utils.js +0 -12
  388. package/services/backend/dist/types/index.d.ts +0 -3
  389. package/services/backend/dist/types/index.js +0 -2
  390. package/services/backend/src/.DS_Store +0 -0
  391. package/services/backend/src/core/.DS_Store +0 -0
  392. package/services/backend/src/core/pluginSystem/.DS_Store +0 -0
  393. package/services/backend/src/domains/.DS_Store +0 -0
  394. package/services/backend/src/domains/system/.DS_Store +0 -0
  395. package/services/backend/src/ssh-keys/krake +0 -8
  396. package/services/backend/src/ssh-keys/krake.pub +0 -1
  397. package/services/frontend/.DS_Store +0 -0
  398. package/services/frontend/src/.DS_Store +0 -0
  399. package/services/frontend/src/core/.DS_Store +0 -0
  400. package/services/frontend/src/core/lib/.DS_Store +0 -0
  401. package/services/frontend/src/orchestrator/.DS_Store +0 -0
  402. package/services/frontend/src/orchestrator/assets/fonts/.DS_Store +0 -0
  403. package/services/frontend/src/orchestrator/assets/styles/.DS_Store +0 -0
  404. package/services/frontend/src/orchestrator/components/.DS_Store +0 -0
  405. package/services/frontend/src/orchestrator/components/utils/.DS_Store +0 -0
  406. package/services/frontend/src/orchestrator/composables/.DS_Store +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,23 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.1.1] - 03.09.2025
11
+
12
+ ### Added
13
+
14
+ - i18n will now fallback to other region locale if requested region locale is not provided. Will finally fall back to fallbackLocale
15
+
16
+ ### Removed
17
+
18
+ - removed self dependency from backend on core and workbench
19
+
20
+ ### Fixed
21
+
22
+ - added core. prefix to notifications.
23
+ - Prevent template exception during notification from system user
package/README.md CHANGED
@@ -1,7 +1,9 @@
1
- <!--![Latest release](https://gitlab.com/raclettejs/core/-/badges/release.svg)-->
1
+ [![NPM Version](https://img.shields.io/npm/v/%40raclettejs%2Fcore)](https://www.npmjs.com/package/@raclettejs/core)
2
+ [![NPM License](https://img.shields.io/npm/l/%40raclettejs%2Fcore)](LICENSE)
3
+
2
4
 
3
5
  > [!important] Beta Phase!
4
- > Raclett is still in the Beta phase. There might be breaking changes over the next couple of month so be aware of migration needs. Visit our [Milestone Overview](https://gitlab.com/groups/raclettejs/-/milestones) for more insights and estimates
6
+ > raclette is still in the Beta phase. There might be breaking changes over the next couple of month so be aware of migration needs. Visit our [Milestone Overview](https://gitlab.com/groups/raclettejs/-/milestones) for more insights and estimates
5
7
 
6
8
  ## What is **raclette**?
7
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raclettejs/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "racletteJS core package",
5
5
  "repository": "https://gitlab.com/raclettejs/core",
6
6
  "author": "Pacifico Digital Explorations GmbH <info@raclettejs.com>",
@@ -32,8 +32,6 @@
32
32
  "@fastify/swagger": "^9.5.1",
33
33
  "@fastify/swagger-ui": "^5.2.3",
34
34
  "@fastify/type-provider-typebox": "^5.1.0",
35
- "@raclettejs/core": "^0.0.1",
36
- "@raclettejs/workbench": "^0.0.1",
37
35
  "@sinclair/typebox": "^0.34.37",
38
36
  "@types/vary": "^1.1.3",
39
37
  "axios": "^1.10.0",
@@ -74,4 +72,4 @@
74
72
  "typescript": "^5.8.3",
75
73
  "typescript-eslint": "^8.36.0"
76
74
  }
77
- }
75
+ }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <v-chip
3
- v-if="user._source"
3
+ v-if="user?._source"
4
4
  size="small"
5
5
  :color="user ? user._source.color || 'grey' : 'grey'"
6
6
  >
@@ -23,7 +23,7 @@
23
23
  <v-tooltip activator="parent" location="bottom">
24
24
  {{
25
25
  $t(
26
- "receivedNotifications$count",
26
+ "core.receivedNotifications$count",
27
27
  state.unreadCount,
28
28
  state.unreadCount,
29
29
  )
@@ -86,7 +86,9 @@
86
86
  :user-id="entry.updatedBy"
87
87
  compact
88
88
  />
89
- <TimeAgo :timestamp="entry.time" />
89
+ <TimeAgo
90
+ :timestamp="new Date(entry.time).toISOString()"
91
+ />
90
92
  </v-col>
91
93
  </v-row>
92
94
  </v-list-item-subtitle>
@@ -7,9 +7,12 @@ import configService from "@racletteCore/lib/configService"
7
7
  import logger from "@racletteCore/lib/logger"
8
8
  import { mergeDeepRight } from "ramda"
9
9
 
10
+ // Types
10
11
  type LocaleFileImports = Record<string, () => Promise<any>>
11
12
  type Messages = Record<string, any>
12
13
  type DateLocales = Record<string, any>
14
+ type LocaleEnrichmentMap = Record<string, string[]>
15
+ type SectionPriorities = Record<string, number>
13
16
 
14
17
  interface I18nInstance {
15
18
  i18nInstance: I18n
@@ -17,6 +20,13 @@ interface I18nInstance {
17
20
  dateLocale: DateLocales
18
21
  }
19
22
 
23
+ interface LocaleSection {
24
+ section: string
25
+ content: any
26
+ priority: number
27
+ }
28
+
29
+ // File imports using Vite's glob
20
30
  const i18nFiles: LocaleFileImports = import.meta.glob(
21
31
  ["/src/orchestrator/i18n/**/*.json"],
22
32
  { eager: false },
@@ -32,144 +42,182 @@ const dateFnsLocaleFiles: LocaleFileImports = import.meta.glob(
32
42
  { eager: false },
33
43
  )
34
44
 
45
+ // Global state
35
46
  let i18nInstance: I18n | null = null
36
47
  let instanceAdapter: { adapter: any } | null = null
37
48
  let dateLocale: DateLocales = {}
38
49
  let messages: Messages = {}
39
50
 
51
+ // Utility functions
52
+ const extractLocaleFromFilePath = (filePath: string): string => {
53
+ const fileName = filePath.split("/").pop()!
54
+ return fileName.replace(/\.(json|js)$/, "")
55
+ }
56
+
57
+ const getShortLocale = (longLocale: string): string => {
58
+ return longLocale.split("-")[0]
59
+ }
60
+
40
61
  const getAvailableLocales = (files: LocaleFileImports): string[] => {
41
- return Object.keys(files).map((filePath) => {
42
- const fileName = filePath.split("/").pop()!
43
- return fileName.replace(".json", "").replace(".js", "")
44
- })
62
+ return Object.keys(files).map(extractLocaleFromFilePath)
45
63
  }
46
64
 
47
65
  const getAvailableDateFnsLocales = (files: LocaleFileImports): string[] => {
48
66
  return Object.keys(files)
49
- .map((filePath) => {
50
- const fileName = filePath.split("/").pop()!
51
- return fileName.replace(".js", "")
52
- })
53
- .filter((locale) => !locale.includes("cdn") && locale !== "types") // Filter out non-locale files
67
+ .map(extractLocaleFromFilePath)
68
+ .filter((locale) => !locale.includes("cdn") && locale !== "types")
54
69
  }
55
70
 
56
- const createFormats = (locales: string[], defaultFormats: any) => {
57
- return locales.reduce(
58
- (formats, locale) => {
59
- formats[locale] = defaultFormats.EU
60
- return formats
61
- },
62
- {} as Record<string, any>,
63
- )
71
+ const createFormatsForLocales = (
72
+ locales: string[],
73
+ defaultFormats: any
74
+ ): Record<string, any> => {
75
+ return locales.reduce((formats, locale) => {
76
+ formats[locale] = defaultFormats.EU
77
+ return formats
78
+ }, {} as Record<string, any>)
64
79
  }
65
80
 
66
- const getShortLocale = (longLocale: string): string => {
67
- return longLocale.split("-")[0]
81
+ // Locale filtering functions
82
+ const createLocaleFilter = (targetLocales: string[]) => {
83
+ return (files: LocaleFileImports): LocaleFileImports => {
84
+ const filtered: LocaleFileImports = {}
85
+
86
+ Object.entries(files).forEach(([filePath, importFn]) => {
87
+ const fileLocale = extractLocaleFromFilePath(filePath)
88
+ if (targetLocales.includes(fileLocale)) {
89
+ filtered[filePath] = importFn
90
+ }
91
+ })
92
+
93
+ return filtered
94
+ }
68
95
  }
69
96
 
70
- const filterFilesByLocales = (
71
- files: LocaleFileImports,
72
- locales: string[],
73
- ): LocaleFileImports => {
74
- const filtered: LocaleFileImports = {}
97
+ const createDateFnsLocaleFilter = (requestedLocales: string[]) => {
98
+ return (files: LocaleFileImports): LocaleFileImports => {
99
+ const filtered: LocaleFileImports = {}
100
+ const availableDateFnsLocales = getAvailableDateFnsLocales(files)
101
+
102
+ requestedLocales.forEach((locale) => {
103
+ const targetLocale = findBestDateFnsLocale(locale, availableDateFnsLocales)
104
+
105
+ if (targetLocale) {
106
+ const matchingFilePath = Object.keys(files).find((filePath) => {
107
+ return extractLocaleFromFilePath(filePath) === targetLocale
108
+ })
109
+
110
+ if (matchingFilePath) {
111
+ filtered[matchingFilePath] = files[matchingFilePath]
112
+ }
113
+ }
114
+ })
115
+
116
+ return filtered
117
+ }
118
+ }
75
119
 
76
- Object.keys(files).forEach((filePath) => {
77
- const fileName = filePath.split("/").pop()!
78
- const fileLocale = fileName.replace(".json", "").replace(".js", "")
120
+ const findBestDateFnsLocale = (
121
+ requestedLocale: string,
122
+ availableLocales: string[]
123
+ ): string | null => {
124
+ // Try exact match first
125
+ if (availableLocales.includes(requestedLocale)) {
126
+ return requestedLocale
127
+ }
128
+
129
+ // Try short locale
130
+ const shortLocale = getShortLocale(requestedLocale)
131
+ if (availableLocales.includes(shortLocale)) {
132
+ return shortLocale
133
+ }
134
+
135
+ // Fallback to "eu"
136
+ if (availableLocales.includes("eu")) {
137
+ return "eu"
138
+ }
139
+
140
+ return null
141
+ }
79
142
 
80
- if (locales.includes(fileLocale)) {
81
- filtered[filePath] = files[filePath]
82
- }
83
- })
143
+ // Locale enrichment logic
144
+ const buildFallbackChain = (
145
+ requestedLocale: string,
146
+ availableLocales: string[]
147
+ ): string[] => {
148
+ const fallbackChain: string[] = []
149
+ const requestedLang = getShortLocale(requestedLocale)
150
+
151
+ // 1. Exact match
152
+ if (availableLocales.includes(requestedLocale)) {
153
+ fallbackChain.push(requestedLocale)
154
+ }
84
155
 
85
- return filtered
86
- }
156
+ // 2. Same language, different region
157
+ const sameLanguageDifferentRegion = availableLocales.filter(
158
+ (locale) =>
159
+ locale !== requestedLocale &&
160
+ getShortLocale(locale) === requestedLang &&
161
+ locale.includes("-")
162
+ )
163
+ fallbackChain.push(...sameLanguageDifferentRegion)
87
164
 
88
- const filterDateFnsFilesByLocales = (
89
- files: LocaleFileImports,
90
- locales: string[],
91
- ): LocaleFileImports => {
92
- const filtered: LocaleFileImports = {}
93
- const availableDateFnsLocales = getAvailableDateFnsLocales(files)
165
+ // 3. Short locale
166
+ if (availableLocales.includes(requestedLang) && !fallbackChain.includes(requestedLang)) {
167
+ fallbackChain.push(requestedLang)
168
+ }
94
169
 
95
- locales.forEach((locale) => {
96
- let targetLocale = ""
170
+ return fallbackChain
171
+ }
97
172
 
98
- // Try exact match first (e.g., "de-DE" -> "de-DE")
99
- if (availableDateFnsLocales.includes(locale)) {
100
- targetLocale = locale
101
- }
102
- // Try short locale (e.g., "de-DE" -> "de")
103
- else if (availableDateFnsLocales.includes(getShortLocale(locale))) {
104
- targetLocale = getShortLocale(locale)
105
- }
106
- // Fallback to "eu"
107
- else if (availableDateFnsLocales.includes("eu")) {
108
- targetLocale = "eu"
173
+ const createLocaleEnrichmentMap = (
174
+ requestedLocales: string[],
175
+ availableLocales: string[],
176
+ fallbackLocale: string
177
+ ): LocaleEnrichmentMap => {
178
+ const enrichmentMap: LocaleEnrichmentMap = {}
179
+
180
+ requestedLocales.forEach((requestedLocale) => {
181
+ let fallbackChain = buildFallbackChain(requestedLocale, availableLocales)
182
+
183
+ // Add fallback locale if nothing else was found
184
+ if (fallbackChain.length === 0 && availableLocales.includes(fallbackLocale)) {
185
+ fallbackChain = [fallbackLocale]
109
186
  }
110
187
 
111
- if (targetLocale.length) {
112
- // Find the actual file path that matches this locale
113
- const matchingFilePath = Object.keys(files).find((filePath) => {
114
- const fileName = filePath.split("/").pop()!
115
- return fileName.replace(".js", "") === targetLocale
116
- })
117
-
118
- if (matchingFilePath) {
119
- filtered[matchingFilePath] = files[matchingFilePath]
120
- console.log(
121
- `Matched ${locale} -> ${targetLocale} (${matchingFilePath})`,
122
- )
123
- }
188
+ if (fallbackChain.length > 0) {
189
+ enrichmentMap[requestedLocale] = fallbackChain
190
+ logger.orchestrator(`Enrichment chain for ${requestedLocale}:`, fallbackChain)
124
191
  }
125
192
  })
126
193
 
127
- console.log("Filtered date-fns files:", Object.keys(filtered))
128
- return filtered
194
+ return enrichmentMap
129
195
  }
130
196
 
131
- const loadMessages = async (
132
- locales: string[],
133
- priorities: Record<string, number>,
134
- ): Promise<Messages> => {
135
- const filteredI18nFiles = filterFilesByLocales(i18nFiles, locales)
136
- const shortLocales = locales.map(getShortLocale)
137
- const filteredVuetifyFiles = filterFilesByLocales(
138
- vuetifyLocaleFiles,
139
- shortLocales,
140
- )
141
-
142
- const messages: Messages = {}
143
-
144
- // Initialize message structure for each locale
145
- locales.forEach((locale) => {
146
- messages[locale] = {}
147
- })
197
+ // Message loading functions
198
+ const extractSectionFromFilePath = (filePath: string): string => {
199
+ const pathParts = filePath.split("/")
200
+ const i18nIndex = pathParts.findIndex((part) => part === "i18n")
201
+ const folderPath = pathParts.slice(i18nIndex + 1, -1).join("/")
202
+ return folderPath || "."
203
+ }
148
204
 
149
- // First, collect all sections by locale
150
- const sectionsByLocale: Record<
151
- string,
152
- Array<{ section: string; content: any; priority: number }>
153
- > = {}
205
+ const loadAndCategorizeI18nFiles = async (
206
+ files: LocaleFileImports,
207
+ priorities: SectionPriorities
208
+ ): Promise<Record<string, LocaleSection[]>> => {
209
+ const sectionsByLocale: Record<string, LocaleSection[]> = {}
154
210
 
155
- for (const [filePath, importFn] of Object.entries(filteredI18nFiles)) {
211
+ for (const [filePath, importFn] of Object.entries(files)) {
156
212
  const module = await importFn()
157
213
  const content = module.default || module
158
-
159
- const fileName = filePath.split("/").pop()!
160
- const fileLocale = fileName.replace(".json", "")
161
-
162
- // Determine the folder/section
163
- const pathParts = filePath.split("/")
164
- const i18nIndex = pathParts.findIndex((part) => part === "i18n")
165
- const folderPath = pathParts.slice(i18nIndex + 1, -1).join("/")
166
- const section = folderPath || "."
167
-
168
- // Check if section has priority defined
214
+ const fileLocale = extractLocaleFromFilePath(filePath)
215
+ const section = extractSectionFromFilePath(filePath)
169
216
  const priority = priorities[section]
217
+
170
218
  if (priority === undefined) {
171
219
  logger.warning(
172
- `Section "${section}" for locale "${fileLocale}" has no priority defined and will be skipped`,
220
+ `Section "${section}" for locale "${fileLocale}" has no priority defined and will be skipped`
173
221
  )
174
222
  continue
175
223
  }
@@ -178,35 +226,67 @@ const loadMessages = async (
178
226
  sectionsByLocale[fileLocale] = []
179
227
  }
180
228
 
181
- sectionsByLocale[fileLocale].push({
182
- section,
183
- content,
184
- priority,
185
- })
229
+ sectionsByLocale[fileLocale].push({ section, content, priority })
186
230
  }
187
231
 
188
- // Merge sections by priority for each locale
189
- for (const [locale, sections] of Object.entries(sectionsByLocale)) {
190
- // Sort by priority descending (highest number first = lowest priority)
232
+ return sectionsByLocale
233
+ }
234
+
235
+ const mergeSectionsByPriority = (
236
+ sectionsByLocale: Record<string, LocaleSection[]>
237
+ ): Record<string, any> => {
238
+ const mergedByLocale: Record<string, any> = {}
239
+
240
+ Object.entries(sectionsByLocale).forEach(([locale, sections]) => {
241
+ // Sort by priority descending (highest number = lowest priority)
191
242
  const sortedSections = sections.sort((a, b) => b.priority - a.priority)
192
243
 
193
244
  // Deep merge from lowest to highest priority
194
- messages[locale] = sortedSections.reduce((merged, { content }) => {
245
+ mergedByLocale[locale] = sortedSections.reduce((merged, { content }) => {
195
246
  return mergeDeepRight(merged, content || {})
196
247
  }, {})
197
- }
248
+ })
198
249
 
199
- // Load Vuetify locales
200
- for (const [filePath, importFn] of Object.entries(filteredVuetifyFiles)) {
250
+ return mergedByLocale
251
+ }
252
+
253
+ const enrichMessagesWithFallbacks = (
254
+ enrichmentMap: LocaleEnrichmentMap,
255
+ mergedByLocale: Record<string, any>
256
+ ): Messages => {
257
+ const enrichedMessages: Messages = {}
258
+
259
+ Object.entries(enrichmentMap).forEach(([requestedLocale, fallbackChain]) => {
260
+ let localeMessages = {}
261
+
262
+ // Merge in reverse order (lowest priority first)
263
+ const reversedChain = [...fallbackChain].reverse()
264
+ reversedChain.forEach((sourceLocale) => {
265
+ if (mergedByLocale[sourceLocale]) {
266
+ localeMessages = mergeDeepRight(localeMessages, mergedByLocale[sourceLocale])
267
+ logger.orchestrator(`Merged ${sourceLocale} into ${requestedLocale}`)
268
+ }
269
+ })
270
+
271
+ enrichedMessages[requestedLocale] = localeMessages
272
+ })
273
+
274
+ return enrichedMessages
275
+ }
276
+
277
+ const loadVuetifyLocales = async (
278
+ files: LocaleFileImports,
279
+ locales: string[],
280
+ messages: Messages
281
+ ): Promise<void> => {
282
+ for (const [filePath, importFn] of Object.entries(files)) {
201
283
  const module = await importFn()
202
284
  const vuetifyLocale = module.default || module
203
-
204
- const fileName = filePath.split("/").pop()!
205
- const shortLocale = fileName.replace(".js", "")
285
+ const shortLocale = extractLocaleFromFilePath(filePath)
206
286
 
207
287
  // Find corresponding long locale(s)
208
288
  const matchingLocales = locales.filter(
209
- (locale) => getShortLocale(locale) === shortLocale,
289
+ (locale) => getShortLocale(locale) === shortLocale
210
290
  )
211
291
 
212
292
  matchingLocales.forEach((locale) => {
@@ -215,52 +295,55 @@ const loadMessages = async (
215
295
  }
216
296
  })
217
297
  }
298
+ }
299
+
300
+ const loadMessages = async (
301
+ locales: string[],
302
+ priorities: SectionPriorities
303
+ ): Promise<Messages> => {
304
+ const availableLocales = getAvailableLocales(i18nFiles)
305
+ const enrichmentMap = createLocaleEnrichmentMap(locales, availableLocales, "en-EU")
306
+
307
+ // Get all unique locales to load
308
+ const allLocalesToLoad = new Set<string>()
309
+ Object.values(enrichmentMap).forEach((fallbackChain) => {
310
+ fallbackChain.forEach((locale) => allLocalesToLoad.add(locale))
311
+ })
312
+
313
+ // Filter and load i18n files
314
+ const filteredI18nFiles = createLocaleFilter(Array.from(allLocalesToLoad))(i18nFiles)
315
+ const sectionsByLocale = await loadAndCategorizeI18nFiles(filteredI18nFiles, priorities)
316
+ const mergedByLocale = mergeSectionsByPriority(sectionsByLocale)
317
+ const messages = enrichMessagesWithFallbacks(enrichmentMap, mergedByLocale)
318
+
319
+ // Load Vuetify locales
320
+ const shortLocales = locales.map(getShortLocale)
321
+ const filteredVuetifyFiles = createLocaleFilter(shortLocales)(vuetifyLocaleFiles)
322
+ await loadVuetifyLocales(filteredVuetifyFiles, locales, messages)
218
323
 
219
324
  return messages
220
325
  }
221
326
 
327
+ // Date-fns locale loading
222
328
  const loadDateFnsLocales = async (locales: string[]): Promise<DateLocales> => {
223
- const filteredDateFnsFiles = filterDateFnsFilesByLocales(
224
- dateFnsLocaleFiles,
225
- locales,
226
- )
329
+ const filteredDateFnsFiles = createDateFnsLocaleFilter(locales)(dateFnsLocaleFiles)
227
330
  const dateLocales: DateLocales = {}
331
+ const availableDateFnsLocales = getAvailableDateFnsLocales(dateFnsLocaleFiles)
228
332
 
229
- // Load date-fns locales
230
333
  for (const [filePath, importFn] of Object.entries(filteredDateFnsFiles)) {
231
334
  const module = await importFn()
232
335
  const dateFnsLocale = module.default || module
233
-
234
- // Extract the actual locale from the file path
235
- const fileName = filePath.split("/").pop()!
236
- const actualLocale = fileName.replace(".js", "")
336
+ const actualLocale = extractLocaleFromFilePath(filePath)
237
337
 
238
338
  // Map to all requesting locales that should use this date-fns locale
239
339
  locales.forEach((requestedLocale) => {
240
- const availableDateFnsLocales =
241
- getAvailableDateFnsLocales(dateFnsLocaleFiles)
242
-
243
- let shouldUseThisLocale = false
244
-
245
- // Check if this is the exact match
246
- if (requestedLocale === actualLocale) {
247
- shouldUseThisLocale = true
248
- }
249
- // Check if this is the short locale fallback
250
- else if (
251
- getShortLocale(requestedLocale) === actualLocale &&
252
- !availableDateFnsLocales.includes(requestedLocale)
253
- ) {
254
- shouldUseThisLocale = true
255
- }
256
- // Check if this is the "eu" fallback
257
- else if (
258
- actualLocale === "eu" &&
259
- !availableDateFnsLocales.includes(requestedLocale) &&
260
- !availableDateFnsLocales.includes(getShortLocale(requestedLocale))
261
- ) {
262
- shouldUseThisLocale = true
263
- }
340
+ const shouldUseThisLocale =
341
+ requestedLocale === actualLocale ||
342
+ (getShortLocale(requestedLocale) === actualLocale &&
343
+ !availableDateFnsLocales.includes(requestedLocale)) ||
344
+ (actualLocale === "eu" &&
345
+ !availableDateFnsLocales.includes(requestedLocale) &&
346
+ !availableDateFnsLocales.includes(getShortLocale(requestedLocale)))
264
347
 
265
348
  if (shouldUseThisLocale) {
266
349
  dateLocales[requestedLocale] = dateFnsLocale
@@ -271,22 +354,33 @@ const loadDateFnsLocales = async (locales: string[]): Promise<DateLocales> => {
271
354
  return dateLocales
272
355
  }
273
356
 
357
+ // Main initialization function
274
358
  const initI18n = async (): Promise<I18nInstance> => {
275
359
  if (!i18nInstance) {
276
360
  const fallbackLocale = "en-EU"
277
361
  const { locales, priorities } = configService.getI18nConfig()
278
362
  const availableLocales = getAvailableLocales(i18nFiles)
363
+
279
364
  logger.orchestrator("Configured locales:", locales)
280
365
  logger.orchestrator("Available locale files:", availableLocales)
281
366
 
282
- // Load messages and date locales
283
- messages = await loadMessages(locales, priorities)
284
- dateLocale = await loadDateFnsLocales(locales)
367
+ // Load messages and date locales concurrently
368
+ const [loadedMessages, loadedDateLocales] = await Promise.all([
369
+ loadMessages(locales, priorities),
370
+ loadDateFnsLocales(locales)
371
+ ])
372
+
373
+ messages = loadedMessages
374
+ dateLocale = loadedDateLocales
375
+
285
376
  logger.orchestrator("Loaded messages:", Object.keys(messages))
286
377
  logger.orchestrator("Loaded date locales:", Object.keys(dateLocale))
287
- const dateTimeFormats = createFormats(locales, defaultDateTimeFormats)
288
- const numberFormatsForLocales = createFormats(locales, defaultNumberFormats)
289
378
 
379
+ // Create formats
380
+ const dateTimeFormats = createFormatsForLocales(locales, defaultDateTimeFormats)
381
+ const numberFormatsForLocales = createFormatsForLocales(locales, defaultNumberFormats)
382
+
383
+ // Initialize i18n instance
290
384
  i18nInstance = createI18n({
291
385
  legacy: false,
292
386
  globalInjection: true,
@@ -309,4 +403,4 @@ const initI18n = async (): Promise<I18nInstance> => {
309
403
  }
310
404
 
311
405
  export default initI18n
312
- export { i18nInstance, instanceAdapter, dateLocale, initI18n }
406
+ export { i18nInstance, instanceAdapter, dateLocale, initI18n }