@researchdatabox/redbox-core 0.0.1-beta.10213 → 0.0.1-beta.10760

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 (287) hide show
  1. package/dist/CoreController.d.ts +8 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +87 -52
  4. package/dist/RecordsService.d.ts +2 -0
  5. package/dist/RecordsService.d.ts.map +1 -1
  6. package/dist/SearchService.d.ts +1 -1
  7. package/dist/SearchService.d.ts.map +1 -1
  8. package/dist/StorageService.d.ts +2 -0
  9. package/dist/StorageService.d.ts.map +1 -1
  10. package/dist/api-routes/groups/branding.d.ts +1 -0
  11. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  12. package/dist/api-routes/groups/branding.js +19 -2
  13. package/dist/api-routes/groups/export.js +2 -2
  14. package/dist/api-routes/groups/figshare-crosswalks.d.ts +11 -0
  15. package/dist/api-routes/groups/figshare-crosswalks.d.ts.map +1 -0
  16. package/dist/api-routes/groups/figshare-crosswalks.js +171 -0
  17. package/dist/api-routes/groups/figshare-vocabulary.d.ts +12 -0
  18. package/dist/api-routes/groups/figshare-vocabulary.d.ts.map +1 -0
  19. package/dist/api-routes/groups/figshare-vocabulary.js +248 -0
  20. package/dist/api-routes/groups/search.js +4 -4
  21. package/dist/api-routes/groups/users.js +3 -3
  22. package/dist/api-routes/index.d.ts +2 -0
  23. package/dist/api-routes/index.d.ts.map +1 -1
  24. package/dist/api-routes/index.js +3 -1
  25. package/dist/api-routes/route-registry.d.ts.map +1 -1
  26. package/dist/api-routes/route-registry.js +5 -1
  27. package/dist/api-routes/schemas/common.d.ts +1 -0
  28. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  29. package/dist/api-routes/schemas/common.js +3 -2
  30. package/dist/bootstrap.d.ts.map +1 -1
  31. package/dist/bootstrap.js +5 -1
  32. package/dist/config/agendaQueue.config.d.ts +3 -0
  33. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  34. package/dist/config/agendaQueue.config.js +13 -1
  35. package/dist/config/auth.config.d.ts.map +1 -1
  36. package/dist/config/auth.config.js +4 -1
  37. package/dist/config/brandingConfigurationDefaults.config.d.ts +1 -1
  38. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  39. package/dist/config/brandingConfigurationDefaults.config.js +22 -230
  40. package/dist/config/dashboardtype.config.d.ts +7 -0
  41. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  42. package/dist/config/dashboardtype.config.js +9 -89
  43. package/dist/config/dashboardview.config.d.ts +7 -0
  44. package/dist/config/dashboardview.config.d.ts.map +1 -1
  45. package/dist/config/dashboardview.config.js +9 -134
  46. package/dist/config/http.config.d.ts +2 -0
  47. package/dist/config/http.config.d.ts.map +1 -1
  48. package/dist/config/http.config.js +47 -1
  49. package/dist/config/jsonld.config.d.ts.map +1 -1
  50. package/dist/config/jsonld.config.js +2 -21
  51. package/dist/config/record.config.d.ts.map +1 -1
  52. package/dist/config/record.config.js +2 -9
  53. package/dist/config/recordtype.config.d.ts +8 -0
  54. package/dist/config/recordtype.config.d.ts.map +1 -1
  55. package/dist/config/recordtype.config.js +10 -660
  56. package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
  57. package/dist/config/reusableContributorFormDefinitions.config.js +1 -2
  58. package/dist/config/reusableViewFormDefinitions.config.d.ts.map +1 -1
  59. package/dist/config/reusableViewFormDefinitions.config.js +12 -1
  60. package/dist/config/routes.config.d.ts.map +1 -1
  61. package/dist/config/routes.config.js +12 -3
  62. package/dist/config/solr.config.d.ts +1 -0
  63. package/dist/config/solr.config.d.ts.map +1 -1
  64. package/dist/config/solr.config.js +3 -2
  65. package/dist/config/static_assets.config.d.ts +2 -0
  66. package/dist/config/static_assets.config.d.ts.map +1 -1
  67. package/dist/config/static_assets.config.js +4 -2
  68. package/dist/config/storage.config.d.ts.map +1 -1
  69. package/dist/config/storage.config.js +7 -1
  70. package/dist/config/views.config.d.ts.map +1 -1
  71. package/dist/config/views.config.js +2 -6
  72. package/dist/config/vocab.config.d.ts +4 -0
  73. package/dist/config/vocab.config.d.ts.map +1 -1
  74. package/dist/config/vocab.config.js +1 -1
  75. package/dist/config/workflow.config.d.ts +7 -0
  76. package/dist/config/workflow.config.d.ts.map +1 -1
  77. package/dist/config/workflow.config.js +9 -194
  78. package/dist/config/workspacetype.config.d.ts +7 -0
  79. package/dist/config/workspacetype.config.d.ts.map +1 -1
  80. package/dist/config/workspacetype.config.js +9 -10
  81. package/dist/configmodels/DoiPublishing.d.ts +1 -1
  82. package/dist/configmodels/DoiPublishing.d.ts.map +1 -1
  83. package/dist/configmodels/FigsharePublishing.d.ts +746 -217
  84. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  85. package/dist/configmodels/FigsharePublishing.js +181 -190
  86. package/dist/constants/export.d.ts +2 -0
  87. package/dist/constants/export.d.ts.map +1 -0
  88. package/dist/constants/export.js +8 -0
  89. package/dist/controllers/AsynchController.d.ts +4 -1
  90. package/dist/controllers/AsynchController.d.ts.map +1 -1
  91. package/dist/controllers/AsynchController.js +118 -9
  92. package/dist/controllers/BrandingAppController.d.ts +2 -0
  93. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  94. package/dist/controllers/BrandingAppController.js +40 -2
  95. package/dist/controllers/BrandingController.d.ts +8 -0
  96. package/dist/controllers/BrandingController.d.ts.map +1 -1
  97. package/dist/controllers/BrandingController.js +45 -1
  98. package/dist/controllers/ExportController.d.ts.map +1 -1
  99. package/dist/controllers/ExportController.js +4 -3
  100. package/dist/controllers/RecordController.d.ts +1 -1
  101. package/dist/controllers/RecordController.d.ts.map +1 -1
  102. package/dist/controllers/RecordController.js +47 -21
  103. package/dist/controllers/UserController.d.ts.map +1 -1
  104. package/dist/controllers/UserController.js +3 -2
  105. package/dist/controllers/VocabularyController.js +4 -4
  106. package/dist/controllers/index.d.ts.map +1 -1
  107. package/dist/controllers/index.js +7 -1
  108. package/dist/controllers/webservice/BrandingController.d.ts +1 -0
  109. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  110. package/dist/controllers/webservice/BrandingController.js +69 -10
  111. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  112. package/dist/controllers/webservice/ExportController.js +4 -3
  113. package/dist/controllers/webservice/FigshareCrosswalkController.d.ts +20 -0
  114. package/dist/controllers/webservice/FigshareCrosswalkController.d.ts.map +1 -0
  115. package/dist/controllers/webservice/FigshareCrosswalkController.js +184 -0
  116. package/dist/controllers/webservice/FigshareVocabularyController.d.ts +21 -0
  117. package/dist/controllers/webservice/FigshareVocabularyController.d.ts.map +1 -0
  118. package/dist/controllers/webservice/FigshareVocabularyController.js +223 -0
  119. package/dist/controllers/webservice/RecordController.d.ts +2 -0
  120. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  121. package/dist/controllers/webservice/RecordController.js +60 -12
  122. package/dist/controllers/webservice/UserManagementController.d.ts +5 -3
  123. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  124. package/dist/controllers/webservice/UserManagementController.js +140 -9
  125. package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts +14 -0
  126. package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts.map +1 -0
  127. package/dist/controllers/webservice/figshare-vocabulary-errors.js +39 -0
  128. package/dist/form-config/index.d.ts +7 -0
  129. package/dist/form-config/index.d.ts.map +1 -1
  130. package/dist/form-config/index.js +8 -5
  131. package/dist/hooks/hookDiscovery.d.ts +20 -0
  132. package/dist/hooks/hookDiscovery.d.ts.map +1 -0
  133. package/dist/hooks/hookDiscovery.js +186 -0
  134. package/dist/hooks/hookResources.d.ts +23 -0
  135. package/dist/hooks/hookResources.d.ts.map +1 -0
  136. package/dist/hooks/hookResources.js +136 -0
  137. package/dist/hooks/index.d.ts +4 -0
  138. package/dist/hooks/index.d.ts.map +1 -1
  139. package/dist/hooks/index.js +14 -2
  140. package/dist/index.d.ts +4 -0
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +14 -2
  143. package/dist/loader/index.d.ts.map +1 -1
  144. package/dist/loader/index.js +21 -62
  145. package/dist/model/storage/BrandingModel.d.ts +2 -0
  146. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  147. package/dist/model/storage/BrandingModel.js +3 -1
  148. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  149. package/dist/services/AgendaQueueService.js +6 -2
  150. package/dist/services/BrandingLogoService.d.ts +20 -1
  151. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  152. package/dist/services/BrandingLogoService.js +51 -5
  153. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  154. package/dist/services/BrandingThemeTokens.js +2 -1
  155. package/dist/services/EmailService.d.ts +2 -8
  156. package/dist/services/EmailService.d.ts.map +1 -1
  157. package/dist/services/EmailService.js +8 -26
  158. package/dist/services/FigshareService.d.ts.map +1 -1
  159. package/dist/services/FigshareService.js +5 -4
  160. package/dist/services/FigshareVocabularyService.d.ts +442 -0
  161. package/dist/services/FigshareVocabularyService.d.ts.map +1 -0
  162. package/dist/services/FigshareVocabularyService.js +1802 -0
  163. package/dist/services/FormVocabularyService.d.ts.map +1 -1
  164. package/dist/services/FormVocabularyService.js +28 -7
  165. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  166. package/dist/services/I18nEntriesService.js +21 -2
  167. package/dist/services/IntegrationAuditService.js +4 -4
  168. package/dist/services/NamedQueryService.d.ts.map +1 -1
  169. package/dist/services/NamedQueryService.js +3 -16
  170. package/dist/services/RDMPService.d.ts.map +1 -1
  171. package/dist/services/RDMPService.js +9 -1
  172. package/dist/services/RecordsService.d.ts +4 -0
  173. package/dist/services/RecordsService.d.ts.map +1 -1
  174. package/dist/services/RecordsService.js +62 -45
  175. package/dist/services/ReportsService.d.ts +0 -5
  176. package/dist/services/ReportsService.d.ts.map +1 -1
  177. package/dist/services/ReportsService.js +22 -31
  178. package/dist/services/SolrSearchService.d.ts +10 -2
  179. package/dist/services/SolrSearchService.d.ts.map +1 -1
  180. package/dist/services/SolrSearchService.js +110 -52
  181. package/dist/services/StandardDatastreamService.d.ts +7 -0
  182. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  183. package/dist/services/StandardDatastreamService.js +127 -27
  184. package/dist/services/TemplateService.d.ts +0 -14
  185. package/dist/services/TemplateService.d.ts.map +1 -1
  186. package/dist/services/TemplateService.js +4 -45
  187. package/dist/services/UsersService.d.ts.map +1 -1
  188. package/dist/services/UsersService.js +19 -16
  189. package/dist/services/ViewUtilsService.d.ts +5 -1
  190. package/dist/services/ViewUtilsService.d.ts.map +1 -1
  191. package/dist/services/ViewUtilsService.js +38 -46
  192. package/dist/services/VocabularyService.d.ts +11 -2
  193. package/dist/services/VocabularyService.d.ts.map +1 -1
  194. package/dist/services/VocabularyService.js +46 -20
  195. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  196. package/dist/services/doi-v2/bindings.js +2 -11
  197. package/dist/services/figshare-v2/assets.d.ts +2 -1
  198. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  199. package/dist/services/figshare-v2/assets.js +144 -89
  200. package/dist/services/figshare-v2/bindings.d.ts +28 -3
  201. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  202. package/dist/services/figshare-v2/bindings.js +75 -17
  203. package/dist/services/figshare-v2/categories.d.ts +142 -0
  204. package/dist/services/figshare-v2/categories.d.ts.map +1 -0
  205. package/dist/services/figshare-v2/categories.js +408 -0
  206. package/dist/services/figshare-v2/config.d.ts +10 -0
  207. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  208. package/dist/services/figshare-v2/config.js +39 -1
  209. package/dist/services/figshare-v2/context.d.ts +18 -1
  210. package/dist/services/figshare-v2/context.d.ts.map +1 -1
  211. package/dist/services/figshare-v2/context.js +34 -2
  212. package/dist/services/figshare-v2/embargo.d.ts.map +1 -1
  213. package/dist/services/figshare-v2/embargo.js +6 -4
  214. package/dist/services/figshare-v2/http.d.ts +3 -1
  215. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  216. package/dist/services/figshare-v2/http.js +26 -4
  217. package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
  218. package/dist/services/figshare-v2/metadata.js +74 -26
  219. package/dist/services/figshare-v2/observability.d.ts +1 -2
  220. package/dist/services/figshare-v2/observability.d.ts.map +1 -1
  221. package/dist/services/figshare-v2/observability.js +7 -47
  222. package/dist/services/figshare-v2/types.d.ts +13 -0
  223. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  224. package/dist/services/figshare-v2/types.js +1 -1
  225. package/dist/services/figshare-v2/vocabulary-errors.d.ts +39 -0
  226. package/dist/services/figshare-v2/vocabulary-errors.d.ts.map +1 -0
  227. package/dist/services/figshare-v2/vocabulary-errors.js +68 -0
  228. package/dist/services/index.d.ts +3 -0
  229. package/dist/services/index.d.ts.map +1 -1
  230. package/dist/services/index.js +8 -3
  231. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
  232. package/dist/storage/TusStorageManagerDataStore.js +14 -1
  233. package/dist/utilities/ContextVariableUtils.d.ts +3 -1
  234. package/dist/utilities/ContextVariableUtils.d.ts.map +1 -1
  235. package/dist/utilities/ContextVariableUtils.js +25 -7
  236. package/dist/utilities/PromiseUtils.d.ts +9 -0
  237. package/dist/utilities/PromiseUtils.d.ts.map +1 -0
  238. package/dist/utilities/PromiseUtils.js +27 -0
  239. package/dist/utilities/RedactionUtils.d.ts +3 -0
  240. package/dist/utilities/RedactionUtils.d.ts.map +1 -0
  241. package/dist/utilities/RedactionUtils.js +55 -0
  242. package/dist/visitor/client.visitor.d.ts +3 -0
  243. package/dist/visitor/client.visitor.d.ts.map +1 -1
  244. package/dist/visitor/client.visitor.js +102 -17
  245. package/dist/visitor/construct.visitor.d.ts +3 -0
  246. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  247. package/dist/visitor/construct.visitor.js +51 -38
  248. package/dist/visitor/json-type-def.visitor.d.ts +1 -0
  249. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  250. package/dist/visitor/json-type-def.visitor.js +20 -4
  251. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +6 -3
  252. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  253. package/dist/visitor/migrate-config-v4-v5.visitor.js +94 -44
  254. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  255. package/dist/visitor/validator.visitor.js +1 -1
  256. package/dist/visitor/visitor-helpers.js +2 -2
  257. package/dist/waterline-models/BrandingConfig.d.ts +2 -0
  258. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  259. package/dist/waterline-models/BrandingConfig.js +6 -1
  260. package/dist/waterline-models/FigshareVocabularyCategory.d.ts +38 -0
  261. package/dist/waterline-models/FigshareVocabularyCategory.d.ts.map +1 -0
  262. package/dist/waterline-models/FigshareVocabularyCategory.js +157 -0
  263. package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts +37 -0
  264. package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts.map +1 -0
  265. package/dist/waterline-models/FigshareVocabularyCrosswalk.js +153 -0
  266. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts +37 -0
  267. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts.map +1 -0
  268. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.js +138 -0
  269. package/dist/waterline-models/FigshareVocabularySource.d.ts +45 -0
  270. package/dist/waterline-models/FigshareVocabularySource.d.ts.map +1 -0
  271. package/dist/waterline-models/FigshareVocabularySource.js +149 -0
  272. package/dist/waterline-models/FigshareVocabularySyncRun.d.ts +70 -0
  273. package/dist/waterline-models/FigshareVocabularySyncRun.d.ts.map +1 -0
  274. package/dist/waterline-models/FigshareVocabularySyncRun.js +237 -0
  275. package/dist/waterline-models/Vocabulary.d.ts +3 -1
  276. package/dist/waterline-models/Vocabulary.d.ts.map +1 -1
  277. package/dist/waterline-models/Vocabulary.js +9 -3
  278. package/dist/waterline-models/index.d.ts +10 -0
  279. package/dist/waterline-models/index.d.ts.map +1 -1
  280. package/dist/waterline-models/index.js +16 -1
  281. package/package.json +19 -19
  282. package/dist/form-config/dataRecord-1.0-draft.d.ts +0 -4
  283. package/dist/form-config/dataRecord-1.0-draft.d.ts.map +0 -1
  284. package/dist/form-config/dataRecord-1.0-draft.js +0 -1042
  285. package/dist/form-config/default-1.0-draft.d.ts +0 -4
  286. package/dist/form-config/default-1.0-draft.d.ts.map +0 -1
  287. package/dist/form-config/default-1.0-draft.js +0 -1156
