@powerhousedao/contributor-billing 0.1.39 → 0.1.41

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 (260) hide show
  1. package/dist/document-models/index.d.ts +1 -0
  2. package/dist/document-models/index.d.ts.map +1 -1
  3. package/dist/document-models/index.js +1 -0
  4. package/dist/document-models/resource-template/actions.d.ts +32 -0
  5. package/dist/document-models/resource-template/actions.d.ts.map +1 -0
  6. package/dist/document-models/resource-template/actions.js +12 -0
  7. package/dist/document-models/resource-template/gen/actions.d.ts +14 -0
  8. package/dist/document-models/resource-template/gen/actions.d.ts.map +1 -0
  9. package/dist/document-models/resource-template/gen/actions.js +6 -0
  10. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts +12 -0
  11. package/dist/document-models/resource-template/gen/audience-management/actions.d.ts.map +1 -0
  12. package/dist/document-models/resource-template/gen/audience-management/actions.js +1 -0
  13. package/dist/document-models/resource-template/gen/audience-management/creators.d.ts +5 -0
  14. package/dist/document-models/resource-template/gen/audience-management/creators.d.ts.map +1 -0
  15. package/dist/document-models/resource-template/gen/audience-management/creators.js +4 -0
  16. package/dist/document-models/resource-template/gen/audience-management/error.d.ts +21 -0
  17. package/dist/document-models/resource-template/gen/audience-management/error.d.ts.map +1 -0
  18. package/dist/document-models/resource-template/gen/audience-management/error.js +20 -0
  19. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts +8 -0
  20. package/dist/document-models/resource-template/gen/audience-management/operations.d.ts.map +1 -0
  21. package/dist/document-models/resource-template/gen/audience-management/operations.js +3 -0
  22. package/dist/document-models/resource-template/gen/creators.d.ts +13 -0
  23. package/dist/document-models/resource-template/gen/creators.d.ts.map +1 -0
  24. package/dist/document-models/resource-template/gen/creators.js +12 -0
  25. package/dist/document-models/resource-template/gen/document-model.d.ts +3 -0
  26. package/dist/document-models/resource-template/gen/document-model.d.ts.map +1 -0
  27. package/dist/document-models/resource-template/gen/document-model.js +410 -0
  28. package/dist/document-models/resource-template/gen/document-schema.d.ts +408 -0
  29. package/dist/document-models/resource-template/gen/document-schema.d.ts.map +1 -0
  30. package/dist/document-models/resource-template/gen/document-schema.js +33 -0
  31. package/dist/document-models/resource-template/gen/document-type.d.ts +2 -0
  32. package/dist/document-models/resource-template/gen/document-type.d.ts.map +1 -0
  33. package/dist/document-models/resource-template/gen/document-type.js +1 -0
  34. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts +20 -0
  35. package/dist/document-models/resource-template/gen/facet-targeting/actions.d.ts.map +1 -0
  36. package/dist/document-models/resource-template/gen/facet-targeting/actions.js +1 -0
  37. package/dist/document-models/resource-template/gen/facet-targeting/creators.d.ts +7 -0
  38. package/dist/document-models/resource-template/gen/facet-targeting/creators.d.ts.map +1 -0
  39. package/dist/document-models/resource-template/gen/facet-targeting/creators.js +6 -0
  40. package/dist/document-models/resource-template/gen/facet-targeting/error.d.ts +28 -0
  41. package/dist/document-models/resource-template/gen/facet-targeting/error.d.ts.map +1 -0
  42. package/dist/document-models/resource-template/gen/facet-targeting/error.js +29 -0
  43. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts +10 -0
  44. package/dist/document-models/resource-template/gen/facet-targeting/operations.d.ts.map +1 -0
  45. package/dist/document-models/resource-template/gen/facet-targeting/operations.js +3 -0
  46. package/dist/document-models/resource-template/gen/index.d.ts +17 -0
  47. package/dist/document-models/resource-template/gen/index.d.ts.map +1 -0
  48. package/dist/document-models/resource-template/gen/index.js +16 -0
  49. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts +16 -0
  50. package/dist/document-models/resource-template/gen/option-group-management/actions.d.ts.map +1 -0
  51. package/dist/document-models/resource-template/gen/option-group-management/actions.js +1 -0
  52. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts +6 -0
  53. package/dist/document-models/resource-template/gen/option-group-management/creators.d.ts.map +1 -0
  54. package/dist/document-models/resource-template/gen/option-group-management/creators.js +5 -0
  55. package/dist/document-models/resource-template/gen/option-group-management/error.d.ts +28 -0
  56. package/dist/document-models/resource-template/gen/option-group-management/error.d.ts.map +1 -0
  57. package/dist/document-models/resource-template/gen/option-group-management/error.js +29 -0
  58. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts +9 -0
  59. package/dist/document-models/resource-template/gen/option-group-management/operations.d.ts.map +1 -0
  60. package/dist/document-models/resource-template/gen/option-group-management/operations.js +3 -0
  61. package/dist/document-models/resource-template/gen/ph-factories.d.ts +23 -0
  62. package/dist/document-models/resource-template/gen/ph-factories.d.ts.map +1 -0
  63. package/dist/document-models/resource-template/gen/ph-factories.js +61 -0
  64. package/dist/document-models/resource-template/gen/reducer.d.ts +3 -0
  65. package/dist/document-models/resource-template/gen/reducer.d.ts.map +1 -0
  66. package/dist/document-models/resource-template/gen/reducer.js +98 -0
  67. package/dist/document-models/resource-template/gen/schema/index.d.ts +3 -0
  68. package/dist/document-models/resource-template/gen/schema/index.d.ts.map +1 -0
  69. package/dist/document-models/resource-template/gen/schema/index.js +2 -0
  70. package/dist/document-models/resource-template/gen/schema/types.d.ts +305 -0
  71. package/dist/document-models/resource-template/gen/schema/types.d.ts.map +1 -0
  72. package/dist/document-models/resource-template/gen/schema/types.js +1 -0
  73. package/dist/document-models/resource-template/gen/schema/zod.d.ts +37 -0
  74. package/dist/document-models/resource-template/gen/schema/zod.d.ts.map +1 -0
  75. package/dist/document-models/resource-template/gen/schema/zod.js +236 -0
  76. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts +12 -0
  77. package/dist/document-models/resource-template/gen/service-category-management/actions.d.ts.map +1 -0
  78. package/dist/document-models/resource-template/gen/service-category-management/actions.js +1 -0
  79. package/dist/document-models/resource-template/gen/service-category-management/creators.d.ts +5 -0
  80. package/dist/document-models/resource-template/gen/service-category-management/creators.d.ts.map +1 -0
  81. package/dist/document-models/resource-template/gen/service-category-management/creators.js +4 -0
  82. package/dist/document-models/resource-template/gen/service-category-management/error.d.ts +2 -0
  83. package/dist/document-models/resource-template/gen/service-category-management/error.d.ts.map +1 -0
  84. package/dist/document-models/resource-template/gen/service-category-management/error.js +1 -0
  85. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts +8 -0
  86. package/dist/document-models/resource-template/gen/service-category-management/operations.d.ts.map +1 -0
  87. package/dist/document-models/resource-template/gen/service-category-management/operations.js +3 -0
  88. package/dist/document-models/resource-template/gen/service-management/actions.d.ts +24 -0
  89. package/dist/document-models/resource-template/gen/service-management/actions.d.ts.map +1 -0
  90. package/dist/document-models/resource-template/gen/service-management/actions.js +1 -0
  91. package/dist/document-models/resource-template/gen/service-management/creators.d.ts +8 -0
  92. package/dist/document-models/resource-template/gen/service-management/creators.d.ts.map +1 -0
  93. package/dist/document-models/resource-template/gen/service-management/creators.js +7 -0
  94. package/dist/document-models/resource-template/gen/service-management/error.d.ts +52 -0
  95. package/dist/document-models/resource-template/gen/service-management/error.d.ts.map +1 -0
  96. package/dist/document-models/resource-template/gen/service-management/error.js +61 -0
  97. package/dist/document-models/resource-template/gen/service-management/operations.d.ts +11 -0
  98. package/dist/document-models/resource-template/gen/service-management/operations.d.ts.map +1 -0
  99. package/dist/document-models/resource-template/gen/service-management/operations.js +3 -0
  100. package/dist/document-models/resource-template/gen/template-management/actions.d.ts +20 -0
  101. package/dist/document-models/resource-template/gen/template-management/actions.d.ts.map +1 -0
  102. package/dist/document-models/resource-template/gen/template-management/actions.js +1 -0
  103. package/dist/document-models/resource-template/gen/template-management/creators.d.ts +7 -0
  104. package/dist/document-models/resource-template/gen/template-management/creators.d.ts.map +1 -0
  105. package/dist/document-models/resource-template/gen/template-management/creators.js +6 -0
  106. package/dist/document-models/resource-template/gen/template-management/error.d.ts +2 -0
  107. package/dist/document-models/resource-template/gen/template-management/error.d.ts.map +1 -0
  108. package/dist/document-models/resource-template/gen/template-management/error.js +1 -0
  109. package/dist/document-models/resource-template/gen/template-management/operations.d.ts +10 -0
  110. package/dist/document-models/resource-template/gen/template-management/operations.d.ts.map +1 -0
  111. package/dist/document-models/resource-template/gen/template-management/operations.js +3 -0
  112. package/dist/document-models/resource-template/gen/types.d.ts +12 -0
  113. package/dist/document-models/resource-template/gen/types.d.ts.map +1 -0
  114. package/dist/document-models/resource-template/gen/types.js +1 -0
  115. package/dist/document-models/resource-template/gen/utils.d.ts +15 -0
  116. package/dist/document-models/resource-template/gen/utils.d.ts.map +1 -0
  117. package/dist/document-models/resource-template/gen/utils.js +65 -0
  118. package/dist/document-models/resource-template/hooks.d.ts +11 -0
  119. package/dist/document-models/resource-template/hooks.d.ts.map +1 -0
  120. package/dist/document-models/resource-template/hooks.js +26 -0
  121. package/dist/document-models/resource-template/index.d.ts +10 -0
  122. package/dist/document-models/resource-template/index.d.ts.map +1 -0
  123. package/dist/document-models/resource-template/index.js +9 -0
  124. package/dist/document-models/resource-template/module.d.ts +5 -0
  125. package/dist/document-models/resource-template/module.d.ts.map +1 -0
  126. package/dist/document-models/resource-template/module.js +10 -0
  127. package/dist/document-models/resource-template/src/index.d.ts +2 -0
  128. package/dist/document-models/resource-template/src/index.d.ts.map +1 -0
  129. package/dist/document-models/resource-template/src/index.js +1 -0
  130. package/dist/document-models/resource-template/src/reducers/audience-management.d.ts +3 -0
  131. package/dist/document-models/resource-template/src/reducers/audience-management.d.ts.map +1 -0
  132. package/dist/document-models/resource-template/src/reducers/audience-management.js +17 -0
  133. package/dist/document-models/resource-template/src/reducers/facet-targeting.d.ts +3 -0
  134. package/dist/document-models/resource-template/src/reducers/facet-targeting.d.ts.map +1 -0
  135. package/dist/document-models/resource-template/src/reducers/facet-targeting.js +46 -0
  136. package/dist/document-models/resource-template/src/reducers/option-group-management.d.ts +3 -0
  137. package/dist/document-models/resource-template/src/reducers/option-group-management.d.ts.map +1 -0
  138. package/dist/document-models/resource-template/src/reducers/option-group-management.js +42 -0
  139. package/dist/document-models/resource-template/src/reducers/service-category-management.d.ts +3 -0
  140. package/dist/document-models/resource-template/src/reducers/service-category-management.d.ts.map +1 -0
  141. package/dist/document-models/resource-template/src/reducers/service-category-management.js +10 -0
  142. package/dist/document-models/resource-template/src/reducers/service-management.d.ts +3 -0
  143. package/dist/document-models/resource-template/src/reducers/service-management.d.ts.map +1 -0
  144. package/dist/document-models/resource-template/src/reducers/service-management.js +68 -0
  145. package/dist/document-models/resource-template/src/reducers/template-management.d.ts +3 -0
  146. package/dist/document-models/resource-template/src/reducers/template-management.d.ts.map +1 -0
  147. package/dist/document-models/resource-template/src/reducers/template-management.js +32 -0
  148. package/dist/document-models/resource-template/src/tests/audience-management.test.d.ts +6 -0
  149. package/dist/document-models/resource-template/src/tests/audience-management.test.d.ts.map +1 -0
  150. package/dist/document-models/resource-template/src/tests/audience-management.test.js +29 -0
  151. package/dist/document-models/resource-template/src/tests/document-model.test.d.ts +10 -0
  152. package/dist/document-models/resource-template/src/tests/document-model.test.d.ts.map +1 -0
  153. package/dist/document-models/resource-template/src/tests/document-model.test.js +104 -0
  154. package/dist/document-models/resource-template/src/tests/facet-targeting.test.d.ts +6 -0
  155. package/dist/document-models/resource-template/src/tests/facet-targeting.test.d.ts.map +1 -0
  156. package/dist/document-models/resource-template/src/tests/facet-targeting.test.js +49 -0
  157. package/dist/document-models/resource-template/src/tests/option-group-management.test.d.ts +6 -0
  158. package/dist/document-models/resource-template/src/tests/option-group-management.test.d.ts.map +1 -0
  159. package/dist/document-models/resource-template/src/tests/option-group-management.test.js +39 -0
  160. package/dist/document-models/resource-template/src/tests/service-category-management.test.d.ts +6 -0
  161. package/dist/document-models/resource-template/src/tests/service-category-management.test.d.ts.map +1 -0
  162. package/dist/document-models/resource-template/src/tests/service-category-management.test.js +29 -0
  163. package/dist/document-models/resource-template/src/tests/service-management.test.d.ts +6 -0
  164. package/dist/document-models/resource-template/src/tests/service-management.test.d.ts.map +1 -0
  165. package/dist/document-models/resource-template/src/tests/service-management.test.js +59 -0
  166. package/dist/document-models/resource-template/src/tests/template-management.test.d.ts +6 -0
  167. package/dist/document-models/resource-template/src/tests/template-management.test.d.ts.map +1 -0
  168. package/dist/document-models/resource-template/src/tests/template-management.test.js +49 -0
  169. package/dist/document-models/resource-template/src/utils.d.ts +2 -0
  170. package/dist/document-models/resource-template/src/utils.d.ts.map +1 -0
  171. package/dist/document-models/resource-template/src/utils.js +1 -0
  172. package/dist/document-models/resource-template/utils.d.ts +14 -0
  173. package/dist/document-models/resource-template/utils.d.ts.map +1 -0
  174. package/dist/document-models/resource-template/utils.js +7 -0
  175. package/dist/document-models/service-offering/actions.d.ts +2 -0
  176. package/dist/document-models/service-offering/actions.d.ts.map +1 -1
  177. package/dist/document-models/service-offering/gen/document-model.d.ts.map +1 -1
  178. package/dist/document-models/service-offering/gen/document-model.js +47 -2
  179. package/dist/document-models/service-offering/gen/document-schema.d.ts +35 -16
  180. package/dist/document-models/service-offering/gen/document-schema.d.ts.map +1 -1
  181. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts +10 -2
  182. package/dist/document-models/service-offering/gen/offering-management/actions.d.ts.map +1 -1
  183. package/dist/document-models/service-offering/gen/offering-management/creators.d.ts +4 -2
  184. package/dist/document-models/service-offering/gen/offering-management/creators.d.ts.map +1 -1
  185. package/dist/document-models/service-offering/gen/offering-management/creators.js +3 -1
  186. package/dist/document-models/service-offering/gen/offering-management/error.d.ts +20 -1
  187. package/dist/document-models/service-offering/gen/offering-management/error.d.ts.map +1 -1
  188. package/dist/document-models/service-offering/gen/offering-management/error.js +25 -0
  189. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts +3 -1
  190. package/dist/document-models/service-offering/gen/offering-management/operations.d.ts.map +1 -1
  191. package/dist/document-models/service-offering/gen/ph-factories.d.ts.map +1 -1
  192. package/dist/document-models/service-offering/gen/ph-factories.js +1 -0
  193. package/dist/document-models/service-offering/gen/reducer.d.ts +1 -1
  194. package/dist/document-models/service-offering/gen/reducer.d.ts.map +1 -1
  195. package/dist/document-models/service-offering/gen/reducer.js +9 -1
  196. package/dist/document-models/service-offering/gen/schema/types.d.ts +21 -11
  197. package/dist/document-models/service-offering/gen/schema/types.d.ts.map +1 -1
  198. package/dist/document-models/service-offering/gen/schema/zod.d.ts +3 -1
  199. package/dist/document-models/service-offering/gen/schema/zod.d.ts.map +1 -1
  200. package/dist/document-models/service-offering/gen/schema/zod.js +14 -0
  201. package/dist/document-models/service-offering/gen/utils.d.ts.map +1 -1
  202. package/dist/document-models/service-offering/gen/utils.js +1 -0
  203. package/dist/document-models/service-offering/src/reducers/offering-management.d.ts.map +1 -1
  204. package/dist/document-models/service-offering/src/reducers/offering-management.js +22 -4
  205. package/dist/document-models/service-offering/src/reducers/option-group-management.d.ts.map +1 -1
  206. package/dist/document-models/service-offering/src/reducers/option-group-management.js +8 -11
  207. package/dist/document-models/service-offering/src/reducers/service-management.d.ts.map +1 -1
  208. package/dist/document-models/service-offering/src/reducers/service-management.js +12 -15
  209. package/dist/document-models/service-offering/src/reducers/tier-management.d.ts.map +1 -1
  210. package/dist/document-models/service-offering/src/reducers/tier-management.js +19 -21
  211. package/dist/document-models/service-offering/src/tests/offering-management.test.js +1 -81
  212. package/dist/document-models/service-offering/src/tests/tier-management.test.d.ts +4 -0
  213. package/dist/document-models/service-offering/src/tests/tier-management.test.d.ts.map +1 -1
  214. package/dist/document-models/service-offering/src/tests/tier-management.test.js +109 -1
  215. package/dist/editors/accounts-editor/components/AccountForm.d.ts.map +1 -1
  216. package/dist/editors/builder-team-admin/components/DriveExplorer.d.ts.map +1 -1
  217. package/dist/editors/builder-team-admin/components/DriveExplorer.js +4 -0
  218. package/dist/editors/builder-team-admin/components/FolderTree.d.ts +1 -1
  219. package/dist/editors/builder-team-admin/components/FolderTree.d.ts.map +1 -1
  220. package/dist/editors/builder-team-admin/components/FolderTree.js +134 -9
  221. package/dist/editors/builder-team-admin/components/ResourcesServices.d.ts +8 -0
  222. package/dist/editors/builder-team-admin/components/ResourcesServices.d.ts.map +1 -0
  223. package/dist/editors/builder-team-admin/components/ResourcesServices.js +76 -0
  224. package/dist/editors/builder-team-admin/hooks/useResourcesServicesAutoPlacement.d.ts +27 -0
  225. package/dist/editors/builder-team-admin/hooks/useResourcesServicesAutoPlacement.d.ts.map +1 -0
  226. package/dist/editors/builder-team-admin/hooks/useResourcesServicesAutoPlacement.js +123 -0
  227. package/dist/editors/index.d.ts +1 -0
  228. package/dist/editors/index.d.ts.map +1 -1
  229. package/dist/editors/index.js +1 -0
  230. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts +9 -0
  231. package/dist/editors/resource-template-editor/components/FacetTargeting.d.ts.map +1 -0
  232. package/dist/editors/resource-template-editor/components/FacetTargeting.js +451 -0
  233. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts +9 -0
  234. package/dist/editors/resource-template-editor/components/TemplateInfo.d.ts.map +1 -0
  235. package/dist/editors/resource-template-editor/components/TemplateInfo.js +988 -0
  236. package/dist/editors/resource-template-editor/editor.d.ts +2 -0
  237. package/dist/editors/resource-template-editor/editor.d.ts.map +1 -0
  238. package/dist/editors/resource-template-editor/editor.js +149 -0
  239. package/dist/editors/resource-template-editor/module.d.ts +4 -0
  240. package/dist/editors/resource-template-editor/module.d.ts.map +1 -0
  241. package/dist/editors/resource-template-editor/module.js +10 -0
  242. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts +9 -0
  243. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.d.ts.map +1 -0
  244. package/dist/editors/service-offering-editor/components/ResourceTemplateSelector.js +1050 -0
  245. package/dist/editors/service-offering-editor/components/ServicesList.d.ts.map +1 -1
  246. package/dist/editors/service-offering-editor/components/ServicesList.js +1 -1
  247. package/dist/editors/service-offering-editor/components/TabNavigation.d.ts.map +1 -1
  248. package/dist/editors/service-offering-editor/components/TabNavigation.js +17 -3
  249. package/dist/editors/service-offering-editor/components/TheMatrix.d.ts.map +1 -1
  250. package/dist/editors/service-offering-editor/components/TheMatrix.js +284 -25
  251. package/dist/editors/service-offering-editor/editor.d.ts.map +1 -1
  252. package/dist/editors/service-offering-editor/editor.js +2 -2
  253. package/dist/index.d.ts +1 -1
  254. package/dist/index.d.ts.map +1 -1
  255. package/dist/style.css +25 -0
  256. package/dist/subgraphs/budget-statements/resolvers.d.ts.map +1 -1
  257. package/dist/subgraphs/budget-statements/resolvers.js +76 -11
  258. package/dist/subgraphs/budget-statements/schema.d.ts.map +1 -1
  259. package/dist/subgraphs/budget-statements/schema.js +2 -1
  260. package/package.json +1 -1