@@ -7,6 +7,10 @@ export declare namespace Services {
7
7
  */
8
8
  class ViewUtils extends services.Core.Service {
9
9
  protected _exportedMethods: string[];
10
+ private getCoreViewRoot;
11
+ private resolveCoreViewFile;
12
+ private resolveViewCandidate;
13
+ private resolveTemplateDirectory;
10
14
  /**
11
15
  * Extracts a display value from the request locals using a dot-notation path.
12
16
  *
@@ -27,7 +31,7 @@ export declare namespace Services {
27
31
  * @param fromTemplate - Whether this is being called from within a template
28
32
  * @returns The resolved partial path with appropriate relative prefixes
29
33
  */
30
- resolvePartialPath(value: string, branding: string, portal: string, templatePath: string, fromTemplate?: boolean): string;
34
+ resolvePartialPath(value: string, branding: string, portal: string, templatePath: string, _fromTemplate?: boolean): string;
31
35
  }
32
36
  }
33
37
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewUtilsService.d.ts","sourceRoot":"","sources":["../../src/services/ViewUtilsService.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtD,yBAAiB,QAAQ,CAAC;IACxB;;;;OAIG;IACH,MAAa,SAAU,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAElD,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAG3C;QAEF;;;;;;;WAOG;QACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO;QAgBtF;;;;;;;;;;WAUG;QACI,kBAAkB,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,OAAe,GAC5B,MAAM;KAoDV;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC;CAC1C"}
1
+ {"version":3,"file":"ViewUtilsService.d.ts","sourceRoot":"","sources":["../../src/services/ViewUtilsService.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKtD,yBAAiB,QAAQ,CAAC;IACxB;;;;OAIG;IACH,MAAa,SAAU,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAElD,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAG3C;QAEF,OAAO,CAAC,eAAe;QAIvB,OAAO,CAAC,mBAAmB;QAO3B,OAAO,CAAC,oBAAoB;QAK5B,OAAO,CAAC,wBAAwB;QAOhC;;;;;;;WAOG;QACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO;QAgBtF;;;;;;;;;;WAUG;QACI,kBAAkB,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,OAAe,GAC7B,MAAM;KAkBV;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC;CAC1C"}
@@ -17,10 +17,14 @@
17
17
  // You should have received a copy of the GNU General Public License along
18
18
  // with this program; if not, write to the Free Software Foundation, Inc.,
19
19
  // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  exports.Services = void 0;
22
- const fs_1 = require("fs");
25
+ const path_1 = __importDefault(require("path"));
23
26
  const CoreService_1 = require("../CoreService");
27
+ const hookResources_1 = require("../hooks/hookResources");
24
28
  var Services;
25
29
  (function (Services) {
26
30
  /**
@@ -33,6 +37,25 @@ var Services;
33
37
  'displayValue',
34
38
  'resolvePartialPath'
35
39
  ];
40
+ getCoreViewRoot() {
41
+ return path_1.default.resolve(sails.config.appPath, 'views');
42
+ }
43
+ resolveCoreViewFile(viewPath) {
44
+ return (0, hookResources_1.resolveHookViewFile)(sails.config.appPath, viewPath, {
45
+ roots: [this.getCoreViewRoot()],
46
+ extension: '.ejs',
47
+ });
48
+ }
49
+ resolveViewCandidate(viewPath) {
50
+ return (0, hookResources_1.resolveHookViewFile)(sails.config.appPath, viewPath)
51
+ ?? this.resolveCoreViewFile(viewPath);
52
+ }
53
+ resolveTemplateDirectory(templatePath) {
54
+ const resolvedTemplatePath = path_1.default.resolve(templatePath);
55
+ return path_1.default.extname(path_1.default.basename(resolvedTemplatePath))
56
+ ? path_1.default.dirname(resolvedTemplatePath)
57
+ : resolvedTemplatePath;
58
+ }
36
59
  /**
37
60
  * Extracts a display value from the request locals using a dot-notation path.
38
61
  *
@@ -67,54 +90,23 @@ var Services;
67
90
  * @param fromTemplate - Whether this is being called from within a template
68
91
  * @returns The resolved partial path with appropriate relative prefixes
69
92
  */
70
- resolvePartialPath(value, branding, portal, templatePath, fromTemplate = false) {
71
- let partialLocation = value;
72
- const viewsDir = sails.config.appPath + "/views";
73
- const masterTemplateLocation = templatePath.substring(viewsDir.length, templatePath.length);
74
- const splitUrl = masterTemplateLocation.split('/');
75
- if (splitUrl.length > 2) {
76
- // Try branding + portal specific path
77
- let locationToTest = sails.config.appPath + "/views/" + branding + "/" + portal + "/" + value;
78
- sails.log.debug("testing :" + locationToTest);
79
- if ((0, fs_1.existsSync)(locationToTest)) {
80
- partialLocation = branding + "/" + portal + "/" + value;
81
- }
82
- // Try default branding + specific portal path
83
- if (partialLocation === value) {
84
- locationToTest = sails.config.appPath + "/views/default/" + portal + "/" + value;
85
- sails.log.debug("testing :" + locationToTest);
86
- if ((0, fs_1.existsSync)(locationToTest)) {
87
- partialLocation = "default/" + portal + "/" + value;
88
- }
89
- }
90
- // Try default branding + default portal path
91
- if (partialLocation === value) {
92
- locationToTest = sails.config.appPath + "/views/default/default/" + value;
93
- sails.log.debug("testing :" + locationToTest);
94
- if ((0, fs_1.existsSync)(locationToTest)) {
95
- partialLocation = "default/default/" + value;
96
- }
97
- }
98
- // Add relative path prefixes if a location was found
99
- if (partialLocation !== value) {
100
- if (!fromTemplate) {
101
- const numberOfLevels = splitUrl.length - 2;
102
- for (let i = 0; i < numberOfLevels; i++) {
103
- partialLocation = "../" + partialLocation;
104
- }
105
- }
106
- else {
107
- const numberOfLevels = 2;
108
- for (let i = 0; i < numberOfLevels; i++) {
109
- partialLocation = "../" + partialLocation;
110
- }
111
- }
93
+ resolvePartialPath(value, branding, portal, templatePath, _fromTemplate = false) {
94
+ const candidates = [
95
+ `${branding}/${portal}/${value}`,
96
+ `default/${portal}/${value}`,
97
+ `default/default/${value}`,
98
+ ];
99
+ for (const candidate of candidates) {
100
+ const resolvedPartial = this.resolveViewCandidate(candidate);
101
+ if (resolvedPartial) {
102
+ const templateDirectory = this.resolveTemplateDirectory(templatePath);
103
+ const relativePartialPath = path_1.default.relative(templateDirectory, resolvedPartial.absolutePath);
104
+ return relativePartialPath.replace(/\\/g, '/');
112
105
  }
113
- return partialLocation;
114
106
  }
115
- return partialLocation;
107
+ return value;
116
108
  }
117
109
  }
118
110
  Services.ViewUtils = ViewUtils;
119
111
  })(Services || (exports.Services = Services = {}));
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlld1V0aWxzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9WaWV3VXRpbHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7O0FBRTlELDJCQUFnQztBQUNoQyxnREFBc0Q7QUFHdEQsSUFBaUIsUUFBUSxDQTJHeEI7QUEzR0QsV0FBaUIsUUFBUTtJQUN2Qjs7OztPQUlHO0lBQ0gsTUFBYSxTQUFVLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUUvQixnQkFBZ0IsR0FBYTtZQUM5QyxjQUFjO1lBQ2Qsb0JBQW9CO1NBQ3JCLENBQUM7UUFFRjs7Ozs7OztXQU9HO1FBQ0ksWUFBWSxDQUFDLEtBQWEsRUFBRSxHQUFjLEVBQUUsZUFBdUIsRUFBRTtZQUMxRSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksV0FBVyxHQUFZLFlBQVksQ0FBQztZQUN4QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQTZDLENBQUM7WUFDMUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE9BQU8sWUFBWSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN6QyxXQUFXLEdB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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlld1V0aWxzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9WaWV3VXRpbHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7O0FBRTlELGdEQUF3QjtBQUN4QixnREFBc0Q7QUFDdEQsMERBQTZEO0FBSTdELElBQWlCLFFBQVEsQ0FnR3hCO0FBaEdELFdBQWlCLFFBQVE7SUFDdkI7Ozs7T0FJRztJQUNILE1BQWEsU0FBVSxTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFFL0IsZ0JBQWdCLEdBQWE7WUFDOUMsY0FBYztZQUNkLG9CQUFvQjtTQUNyQixDQUFDO1FBRU0sZUFBZTtZQUNyQixPQUFPLGNBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVPLG1CQUFtQixDQUFDLFFBQWdCO1lBQzFDLE9BQU8sSUFBQSxtQ0FBbUIsRUFBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUU7Z0JBQ3pELEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDL0IsU0FBUyxFQUFFLE1BQU07YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVPLG9CQUFvQixDQUFDLFFBQWdCO1lBQzNDLE9BQU8sSUFBQSxtQ0FBbUIsRUFBQyxLQUFLLENBQUMsTUFB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
@@ -3,7 +3,7 @@ import { VocabularyAttributes, VocabularyEntryAttributes } from '../waterline-mo
3
3
  import * as fs from 'node:fs/promises';
4
4
  export declare namespace Services {
5
5
  type VocabType = 'flat' | 'tree';
6
- type VocabSource = 'local' | 'rva';
6
+ type VocabSource = 'local' | 'rva' | 'external';
7
7
  export type VocabularyEntryInput = Pick<VocabularyEntryAttributes, 'id' | 'label' | 'value' | 'identifier' | 'order' | 'historical'> & {
8
8
  parent?: string | null;
9
9
  children?: VocabularyEntryInput[];
@@ -66,12 +66,22 @@ export declare namespace Services {
66
66
  notations: string[];
67
67
  };
68
68
  }
69
+ export class ExternallyManagedVocabularyError extends Error {
70
+ readonly code: 'externally-managed-vocabulary';
71
+ constructor(message?: string);
72
+ }
69
73
  export class InvalidParentIdError extends Error {
70
74
  readonly code: 'invalid-parent-id';
71
75
  constructor(message?: string);
72
76
  }
73
77
  export class VocabularyService extends services.Core.Service {
74
78
  protected _exportedMethods: string[];
79
+ /**
80
+ * Externally managed mirrors (a `source=external` vocabulary owned by a Figshare
81
+ * source) are only mutable through FigshareVocabularyService.applyPreview. Local
82
+ * clones created from a mirror are ordinary local vocabularies and stay editable.
83
+ */
84
+ assertMutableVocabulary(vocabularyId: string, connection?: Sails.Connection): Promise<void>;
75
85
  private executeQuery;
76
86
  private executeFindQuery;
77
87
  private createAndFetch;
@@ -117,7 +127,6 @@ export declare namespace Services {
117
127
  private readJsonFile;
118
128
  private toBootstrapEntries;
119
129
  private toBootstrapEntry;
120
- private promiseWithTimeout;
121
130
  private flattenEntries;
122
131
  }
123
132
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"VocabularyService.d.ts","sourceRoot":"","sources":["../../src/services/VocabularyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VocabularyService.d.ts","sourceRoot":"","sources":["../../src/services/VocabularyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAItF,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIvC,yBAAiB,QAAQ,CAAC;IACxB,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,KAAK,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;IAYhD,MAAM,MAAM,oBAAoB,GAC9B,IAAI,CAAC,yBAAyB,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG;QAClG,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;KACnC,CAAC;IAEJ,MAAM,MAAM,eAAe,GACzB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;QAChF,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;IAEJ,MAAM,WAAW,qBAAqB;QACpC,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAED,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB;QACnE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;KAChC;IAED,MAAM,WAAW,wBAAwB;QACvC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC;IAED,MAAM,WAAW,yBAAyB;QACxC,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACrC,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH;IAED,MAAM,WAAW,sBAAsB;QACrC,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;KACrC;IAED,MAAM,WAAW,0BAA0B;QACzC,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAClC,IAAI,EAAE;YACJ,YAAY,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH;IAED,MAAM,WAAW,4BAA4B;QAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE;YACJ,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;KACH;IAED,MAAM,OAAO,gCAAiC,SAAQ,KAAK;QACzD,SAAgB,IAAI,EAAE,+BAA+B,CAAC;oBAE1C,OAAO,SAA2E;KAK/F;IAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;QAC7C,SAAgB,IAAI,EAAE,mBAAmB,CAAC;oBAE9B,OAAO,SAA6D;KAKjF;IAuCD,MAAM,OAAO,iBAAkB,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAC1D,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAmB3C;QAEF;;;;WAIG;QACU,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;gBAuB1F,YAAY;gBAOZ,gBAAgB;gBAOhB,cAAc;QAK5B,OAAO,CAAC,iBAAiB;QA+BZ,IAAI,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;YAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;YAAC,IAAI,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QA4BvI,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAIzD,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAcvF,UAAU,CACrB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAuC/B,WAAW,CACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAwDhC,WAAW,CACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC;QAyKlC,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAiB/B,gBAAgB,CAC3B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,yBAAyB,EAAE,CAAC;QA+BvC,OAAO,CAAC,wBAAwB;QAiBnB,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAiE7D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;QAyC9B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAyDlF,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAmDxG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAMvC,cAAc,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB;QAS3D,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;QA+BnI,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QA0B5D,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;gBAwElK,cAAc;QA4C5B,OAAO,CAAC,YAAY;QAMpB,OAAO,CAAC,oBAAoB;QAK5B,SAAS,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,GAAG,UAAU,CAAC;gBAI1D,8BAA8B;gBA+C9B,qBAAqB;gBAuDrB,YAAY;QAU1B,OAAO,CAAC,kBAAkB;QAQ1B,OAAO,CAAC,gBAAgB;QA0BxB,OAAO,CAAC,cAAc;KAiBvB;;CAEF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,CAAC;CACnD"}
@@ -36,16 +36,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Services = void 0;
37
37
  const CoreService_1 = require("../CoreService");
38
38
  const TransactionUtils_1 = require("../utilities/TransactionUtils");
39
+ const PromiseUtils_1 = require("../utilities/PromiseUtils");
39
40
  const fs = __importStar(require("node:fs/promises"));
40
41
  const path = __importStar(require("node:path"));
41
42
  const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
42
43
  var Services;
43
44
  (function (Services) {
44
45
  const VALID_TYPES = new Set(['flat', 'tree']);
45
- const VALID_SOURCES = new Set(['local', 'rva']);
46
+ const VALID_SOURCES = new Set(['local', 'rva', 'external']);
46
47
  const RVA_IMPORTS_FILE = 'rva-imports.json';
48
+ /**
49
+ * Handled by FigshareVocabularyService.bootstrapData() instead of here: Figshare connection
50
+ * settings come from AppConfigService, which is not bootstrapped until after this service runs.
51
+ */
52
+ const FIGSHARE_IMPORTS_FILE = 'figshare-imports.json';
47
53
  const DEFAULT_BOOTSTRAP_DATA_PATH = 'bootstrap-data';
48
54
  const RVA_IMPORT_TIMEOUT_MS = 30_000;
55
+ class ExternallyManagedVocabularyError extends Error {
56
+ code;
57
+ constructor(message = 'Vocabulary is managed by an external integration and is read-only here') {
58
+ super(message);
59
+ this.name = 'ExternallyManagedVocabularyError';
60
+ this.code = 'externally-managed-vocabulary';
61
+ }
62
+ }
63
+ Services.ExternallyManagedVocabularyError = ExternallyManagedVocabularyError;
49
64
  class InvalidParentIdError extends Error {
50
65
  code;
51
66
  constructor(message = 'Parent entry does not belong to the requested vocabulary') {
@@ -73,8 +88,28 @@ var Services;
73
88
  'getTree',
74
89
  'normalizeEntry',
75
90
  'validateParent',
76
- 'upsertEntries'
91
+ 'upsertEntries',
92
+ 'assertMutableVocabulary'
77
93
  ];
94
+ /**
95
+ * Externally managed mirrors (a `source=external` vocabulary owned by a Figshare
96
+ * source) are only mutable through FigshareVocabularyService.applyPreview. Local
97
+ * clones created from a mirror are ordinary local vocabularies and stay editable.
98
+ */
99
+ async assertMutableVocabulary(vocabularyId, connection) {
100
+ const id = String(vocabularyId ?? '').trim();
101
+ if (!id) {
102
+ return;
103
+ }
104
+ const vocabulary = await this.executeQuery(Vocabulary.findOne({ id }), connection);
105
+ if (!vocabulary || vocabulary.source !== 'external') {
106
+ return;
107
+ }
108
+ const managedSource = await this.executeQuery(FigshareVocabularySource.findOne({ vocabulary: id }), connection);
109
+ if (managedSource) {
110
+ throw new ExternallyManagedVocabularyError(`Vocabulary '${vocabulary.name}' mirrors a Figshare catalogue and can only be changed through the Figshare vocabulary administration screen`);
111
+ }
112
+ }
78
113
  async executeQuery(query, connection) {
79
114
  if (connection) {
80
115
  return query.usingConnection(connection);
@@ -518,6 +553,9 @@ var Services;
518
553
  await this.processRvaImportsFile(bootstrapPath, fileName, defaultBranding);
519
554
  continue;
520
555
  }
556
+ if (fileName === FIGSHARE_IMPORTS_FILE) {
557
+ continue;
558
+ }
521
559
  await this.processVocabularyBootstrapFile(bootstrapPath, fileName, defaultBranding);
522
560
  }
523
561
  }
@@ -526,6 +564,7 @@ var Services;
526
564
  if (!existing) {
527
565
  throw new Error('Vocabulary not found');
528
566
  }
567
+ await this.assertMutableVocabulary(id);
529
568
  const updatePayload = { ...input };
530
569
  const entries = updatePayload.entries;
531
570
  delete updatePayload.entries;
@@ -571,6 +610,7 @@ var Services;
571
610
  if (!Array.isArray(entryOrders) || entryOrders.length === 0) {
572
611
  return 0;
573
612
  }
613
+ await this.assertMutableVocabulary(vocabularyId);
574
614
  return (0, TransactionUtils_1.runWithOptionalTransaction)(this.getDatastore(), async (connection) => {
575
615
  const vocabularyQuery = Vocabulary.findOne({ id: vocabularyId });
576
616
  const vocabulary = await this.executeQuery(vocabularyQuery, connection);
@@ -607,6 +647,7 @@ var Services;
607
647
  });
608
648
  }
609
649
  async delete(id) {
650
+ await this.assertMutableVocabulary(id);
610
651
  await VocabularyEntry.destroy({ vocabulary: id });
611
652
  await Vocabulary.destroyOne({ id });
612
653
  }
@@ -669,6 +710,7 @@ var Services;
669
710
  return roots;
670
711
  }
671
712
  async upsertEntries(vocabularyId, entries, connection) {
713
+ await this.assertMutableVocabulary(vocabularyId);
672
714
  let created = 0;
673
715
  let updated = 0;
674
716
  let skipped = 0;
@@ -856,7 +898,7 @@ var Services;
856
898
  }
857
899
  const versionId = typeof item?.versionId === 'string' ? item.versionId.trim() : undefined;
858
900
  try {
859
- await this.promiseWithTimeout(rvaImportService.importRvaVocabulary(rvaId, versionId, defaultBranding), RVA_IMPORT_TIMEOUT_MS, `RVA import ${sourceKey}`);
901
+ await (0, PromiseUtils_1.promiseWithTimeout)(rvaImportService.importRvaVocabulary(rvaId, versionId, defaultBranding), RVA_IMPORT_TIMEOUT_MS, `RVA import ${sourceKey}`);
860
902
  sails.log.verbose(`Imported RVA bootstrap vocabulary: ${sourceKey}`);
861
903
  }
862
904
  catch (error) {
@@ -903,22 +945,6 @@ var Services;
903
945
  }
904
946
  return normalized;
905
947
  }
906
- async promiseWithTimeout(promise, timeoutMs, label) {
907
- let timeoutHandle = null;
908
- const timeoutPromise = new Promise((_resolve, reject) => {
909
- timeoutHandle = setTimeout(() => {
910
- reject(new Error(`${label} timed out after ${timeoutMs}ms`));
911
- }, timeoutMs);
912
- });
913
- try {
914
- return await Promise.race([promise, timeoutPromise]);
915
- }
916
- finally {
917
- if (timeoutHandle) {
918
- clearTimeout(timeoutHandle);
919
- }
920
- }
921
- }
922
948
  flattenEntries(entries, parentId = null, branch = 'n') {
923
949
  const flat = [];
924
950
  entries.forEach((entry, index) => {
@@ -939,4 +965,4 @@ var Services;
939
965
  }
940
966
  Services.VocabularyService = VocabularyService;
941
967
  })(Services || (exports.Services = Services = {}));
942
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVm9jYWJ1bGFyeVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvVm9jYWJ1bGFyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQXNEO0FBRXRELG9FQUEyRTtBQUMzRSxxREFBdUM7QUFDdkMsZ0RBQWtDO0FBQ2xDLHNFQUE2RDtBQUU3RCxJQUFpQixRQUFRLENBbXFDeEI7QUFucUNELFdBQWlCLFFBQVE7SUFHdkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7SUFDNUMsTUFBTSwyQkFBMkIsR0FBRyxnQkFBZ0IsQ0FBQztJQUNyRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztJQTJFckMsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO1FBQzdCLElBQUksQ0FBc0I7UUFFMUMsWUFBWSxPQUFPLEdBQUcsMERBQTBEO1lBQzlFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUNsQyxDQUFDO0tBQ0Y7SUFSWSw2QkFBb0IsdUJBUWhDLENBQUE7SUF1Q0QsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUSxDQUFDLElBQUksQ0FBQyxPQUFPO1FBQ3ZDLGdCQUFnQixHQUFhO1lBQzlDLE1BQU07WUFDTixTQUFTO1lBQ1QsZUFBZTtZQUNmLFlBQVk7WUFDWixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixhQUFhO1lB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
968
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVm9jYWJ1bGFyeVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvVm9jYWJ1bGFyeVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQXNEO0FBR3RELG9FQUEyRTtBQUMzRSw0REFBK0Q7QUFDL0QscURBQXVDO0FBQ3ZDLGdEQUFrQztBQUNsQyxzRUFBNkQ7QUFFN0QsSUFBaUIsUUFBUSxDQXFzQ3hCO0FBcnNDRCxXQUFpQixRQUFRO0lBR3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekQsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQWMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztJQUM1Qzs7O09BR0c7SUFDSCxNQUFNLHFCQUFxQixHQUFHLHVCQUF1QixDQUFDO0lBQ3RELE1BQU0sMkJBQTJCLEdBQUcsZ0JBQWdCLENBQUM7SUFDckQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUM7SUEyRXJDLE1BQWEsZ0NBQWlDLFNBQVEsS0FBSztRQUN6QyxJQUFJLENBQWtDO1FBRXRELFlBQVksT0FBTyxHQUFHLHdFQUF3RTtZQUM1RixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGtDQUFrQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsK0JBQStCLENBQUM7UUFDOUMsQ0FBQztLQUNGO0lBUlkseUNBQWdDLG1DQVE1QyxDQUFBO0lBRUQsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO1FBQzdCLElBQUksQ0FBc0I7UUFFMUMsWUFBWSxPQUFPLEdBQUcsMERBQTBEO1lBQzlFLEtBQUssQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/services/doi-v2/bindings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAW7E,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoBjE;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,OAAO,EAAE,iBAAiB,GAAG,0BAA0B,GACtD,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAMtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAK5E"}
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/services/doi-v2/bindings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAG7E,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoBjE;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,OAAO,EAAE,iBAAiB,GAAG,0BAA0B,GACtD,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAMtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAK5E"}