@@ -10,31 +10,29 @@ export const serviceOfferingTierManagementOperations = {
10
10
  amount: action.input.amount || null,
11
11
  currency: action.input.currency,
12
12
  billingCycle: action.input.billingCycle,
13
- setupFee: action.input.setupFee || null,
13
+ setupFee: action.input.setupFee || null
14
14
  },
15
- isCustomPricing: action.input.isCustomPricing || false,
15
+ isCustomPricing: action.input.isCustomPricing || false
16
16
  });
17
17
  state.lastModified = action.input.lastModified;
18
18
  },
19
19
  updateTierOperation(state, action) {
20
- const tier = state.tiers.find((t) => t.id === action.input.id);
20
+ const tier = state.tiers.find(t => t.id === action.input.id);
21
21
  if (tier) {
22
22
  if (action.input.name) {
23
23
  tier.name = action.input.name;
24
24
  }
25
- if (action.input.description !== undefined &&
26
- action.input.description !== null) {
25
+ if (action.input.description !== undefined && action.input.description !== null) {
27
26
  tier.description = action.input.description;
28
27
  }
29
- if (action.input.isCustomPricing !== undefined &&
30
- action.input.isCustomPricing !== null) {
28
+ if (action.input.isCustomPricing !== undefined && action.input.isCustomPricing !== null) {
31
29
  tier.isCustomPricing = action.input.isCustomPricing;
32
30
  }
33
31
  }
34
32
  state.lastModified = action.input.lastModified;
35
33
  },
36
34
  updateTierPricingOperation(state, action) {
37
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
35
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
38
36
  if (tier) {
39
37
  if (action.input.amount !== undefined) {
40
38
  tier.pricing.amount = action.input.amount;
@@ -52,14 +50,14 @@ export const serviceOfferingTierManagementOperations = {
52
50
  state.lastModified = action.input.lastModified;
53
51
  },
54
52
  deleteTierOperation(state, action) {
55
- const tierIndex = state.tiers.findIndex((t) => t.id === action.input.id);
53
+ const tierIndex = state.tiers.findIndex(t => t.id === action.input.id);
56
54
  if (tierIndex !== -1) {
57
55
  state.tiers.splice(tierIndex, 1);
58
56
  }
59
57
  state.lastModified = action.input.lastModified;
60
58
  },
61
59
  addServiceLevelOperation(state, action) {
62
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
60
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
63
61
  if (tier) {
64
62
  tier.serviceLevels.push({
65
63
  id: action.input.serviceLevelId,
@@ -69,15 +67,15 @@ export const serviceOfferingTierManagementOperations = {
69
67
  variations: action.input.variations || null,
70
68
  annexes: action.input.annexes || null,
71
69
  customValue: action.input.customValue || null,
72
- setupFee: action.input.setupFee || null,
70
+ setupFee: action.input.setupFee || null
73
71
  });
74
72
  }
75
73
  state.lastModified = action.input.lastModified;
76
74
  },
77
75
  updateServiceLevelOperation(state, action) {
78
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
76
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
79
77
  if (tier) {
80
- const serviceLevel = tier.serviceLevels.find((sl) => sl.id === action.input.serviceLevelId);
78
+ const serviceLevel = tier.serviceLevels.find(sl => sl.id === action.input.serviceLevelId);
81
79
  if (serviceLevel) {
82
80
  if (action.input.level) {
83
81
  serviceLevel.level = action.input.level;
@@ -102,9 +100,9 @@ export const serviceOfferingTierManagementOperations = {
102
100
  state.lastModified = action.input.lastModified;
103
101
  },
104
102
  removeServiceLevelOperation(state, action) {
105
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
103
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
106
104
  if (tier) {
107
- const serviceLevelIndex = tier.serviceLevels.findIndex((sl) => sl.id === action.input.serviceLevelId);
105
+ const serviceLevelIndex = tier.serviceLevels.findIndex(sl => sl.id === action.input.serviceLevelId);
108
106
  if (serviceLevelIndex !== -1) {
109
107
  tier.serviceLevels.splice(serviceLevelIndex, 1);
110
108
  }
@@ -112,7 +110,7 @@ export const serviceOfferingTierManagementOperations = {
112
110
  state.lastModified = action.input.lastModified;
113
111
  },
114
112
  addUsageLimitOperation(state, action) {
115
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
113
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
116
114
  if (tier) {
117
115
  tier.usageLimits.push({
118
116
  id: action.input.limitId,
@@ -120,15 +118,15 @@ export const serviceOfferingTierManagementOperations = {
120
118
  metric: action.input.metric,
121
119
  limit: action.input.limit || null,
122
120
  resetPeriod: action.input.resetPeriod || null,
123
- notes: action.input.notes || null,
121
+ notes: action.input.notes || null
124
122
  });
125
123
  }
126
124
  state.lastModified = action.input.lastModified;
127
125
  },
128
126
  updateUsageLimitOperation(state, action) {
129
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
127
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
130
128
  if (tier) {
131
- const usageLimit = tier.usageLimits.find((ul) => ul.id === action.input.limitId);
129
+ const usageLimit = tier.usageLimits.find(ul => ul.id === action.input.limitId);
132
130
  if (usageLimit) {
133
131
  if (action.input.metric) {
134
132
  usageLimit.metric = action.input.metric;
@@ -147,9 +145,9 @@ export const serviceOfferingTierManagementOperations = {
147
145
  state.lastModified = action.input.lastModified;
148
146
  },
149
147
  removeUsageLimitOperation(state, action) {
150
- const tier = state.tiers.find((t) => t.id === action.input.tierId);
148
+ const tier = state.tiers.find(t => t.id === action.input.tierId);
151
149
  if (tier) {
152
- const limitIndex = tier.usageLimits.findIndex((ul) => ul.id === action.input.limitId);
150
+ const limitIndex = tier.usageLimits.findIndex(ul => ul.id === action.input.limitId);
153
151
  if (limitIndex !== -1) {
154
152
  tier.usageLimits.splice(limitIndex, 1);
155
153
  }
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { describe, it, expect } from "vitest";
6
6
  import { generateMock } from "@powerhousedao/codegen";
7
- import { reducer, utils, isServiceOfferingDocument, updateOfferingInfo, UpdateOfferingInfoInputSchema, updateOfferingStatus, UpdateOfferingStatusInputSchema, setOperator, SetOperatorInputSchema, setOfferingId, SetOfferingIdInputSchema, addTargetAudience, AddTargetAudienceInputSchema, removeTargetAudience, RemoveTargetAudienceInputSchema, setFacetTarget, SetFacetTargetInputSchema, removeFacetTarget, RemoveFacetTargetInputSchema, addFacetOption, AddFacetOptionInputSchema, removeFacetOption, RemoveFacetOptionInputSchema, setSetupServices, SetSetupServicesInputSchema, setRecurringServices, SetRecurringServicesInputSchema, } from "@powerhousedao/contributor-billing/document-models/service-offering";
7
+ import { reducer, utils, isServiceOfferingDocument, updateOfferingInfo, UpdateOfferingInfoInputSchema, updateOfferingStatus, UpdateOfferingStatusInputSchema, setOperator, SetOperatorInputSchema, setOfferingId, SetOfferingIdInputSchema, } from "@powerhousedao/contributor-billing/document-models/service-offering";
8
8
  describe("OfferingManagement Operations", () => {
9
9
  it("should handle updateOfferingInfo operation", () => {
10
10
  const document = utils.createDocument();
@@ -46,84 +46,4 @@ describe("OfferingManagement Operations", () => {
46
46
  expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
47
47
  expect(updatedDocument.operations.global[0].index).toEqual(0);
48
48
  });
49
- it("should handle addTargetAudience operation", () => {
50
- const document = utils.createDocument();
51
- const input = generateMock(AddTargetAudienceInputSchema());
52
- const updatedDocument = reducer(document, addTargetAudience(input));
53
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
54
- expect(updatedDocument.operations.global).toHaveLength(1);
55
- expect(updatedDocument.operations.global[0].action.type).toBe("ADD_TARGET_AUDIENCE");
56
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
57
- expect(updatedDocument.operations.global[0].index).toEqual(0);
58
- });
59
- it("should handle removeTargetAudience operation", () => {
60
- const document = utils.createDocument();
61
- const input = generateMock(RemoveTargetAudienceInputSchema());
62
- const updatedDocument = reducer(document, removeTargetAudience(input));
63
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
64
- expect(updatedDocument.operations.global).toHaveLength(1);
65
- expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_TARGET_AUDIENCE");
66
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
67
- expect(updatedDocument.operations.global[0].index).toEqual(0);
68
- });
69
- it("should handle setFacetTarget operation", () => {
70
- const document = utils.createDocument();
71
- const input = generateMock(SetFacetTargetInputSchema());
72
- const updatedDocument = reducer(document, setFacetTarget(input));
73
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
74
- expect(updatedDocument.operations.global).toHaveLength(1);
75
- expect(updatedDocument.operations.global[0].action.type).toBe("SET_FACET_TARGET");
76
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
77
- expect(updatedDocument.operations.global[0].index).toEqual(0);
78
- });
79
- it("should handle removeFacetTarget operation", () => {
80
- const document = utils.createDocument();
81
- const input = generateMock(RemoveFacetTargetInputSchema());
82
- const updatedDocument = reducer(document, removeFacetTarget(input));
83
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
84
- expect(updatedDocument.operations.global).toHaveLength(1);
85
- expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_FACET_TARGET");
86
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
87
- expect(updatedDocument.operations.global[0].index).toEqual(0);
88
- });
89
- it("should handle addFacetOption operation", () => {
90
- const document = utils.createDocument();
91
- const input = generateMock(AddFacetOptionInputSchema());
92
- const updatedDocument = reducer(document, addFacetOption(input));
93
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
94
- expect(updatedDocument.operations.global).toHaveLength(1);
95
- expect(updatedDocument.operations.global[0].action.type).toBe("ADD_FACET_OPTION");
96
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
97
- expect(updatedDocument.operations.global[0].index).toEqual(0);
98
- });
99
- it("should handle removeFacetOption operation", () => {
100
- const document = utils.createDocument();
101
- const input = generateMock(RemoveFacetOptionInputSchema());
102
- const updatedDocument = reducer(document, removeFacetOption(input));
103
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
104
- expect(updatedDocument.operations.global).toHaveLength(1);
105
- expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_FACET_OPTION");
106
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
107
- expect(updatedDocument.operations.global[0].index).toEqual(0);
108
- });
109
- it("should handle setSetupServices operation", () => {
110
- const document = utils.createDocument();
111
- const input = generateMock(SetSetupServicesInputSchema());
112
- const updatedDocument = reducer(document, setSetupServices(input));
113
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
114
- expect(updatedDocument.operations.global).toHaveLength(1);
115
- expect(updatedDocument.operations.global[0].action.type).toBe("SET_SETUP_SERVICES");
116
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
117
- expect(updatedDocument.operations.global[0].index).toEqual(0);
118
- });
119
- it("should handle setRecurringServices operation", () => {
120
- const document = utils.createDocument();
121
- const input = generateMock(SetRecurringServicesInputSchema());
122
- const updatedDocument = reducer(document, setRecurringServices(input));
123
- expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
124
- expect(updatedDocument.operations.global).toHaveLength(1);
125
- expect(updatedDocument.operations.global[0].action.type).toBe("SET_RECURRING_SERVICES");
126
- expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
127
- expect(updatedDocument.operations.global[0].index).toEqual(0);
128
- });
129
49
  });
@@ -1,2 +1,6 @@
1
+ /**
2
+ * This is a scaffold file meant for customization:
3
+ * - change it by adding new tests or modifying the existing ones
4
+ */
1
5
  export {};
2
6
  //# sourceMappingURL=tier-management.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tier-management.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/service-offering/src/tests/tier-management.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tier-management.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/service-offering/src/tests/tier-management.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1 +1,109 @@
1
- export {};
1
+ /**
2
+ * This is a scaffold file meant for customization:
3
+ * - change it by adding new tests or modifying the existing ones
4
+ */
5
+ import { describe, it, expect } from "vitest";
6
+ import { generateMock } from "@powerhousedao/codegen";
7
+ import { reducer, utils, isServiceOfferingDocument, addTier, AddTierInputSchema, updateTier, UpdateTierInputSchema, updateTierPricing, UpdateTierPricingInputSchema, deleteTier, DeleteTierInputSchema, addServiceLevel, AddServiceLevelInputSchema, updateServiceLevel, UpdateServiceLevelInputSchema, removeServiceLevel, RemoveServiceLevelInputSchema, addUsageLimit, AddUsageLimitInputSchema, updateUsageLimit, UpdateUsageLimitInputSchema, removeUsageLimit, RemoveUsageLimitInputSchema, } from "@powerhousedao/contributor-billing/document-models/service-offering";
8
+ describe("TierManagement Operations", () => {
9
+ it("should handle addTier operation", () => {
10
+ const document = utils.createDocument();
11
+ const input = generateMock(AddTierInputSchema());
12
+ const updatedDocument = reducer(document, addTier(input));
13
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
14
+ expect(updatedDocument.operations.global).toHaveLength(1);
15
+ expect(updatedDocument.operations.global[0].action.type).toBe("ADD_TIER");
16
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
17
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
18
+ });
19
+ it("should handle updateTier operation", () => {
20
+ const document = utils.createDocument();
21
+ const input = generateMock(UpdateTierInputSchema());
22
+ const updatedDocument = reducer(document, updateTier(input));
23
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
24
+ expect(updatedDocument.operations.global).toHaveLength(1);
25
+ expect(updatedDocument.operations.global[0].action.type).toBe("UPDATE_TIER");
26
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
27
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
28
+ });
29
+ it("should handle updateTierPricing operation", () => {
30
+ const document = utils.createDocument();
31
+ const input = generateMock(UpdateTierPricingInputSchema());
32
+ const updatedDocument = reducer(document, updateTierPricing(input));
33
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
34
+ expect(updatedDocument.operations.global).toHaveLength(1);
35
+ expect(updatedDocument.operations.global[0].action.type).toBe("UPDATE_TIER_PRICING");
36
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
37
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
38
+ });
39
+ it("should handle deleteTier operation", () => {
40
+ const document = utils.createDocument();
41
+ const input = generateMock(DeleteTierInputSchema());
42
+ const updatedDocument = reducer(document, deleteTier(input));
43
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
44
+ expect(updatedDocument.operations.global).toHaveLength(1);
45
+ expect(updatedDocument.operations.global[0].action.type).toBe("DELETE_TIER");
46
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
47
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
48
+ });
49
+ it("should handle addServiceLevel operation", () => {
50
+ const document = utils.createDocument();
51
+ const input = generateMock(AddServiceLevelInputSchema());
52
+ const updatedDocument = reducer(document, addServiceLevel(input));
53
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
54
+ expect(updatedDocument.operations.global).toHaveLength(1);
55
+ expect(updatedDocument.operations.global[0].action.type).toBe("ADD_SERVICE_LEVEL");
56
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
57
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
58
+ });
59
+ it("should handle updateServiceLevel operation", () => {
60
+ const document = utils.createDocument();
61
+ const input = generateMock(UpdateServiceLevelInputSchema());
62
+ const updatedDocument = reducer(document, updateServiceLevel(input));
63
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
64
+ expect(updatedDocument.operations.global).toHaveLength(1);
65
+ expect(updatedDocument.operations.global[0].action.type).toBe("UPDATE_SERVICE_LEVEL");
66
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
67
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
68
+ });
69
+ it("should handle removeServiceLevel operation", () => {
70
+ const document = utils.createDocument();
71
+ const input = generateMock(RemoveServiceLevelInputSchema());
72
+ const updatedDocument = reducer(document, removeServiceLevel(input));
73
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
74
+ expect(updatedDocument.operations.global).toHaveLength(1);
75
+ expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_SERVICE_LEVEL");
76
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
77
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
78
+ });
79
+ it("should handle addUsageLimit operation", () => {
80
+ const document = utils.createDocument();
81
+ const input = generateMock(AddUsageLimitInputSchema());
82
+ const updatedDocument = reducer(document, addUsageLimit(input));
83
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
84
+ expect(updatedDocument.operations.global).toHaveLength(1);
85
+ expect(updatedDocument.operations.global[0].action.type).toBe("ADD_USAGE_LIMIT");
86
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
87
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
88
+ });
89
+ it("should handle updateUsageLimit operation", () => {
90
+ const document = utils.createDocument();
91
+ const input = generateMock(UpdateUsageLimitInputSchema());
92
+ const updatedDocument = reducer(document, updateUsageLimit(input));
93
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
94
+ expect(updatedDocument.operations.global).toHaveLength(1);
95
+ expect(updatedDocument.operations.global[0].action.type).toBe("UPDATE_USAGE_LIMIT");
96
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
97
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
98
+ });
99
+ it("should handle removeUsageLimit operation", () => {
100
+ const document = utils.createDocument();
101
+ const input = generateMock(RemoveUsageLimitInputSchema());
102
+ const updatedDocument = reducer(document, removeUsageLimit(input));
103
+ expect(isServiceOfferingDocument(updatedDocument)).toBe(true);
104
+ expect(updatedDocument.operations.global).toHaveLength(1);
105
+ expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_USAGE_LIMIT");
106
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
107
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
108
+ });
109
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"AccountForm.d.ts","sourceRoot":"","sources":["../../../../editors/accounts-editor/components/AccountForm.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,uDAAuD,CAAC;AAE/D,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,YAAY,CAAC,EAAE,qBAAqB,CAAC;KACtC,KAAK,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAqP5E"}
1
+ {"version":3,"file":"AccountForm.d.ts","sourceRoot":"","sources":["../../../../editors/accounts-editor/components/AccountForm.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,uDAAuD,CAAC;AAE/D,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,YAAY,CAAC,EAAE,qBAAqB,CAAC;KACtC,KAAK,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAiQ5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"DriveExplorer.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/DriveExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAYlD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CA+GtD"}
1
+ {"version":3,"file":"DriveExplorer.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/DriveExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAalD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAmHtD"}
@@ -6,6 +6,7 @@ import { useDocumentsInSelectedDrive, showCreateDocumentModal, } from "@powerhou
6
6
  import { useMemo, useState } from "react";
7
7
  import { ExpenseReports } from "./expense-reports.js";
8
8
  import { SnapshotReports } from "./snapshot-reports.js";
9
+ import { ResourcesServices } from "./ResourcesServices.js";
9
10
  /**
10
11
  * Main drive explorer component with sidebar navigation and content area.
11
12
  * Layout: Left sidebar (folder tree) + Right content area (files/folders + document editor)
@@ -41,6 +42,9 @@ export function DriveExplorer({ children }) {
41
42
  if (customView === "snapshot-reports") {
42
43
  return _jsx(SnapshotReports, {});
43
44
  }
45
+ if (customView === "resources-services") {
46
+ return _jsx(ResourcesServices, {});
47
+ }
44
48
  // Default: folder contents
45
49
  return _jsx(DriveContents, {});
46
50
  };
@@ -1,5 +1,5 @@
1
1
  /** Custom view types that don't correspond to document models */
2
- export type CustomView = "team-members" | "expense-reports" | "snapshot-reports" | null;
2
+ export type CustomView = "team-members" | "expense-reports" | "snapshot-reports" | "resources-services" | null;
3
3
  type FolderTreeProps = {
4
4
  onCustomViewChange?: (view: CustomView) => void;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FolderTree.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/FolderTree.tsx"],"names":[],"mappings":"AA8BA,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,IAAI,CAAC;AAyGT,KAAK,eAAe,GAAG;IACrB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,kBAAkB,EAAE,EAAE,eAAe,kDAqQjE"}
1
+ {"version":3,"file":"FolderTree.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/FolderTree.tsx"],"names":[],"mappings":"AAgCA,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,IAAI,CAAC;AA0GT,KAAK,eAAe,GAAG;IACrB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,kBAAkB,EAAE,EAAE,eAAe,kDA0ZjE"}
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Sidebar, SidebarProvider, } from "@powerhousedao/document-engineering";
3
3
  import { setSelectedNode, showCreateDocumentModal, useDocumentsInSelectedDrive, useSelectedDrive, isFolderNodeKind, isFileNodeKind, } from "@powerhousedao/reactor-browser";
4
- import { CreditCard, FileText, User, Users, Folder, Camera, Package, } from "lucide-react";
4
+ import { CreditCard, FileText, User, Users, Folder, Camera, Layers, } from "lucide-react";
5
5
  import { useMemo, useState } from "react";
6
6
  const ICON_SIZE = 16;
7
7
  const EXPENSE_REPORTS_FOLDER_NAME = "Expense Reports";
8
8
  const SNAPSHOT_REPORTS_FOLDER_NAME = "Snapshot Reports";
9
+ const RESOURCE_TEMPLATES_FOLDER_NAME = "Resource Templates";
10
+ const SERVICE_OFFERINGS_FOLDER_NAME = "Service Offerings";
9
11
  /**
10
12
  * Maps navigation section IDs to their corresponding document types.
11
13
  * When a section is clicked, the corresponding document type will be created or navigated to.
@@ -15,7 +17,7 @@ const SECTION_TO_DOCUMENT_TYPE = {
15
17
  "builder-profile": "powerhouse/builder-profile",
16
18
  "team-members": null, // Uses custom TeamMembers component
17
19
  "service-subscriptions": "powerhouse/service-subscriptions",
18
- "service-offering": "powerhouse/service-offering",
20
+ "resources-services": null, // Uses custom ResourcesServices component
19
21
  "expense-reports": null, // Uses custom ExpenseReports component
20
22
  "snapshot-reports": null, // Uses custom SnapshotReports component
21
23
  };
@@ -24,6 +26,7 @@ const SECTION_TO_DOCUMENT_TYPE = {
24
26
  */
25
27
  const SECTION_TO_CUSTOM_VIEW = {
26
28
  "team-members": "team-members",
29
+ "resources-services": "resources-services",
27
30
  "expense-reports": "expense-reports",
28
31
  "snapshot-reports": "snapshot-reports",
29
32
  };
@@ -48,9 +51,9 @@ const BASE_NAVIGATION_SECTIONS = [
48
51
  icon: _jsx(CreditCard, { size: ICON_SIZE }),
49
52
  },
50
53
  {
51
- id: "service-offering",
52
- title: "Service Offering",
53
- icon: _jsx(Package, { size: ICON_SIZE }),
54
+ id: "resources-services",
55
+ title: "Resources & Services",
56
+ icon: _jsx(Layers, { size: ICON_SIZE }),
54
57
  },
55
58
  {
56
59
  id: "expense-reports",
@@ -119,6 +122,20 @@ export function FolderTree({ onCustomViewChange }) {
119
122
  const nodes = driveDocument.state.global.nodes;
120
123
  return nodes.find((node) => isFolderNodeKind(node) && node.name === SNAPSHOT_REPORTS_FOLDER_NAME);
121
124
  }, [driveDocument]);
125
+ // Find the "Resource Templates" folder in the drive
126
+ const resourceTemplatesFolder = useMemo(() => {
127
+ if (!driveDocument)
128
+ return null;
129
+ const nodes = driveDocument.state.global.nodes;
130
+ return nodes.find((node) => isFolderNodeKind(node) && node.name === RESOURCE_TEMPLATES_FOLDER_NAME);
131
+ }, [driveDocument]);
132
+ // Find the "Service Offerings" folder in the drive
133
+ const serviceOfferingsFolder = useMemo(() => {
134
+ if (!driveDocument)
135
+ return null;
136
+ const nodes = driveDocument.state.global.nodes;
137
+ return nodes.find((node) => isFolderNodeKind(node) && node.name === SERVICE_OFFERINGS_FOLDER_NAME);
138
+ }, [driveDocument]);
122
139
  // Build a set of all node IDs that are within the Expense Reports folder tree
123
140
  const expenseReportsNodeIds = useMemo(() => {
124
141
  const nodeIds = new Set();
@@ -161,6 +178,46 @@ export function FolderTree({ onCustomViewChange }) {
161
178
  collectNodeIds(snapshotReportsFolder.id);
162
179
  return nodeIds;
163
180
  }, [snapshotReportsFolder, driveDocument]);
181
+ // Build a set of all node IDs that are within the Resource Templates folder tree
182
+ const resourceTemplatesNodeIds = useMemo(() => {
183
+ const nodeIds = new Set();
184
+ if (!resourceTemplatesFolder || !driveDocument)
185
+ return nodeIds;
186
+ const allNodes = driveDocument.state.global.nodes;
187
+ const collectNodeIds = (parentId) => {
188
+ nodeIds.add(parentId);
189
+ for (const node of allNodes) {
190
+ if (isFolderNodeKind(node) && node.parentFolder === parentId) {
191
+ collectNodeIds(node.id);
192
+ }
193
+ else if (isFileNodeKind(node) && node.parentFolder === parentId) {
194
+ nodeIds.add(node.id);
195
+ }
196
+ }
197
+ };
198
+ collectNodeIds(resourceTemplatesFolder.id);
199
+ return nodeIds;
200
+ }, [resourceTemplatesFolder, driveDocument]);
201
+ // Build a set of all node IDs that are within the Service Offerings folder tree
202
+ const serviceOfferingsNodeIds = useMemo(() => {
203
+ const nodeIds = new Set();
204
+ if (!serviceOfferingsFolder || !driveDocument)
205
+ return nodeIds;
206
+ const allNodes = driveDocument.state.global.nodes;
207
+ const collectNodeIds = (parentId) => {
208
+ nodeIds.add(parentId);
209
+ for (const node of allNodes) {
210
+ if (isFolderNodeKind(node) && node.parentFolder === parentId) {
211
+ collectNodeIds(node.id);
212
+ }
213
+ else if (isFileNodeKind(node) && node.parentFolder === parentId) {
214
+ nodeIds.add(node.id);
215
+ }
216
+ }
217
+ };
218
+ collectNodeIds(serviceOfferingsFolder.id);
219
+ return nodeIds;
220
+ }, [serviceOfferingsFolder, driveDocument]);
164
221
  // Find the builder profile document and get its state
165
222
  const builderProfileDocument = useMemo(() => {
166
223
  if (!documentsInDrive)
@@ -176,7 +233,7 @@ export function FolderTree({ onCustomViewChange }) {
176
233
  const state = builderProfileDocument.state?.global;
177
234
  return state?.isOperator ?? false;
178
235
  }, [builderProfileDocument]);
179
- // Build navigation sections with dynamic expense reports and snapshot reports children
236
+ // Build navigation sections with dynamic expense reports, snapshot reports, and resources & services children
180
237
  const navigationSections = useMemo(() => {
181
238
  if (!driveDocument) {
182
239
  return BASE_NAVIGATION_SECTIONS;
@@ -190,11 +247,35 @@ export function FolderTree({ onCustomViewChange }) {
190
247
  const snapshotReportsChildren = snapshotReportsFolder
191
248
  ? buildSidebarNodesFromFolder(snapshotReportsFolder.id, allNodes)
192
249
  : [];
250
+ // Build resources & services children (Resource Templates and Service Offerings folders)
251
+ const resourcesServicesChildren = [];
252
+ if (resourceTemplatesFolder) {
253
+ const resourceTemplatesChildren = buildSidebarNodesFromFolder(resourceTemplatesFolder.id, allNodes);
254
+ resourcesServicesChildren.push({
255
+ id: resourceTemplatesFolder.id,
256
+ title: RESOURCE_TEMPLATES_FOLDER_NAME,
257
+ icon: _jsx(Folder, { size: ICON_SIZE }),
258
+ children: resourceTemplatesChildren.length > 0
259
+ ? resourceTemplatesChildren
260
+ : undefined,
261
+ });
262
+ }
263
+ if (serviceOfferingsFolder) {
264
+ const serviceOfferingsChildren = buildSidebarNodesFromFolder(serviceOfferingsFolder.id, allNodes);
265
+ resourcesServicesChildren.push({
266
+ id: serviceOfferingsFolder.id,
267
+ title: SERVICE_OFFERINGS_FOLDER_NAME,
268
+ icon: _jsx(Folder, { size: ICON_SIZE }),
269
+ children: serviceOfferingsChildren.length > 0
270
+ ? serviceOfferingsChildren
271
+ : undefined,
272
+ });
273
+ }
193
274
  // Filter and transform the sections based on isOperator flag
194
275
  return (BASE_NAVIGATION_SECTIONS
195
- // Hide "Service Offering" when isOperator is false
276
+ // Hide "Resources & Services" when isOperator is false
196
277
  .filter((section) => {
197
- if (section.id === "service-offering" && !isOperator) {
278
+ if (section.id === "resources-services" && !isOperator) {
198
279
  return false;
199
280
  }
200
281
  return true;
@@ -208,6 +289,13 @@ export function FolderTree({ onCustomViewChange }) {
208
289
  title: "Operator Profile",
209
290
  };
210
291
  }
292
+ if (section.id === "resources-services" &&
293
+ resourcesServicesChildren.length > 0) {
294
+ return {
295
+ ...section,
296
+ children: resourcesServicesChildren,
297
+ };
298
+ }
211
299
  if (section.id === "expense-reports" &&
212
300
  expenseReportsChildren.length > 0) {
213
301
  return {
@@ -224,7 +312,14 @@ export function FolderTree({ onCustomViewChange }) {
224
312
  }
225
313
  return section;
226
314
  }));
227
- }, [expenseReportsFolder, snapshotReportsFolder, driveDocument, isOperator]);
315
+ }, [
316
+ expenseReportsFolder,
317
+ snapshotReportsFolder,
318
+ resourceTemplatesFolder,
319
+ serviceOfferingsFolder,
320
+ driveDocument,
321
+ isOperator,
322
+ ]);
228
323
  // Create a map of document type to existing document (first one found)
229
324
  const existingDocumentsByType = useMemo(() => {
230
325
  const map = {};
@@ -277,6 +372,36 @@ export function FolderTree({ onCustomViewChange }) {
277
372
  }
278
373
  return;
279
374
  }
375
+ // Check if this is a child node within the Resource Templates folder
376
+ if (resourceTemplatesNodeIds.has(node.id)) {
377
+ const driveNode = driveDocument?.state.global.nodes.find((n) => n.id === node.id);
378
+ if (driveNode && isFolderNodeKind(driveNode)) {
379
+ // It's a folder - navigate to it within the resources & services view
380
+ onCustomViewChange?.("resources-services");
381
+ setSelectedNode(node.id);
382
+ }
383
+ else if (driveNode && isFileNodeKind(driveNode)) {
384
+ // It's a document - open the document editor
385
+ onCustomViewChange?.(null);
386
+ setSelectedNode(node.id);
387
+ }
388
+ return;
389
+ }
390
+ // Check if this is a child node within the Service Offerings folder
391
+ if (serviceOfferingsNodeIds.has(node.id)) {
392
+ const driveNode = driveDocument?.state.global.nodes.find((n) => n.id === node.id);
393
+ if (driveNode && isFolderNodeKind(driveNode)) {
394
+ // It's a folder - navigate to it within the resources & services view
395
+ onCustomViewChange?.("resources-services");
396
+ setSelectedNode(node.id);
397
+ }
398
+ else if (driveNode && isFileNodeKind(driveNode)) {
399
+ // It's a document - open the document editor
400
+ onCustomViewChange?.(null);
401
+ setSelectedNode(node.id);
402
+ }
403
+ return;
404
+ }
280
405
  // Check if this section has a custom view
281
406
  const customView = SECTION_TO_CUSTOM_VIEW[node.id];
282
407
  if (customView) {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Component for the Resources & Services custom view.
3
+ * Shows two auto-generated folders: Resource Templates and Service Offerings.
4
+ * Users can create powerhouse/resource-template docs in Resource Templates
5
+ * and powerhouse/service-offering docs in Service Offerings.
6
+ */
7
+ export declare function ResourcesServices(): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=ResourcesServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourcesServices.d.ts","sourceRoot":"","sources":["../../../../editors/builder-team-admin/components/ResourcesServices.tsx"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,wBAAgB,iBAAiB,4CA6PhC"}