@lokalise/harmony 2.1.0-exp-testingContracts.3 → 2.1.0-exp-testingContracts.5

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 (272) hide show
  1. package/dist/harmony.cjs +1 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +2 -1
  4. package/dist/harmony103.cjs +1 -1
  5. package/dist/harmony103.mjs +1 -1
  6. package/dist/harmony104.cjs +7 -7
  7. package/dist/harmony104.mjs +7 -7
  8. package/dist/harmony106.cjs +2 -2
  9. package/dist/harmony106.mjs +2 -2
  10. package/dist/harmony107.cjs +165 -2
  11. package/dist/harmony107.cjs.map +1 -1
  12. package/dist/harmony107.mjs +166 -3
  13. package/dist/harmony107.mjs.map +1 -1
  14. package/dist/harmony108.cjs +42 -16
  15. package/dist/harmony108.cjs.map +1 -1
  16. package/dist/harmony108.mjs +42 -16
  17. package/dist/harmony108.mjs.map +1 -1
  18. package/dist/harmony109.cjs +13 -75
  19. package/dist/harmony109.cjs.map +1 -1
  20. package/dist/harmony109.mjs +13 -75
  21. package/dist/harmony109.mjs.map +1 -1
  22. package/dist/harmony110.cjs +2 -11
  23. package/dist/harmony110.cjs.map +1 -1
  24. package/dist/harmony110.mjs +3 -12
  25. package/dist/harmony110.mjs.map +1 -1
  26. package/dist/harmony111.cjs +18 -34
  27. package/dist/harmony111.cjs.map +1 -1
  28. package/dist/harmony111.mjs +18 -34
  29. package/dist/harmony111.mjs.map +1 -1
  30. package/dist/harmony112.cjs +75 -8
  31. package/dist/harmony112.cjs.map +1 -1
  32. package/dist/harmony112.mjs +75 -8
  33. package/dist/harmony112.mjs.map +1 -1
  34. package/dist/harmony113.cjs +11 -46
  35. package/dist/harmony113.cjs.map +1 -1
  36. package/dist/harmony113.mjs +11 -46
  37. package/dist/harmony113.mjs.map +1 -1
  38. package/dist/harmony114.cjs +35 -10
  39. package/dist/harmony114.cjs.map +1 -1
  40. package/dist/harmony114.mjs +34 -9
  41. package/dist/harmony114.mjs.map +1 -1
  42. package/dist/harmony115.cjs +9 -14
  43. package/dist/harmony115.cjs.map +1 -1
  44. package/dist/harmony115.mjs +9 -14
  45. package/dist/harmony115.mjs.map +1 -1
  46. package/dist/harmony116.cjs +44 -163
  47. package/dist/harmony116.cjs.map +1 -1
  48. package/dist/harmony116.mjs +44 -163
  49. package/dist/harmony116.mjs.map +1 -1
  50. package/dist/harmony117.cjs +9 -44
  51. package/dist/harmony117.cjs.map +1 -1
  52. package/dist/harmony117.mjs +8 -43
  53. package/dist/harmony117.mjs.map +1 -1
  54. package/dist/harmony118.cjs +9 -10
  55. package/dist/harmony118.cjs.map +1 -1
  56. package/dist/harmony118.mjs +11 -12
  57. package/dist/harmony118.mjs.map +1 -1
  58. package/dist/harmony119.cjs +20 -11
  59. package/dist/harmony119.cjs.map +1 -1
  60. package/dist/harmony119.mjs +20 -11
  61. package/dist/harmony119.mjs.map +1 -1
  62. package/dist/harmony120.cjs +10 -9
  63. package/dist/harmony120.cjs.map +1 -1
  64. package/dist/harmony120.mjs +12 -11
  65. package/dist/harmony120.mjs.map +1 -1
  66. package/dist/harmony121.cjs +11 -20
  67. package/dist/harmony121.cjs.map +1 -1
  68. package/dist/harmony121.mjs +11 -20
  69. package/dist/harmony121.mjs.map +1 -1
  70. package/dist/harmony122.cjs +2 -2
  71. package/dist/harmony122.mjs +2 -2
  72. package/dist/harmony123.cjs +20 -87
  73. package/dist/harmony123.cjs.map +1 -1
  74. package/dist/harmony123.mjs +20 -87
  75. package/dist/harmony123.mjs.map +1 -1
  76. package/dist/harmony124.cjs +7 -30
  77. package/dist/harmony124.cjs.map +1 -1
  78. package/dist/harmony124.mjs +7 -30
  79. package/dist/harmony124.mjs.map +1 -1
  80. package/dist/harmony125.cjs +17 -20
  81. package/dist/harmony125.cjs.map +1 -1
  82. package/dist/harmony125.mjs +17 -20
  83. package/dist/harmony125.mjs.map +1 -1
  84. package/dist/harmony126.cjs +8 -7
  85. package/dist/harmony126.cjs.map +1 -1
  86. package/dist/harmony126.mjs +8 -7
  87. package/dist/harmony126.mjs.map +1 -1
  88. package/dist/harmony127.cjs +7 -16
  89. package/dist/harmony127.cjs.map +1 -1
  90. package/dist/harmony127.mjs +7 -16
  91. package/dist/harmony127.mjs.map +1 -1
  92. package/dist/harmony128.cjs +14 -7
  93. package/dist/harmony128.cjs.map +1 -1
  94. package/dist/harmony128.mjs +14 -7
  95. package/dist/harmony128.mjs.map +1 -1
  96. package/dist/harmony129.cjs +86 -7
  97. package/dist/harmony129.cjs.map +1 -1
  98. package/dist/harmony129.mjs +86 -7
  99. package/dist/harmony129.mjs.map +1 -1
  100. package/dist/harmony130.cjs +30 -15
  101. package/dist/harmony130.cjs.map +1 -1
  102. package/dist/harmony130.mjs +30 -15
  103. package/dist/harmony130.mjs.map +1 -1
  104. package/dist/harmony131.cjs +5 -9
  105. package/dist/harmony131.cjs.map +1 -1
  106. package/dist/harmony131.mjs +5 -9
  107. package/dist/harmony131.mjs.map +1 -1
  108. package/dist/harmony132.cjs +6 -13
  109. package/dist/harmony132.cjs.map +1 -1
  110. package/dist/harmony132.mjs +5 -12
  111. package/dist/harmony132.mjs.map +1 -1
  112. package/dist/harmony133.cjs +9 -15
  113. package/dist/harmony133.cjs.map +1 -1
  114. package/dist/harmony133.mjs +8 -14
  115. package/dist/harmony133.mjs.map +1 -1
  116. package/dist/harmony134.cjs +6 -13
  117. package/dist/harmony134.cjs.map +1 -1
  118. package/dist/harmony134.mjs +8 -15
  119. package/dist/harmony134.mjs.map +1 -1
  120. package/dist/harmony135.cjs +12 -7
  121. package/dist/harmony135.cjs.map +1 -1
  122. package/dist/harmony135.mjs +14 -9
  123. package/dist/harmony135.mjs.map +1 -1
  124. package/dist/harmony136.cjs +13 -20
  125. package/dist/harmony136.cjs.map +1 -1
  126. package/dist/harmony136.mjs +15 -22
  127. package/dist/harmony136.mjs.map +1 -1
  128. package/dist/harmony137.cjs +7 -9
  129. package/dist/harmony137.cjs.map +1 -1
  130. package/dist/harmony137.mjs +9 -11
  131. package/dist/harmony137.mjs.map +1 -1
  132. package/dist/harmony138.cjs +18 -30
  133. package/dist/harmony138.cjs.map +1 -1
  134. package/dist/harmony138.mjs +20 -32
  135. package/dist/harmony138.mjs.map +1 -1
  136. package/dist/harmony139.cjs +6 -6
  137. package/dist/harmony139.cjs.map +1 -1
  138. package/dist/harmony139.mjs +6 -6
  139. package/dist/harmony139.mjs.map +1 -1
  140. package/dist/harmony140.cjs +29 -13
  141. package/dist/harmony140.cjs.map +1 -1
  142. package/dist/harmony140.mjs +30 -14
  143. package/dist/harmony140.mjs.map +1 -1
  144. package/dist/harmony141.cjs +7 -31
  145. package/dist/harmony141.cjs.map +1 -1
  146. package/dist/harmony141.mjs +8 -32
  147. package/dist/harmony141.mjs.map +1 -1
  148. package/dist/harmony142.cjs +22 -21
  149. package/dist/harmony142.cjs.map +1 -1
  150. package/dist/harmony142.mjs +21 -20
  151. package/dist/harmony142.mjs.map +1 -1
  152. package/dist/harmony143.cjs +30 -15
  153. package/dist/harmony143.cjs.map +1 -1
  154. package/dist/harmony143.mjs +32 -17
  155. package/dist/harmony143.mjs.map +1 -1
  156. package/dist/harmony144.cjs +18 -3
  157. package/dist/harmony144.cjs.map +1 -1
  158. package/dist/harmony144.mjs +18 -3
  159. package/dist/harmony144.mjs.map +1 -1
  160. package/dist/harmony145.cjs +21 -15
  161. package/dist/harmony145.cjs.map +1 -1
  162. package/dist/harmony145.mjs +20 -14
  163. package/dist/harmony145.mjs.map +1 -1
  164. package/dist/harmony146.cjs +6 -5
  165. package/dist/harmony146.cjs.map +1 -1
  166. package/dist/harmony146.mjs +6 -5
  167. package/dist/harmony147.cjs +15 -5
  168. package/dist/harmony147.cjs.map +1 -1
  169. package/dist/harmony147.mjs +15 -5
  170. package/dist/harmony147.mjs.map +1 -1
  171. package/dist/harmony149.cjs +1 -1
  172. package/dist/harmony149.mjs +1 -1
  173. package/dist/harmony150.cjs +1 -1
  174. package/dist/harmony150.mjs +1 -1
  175. package/dist/harmony151.cjs +1 -1
  176. package/dist/harmony151.mjs +1 -1
  177. package/dist/harmony152.cjs +3 -3
  178. package/dist/harmony152.mjs +3 -3
  179. package/dist/harmony153.cjs +3 -3
  180. package/dist/harmony153.mjs +3 -3
  181. package/dist/harmony154.cjs +1 -1
  182. package/dist/harmony154.mjs +1 -1
  183. package/dist/harmony157.cjs +1 -1
  184. package/dist/harmony157.mjs +1 -1
  185. package/dist/harmony158.cjs +2 -2
  186. package/dist/harmony158.mjs +2 -2
  187. package/dist/harmony167.cjs +13 -32
  188. package/dist/harmony167.cjs.map +1 -1
  189. package/dist/harmony167.mjs +13 -32
  190. package/dist/harmony167.mjs.map +1 -1
  191. package/dist/harmony168.cjs +14 -12
  192. package/dist/harmony168.cjs.map +1 -1
  193. package/dist/harmony168.mjs +14 -12
  194. package/dist/harmony168.mjs.map +1 -1
  195. package/dist/harmony169.cjs +14 -13
  196. package/dist/harmony169.cjs.map +1 -1
  197. package/dist/harmony169.mjs +14 -13
  198. package/dist/harmony169.mjs.map +1 -1
  199. package/dist/harmony17.cjs +1 -1
  200. package/dist/harmony17.mjs +1 -1
  201. package/dist/harmony170.cjs +31 -15
  202. package/dist/harmony170.cjs.map +1 -1
  203. package/dist/harmony170.mjs +31 -15
  204. package/dist/harmony170.mjs.map +1 -1
  205. package/dist/harmony171.cjs +1 -1
  206. package/dist/harmony171.mjs +1 -1
  207. package/dist/harmony173.cjs +3 -3
  208. package/dist/harmony173.mjs +3 -3
  209. package/dist/harmony175.cjs +6 -4
  210. package/dist/harmony175.cjs.map +1 -1
  211. package/dist/harmony175.mjs +6 -4
  212. package/dist/harmony175.mjs.map +1 -1
  213. package/dist/harmony176.cjs +11 -5
  214. package/dist/harmony176.cjs.map +1 -1
  215. package/dist/harmony176.mjs +11 -5
  216. package/dist/harmony176.mjs.map +1 -1
  217. package/dist/harmony177.cjs +31 -11
  218. package/dist/harmony177.cjs.map +1 -1
  219. package/dist/harmony177.mjs +31 -11
  220. package/dist/harmony177.mjs.map +1 -1
  221. package/dist/harmony178.cjs +10 -28
  222. package/dist/harmony178.cjs.map +1 -1
  223. package/dist/harmony178.mjs +10 -28
  224. package/dist/harmony178.mjs.map +1 -1
  225. package/dist/harmony179.cjs +4 -14
  226. package/dist/harmony179.cjs.map +1 -1
  227. package/dist/harmony179.mjs +4 -14
  228. package/dist/harmony179.mjs.map +1 -1
  229. package/dist/harmony20.cjs +1 -1
  230. package/dist/harmony20.mjs +1 -1
  231. package/dist/harmony28.cjs +1 -1
  232. package/dist/harmony28.mjs +1 -1
  233. package/dist/harmony29.cjs +1 -1
  234. package/dist/harmony29.mjs +1 -1
  235. package/dist/harmony32.cjs +1 -1
  236. package/dist/harmony32.mjs +1 -1
  237. package/dist/harmony33.cjs +1 -1
  238. package/dist/harmony33.mjs +1 -1
  239. package/dist/harmony34.cjs +1 -1
  240. package/dist/harmony34.mjs +1 -1
  241. package/dist/harmony39.cjs +1 -1
  242. package/dist/harmony39.mjs +1 -1
  243. package/dist/harmony40.cjs +1 -1
  244. package/dist/harmony40.mjs +1 -1
  245. package/dist/harmony41.cjs +1 -1
  246. package/dist/harmony41.mjs +1 -1
  247. package/dist/harmony42.cjs +2 -2
  248. package/dist/harmony42.mjs +2 -2
  249. package/dist/harmony43.cjs +2 -2
  250. package/dist/harmony43.mjs +2 -2
  251. package/dist/harmony44.cjs +1 -1
  252. package/dist/harmony44.mjs +1 -1
  253. package/dist/harmony90.cjs +2 -0
  254. package/dist/harmony90.cjs.map +1 -1
  255. package/dist/harmony90.mjs +2 -0
  256. package/dist/harmony90.mjs.map +1 -1
  257. package/dist/harmony97.cjs +2 -2
  258. package/dist/harmony97.mjs +2 -2
  259. package/dist/harmony99.cjs +2 -2
  260. package/dist/harmony99.mjs +2 -2
  261. package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +1 -4
  262. package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +1 -4
  263. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +2 -56
  264. package/dist/types/src/features/publicApi/contributors.d.ts +5 -260
  265. package/dist/types/src/features/publicApi/languages.d.ts +3 -106
  266. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +1 -54
  267. package/dist/types/src/features/publicApi/projects.d.ts +6 -520
  268. package/dist/types/src/features/publicApi/score.d.ts +3 -102
  269. package/dist/types/src/features/publicApi/team.d.ts +2 -102
  270. package/dist/types/src/features/publicApi/teamUsers.d.ts +3 -125
  271. package/dist/types/src/features/publicApi/userToken.d.ts +1 -19
  272. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"harmony123.mjs","sources":["../src/features/navigation/utils/toolbarVisibility.ts"],"sourcesContent":["import { hasAdminRight, hasAnyAdminRight } from '@features/auth/utils/permissions'\nimport type { Project } from '@features/node'\n\ntype ToolbarVisibility = {\n\tdisabled: boolean\n\tvisible: boolean\n}\n\nexport type ToolbarVisibilityMap = {\n\tupload: ToolbarVisibility\n\tdownload: ToolbarVisibility\n\tapps: ToolbarVisibility\n\tcontentManagement: ToolbarVisibility\n\teditor: ToolbarVisibility\n\tfiles: ToolbarVisibility\n\ttasks: ToolbarVisibility\n\tworkflows: ToolbarVisibility\n\tcontributors: ToolbarVisibility\n\tscreenshots: ToolbarVisibility\n\tglossary: ToolbarVisibility\n\tmore: ToolbarVisibility\n\tsettings: ToolbarVisibility\n\tbranches: ToolbarVisibility\n\totaBundles: ToolbarVisibility\n\tautomations: ToolbarVisibility\n\tduplicateFinder: ToolbarVisibility\n\tactivity: ToolbarVisibility\n\tstatistics: ToolbarVisibility\n}\n\nexport const getProjectNavigationVisibilityMap = (\n\tproject: Project,\n\tadminRights: string[],\n\tisFeatureEnabled: (key: string) => boolean,\n): ToolbarVisibilityMap => ({\n\tupload: {\n\t\tvisible: hasAdminRight(adminRights, 'upload'),\n\t\tdisabled: false,\n\t},\n\tdownload: {\n\t\tvisible: hasAdminRight(adminRights, 'download'),\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tapps: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tcontentManagement: {\n\t\tvisible: project.project_type === 'content_integration' && hasAdminRight(adminRights, 'keys'),\n\t\tdisabled: false,\n\t},\n\teditor: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tfiles: {\n\t\tvisible:\n\t\t\tisFeatureEnabled('lionLfcFilesManagement') &&\n\t\t\tproject.project_type === 'paged_documents' &&\n\t\t\thasAnyAdminRight(adminRights, ['upload', 'download']),\n\t\tdisabled: false,\n\t},\n\ttasks: {\n\t\tvisible: hasAdminRight(adminRights, 'tasks'),\n\t\tdisabled: false,\n\t},\n\tcontributors: {\n\t\tvisible: hasAdminRight(adminRights, 'contributors'),\n\t\tdisabled: false,\n\t},\n\tworkflows: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tscreenshots: {\n\t\tvisible: hasAdminRight(adminRights, 'screenshots'),\n\t\tdisabled: false,\n\t},\n\tglossary: {\n\t\tvisible: hasAdminRight(adminRights, 'glossary'),\n\t\tdisabled: false,\n\t},\n\tmore: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tsettings: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tbranches: {\n\t\tvisible:\n\t\t\t!!project.settings?.branching &&\n\t\t\thasAnyAdminRight(adminRights, ['branches_create', 'create_branches', 'branches_merge']),\n\t\tdisabled: false,\n\t},\n\totaBundles: {\n\t\tvisible:\n\t\t\thasAnyAdminRight(adminRights, ['download', 'settings', 'keys']) &&\n\t\t\tproject.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tautomations: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tduplicateFinder: {\n\t\tvisible: hasAdminRight(adminRights, 'keys') && project.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tactivity: {\n\t\tvisible: !!project.settings?.offline_translation || hasAdminRight(adminRights, 'activity'),\n\t\tdisabled: false,\n\t},\n\tstatistics: {\n\t\tvisible: hasAdminRight(adminRights, 'statistics'),\n\t\tdisabled: false,\n\t},\n})\n"],"names":[],"mappings":";AA8BO,MAAM,oCAAoC,CAChD,SACA,aACA,qBAC2B;;AAAA;AAAA,IAC3B,QAAQ;AAAA,MACP,SAAS,cAAc,aAAa,QAAQ;AAAA,MAC5C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,mBAAmB;AAAA,MAClB,SAAS,QAAQ,iBAAiB,yBAAyB,cAAc,aAAa,MAAM;AAAA,MAC5F,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SACC,iBAAiB,wBAAwB,KACzC,QAAQ,iBAAiB,qBACzB,iBAAiB,aAAa,CAAC,UAAU,UAAU,CAAC;AAAA,MACrD,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SAAS,cAAc,aAAa,OAAO;AAAA,MAC3C,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,SAAS,cAAc,aAAa,cAAc;AAAA,MAClD,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAAS,cAAc,aAAa,aAAa;AAAA,MACjD,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SACC,CAAC,GAAC,aAAQ,aAAR,mBAAkB,cACpB,iBAAiB,aAAa,CAAC,mBAAmB,mBAAmB,gBAAgB,CAAC;AAAA,MACvF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SACC,iBAAiB,aAAa,CAAC,YAAY,YAAY,MAAM,CAAC,KAC9D,QAAQ,iBAAiB;AAAA,MAC1B,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MAChB,SAAS,cAAc,aAAa,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACxE,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,CAAC,GAAC,aAAQ,aAAR,mBAAkB,wBAAuB,cAAc,aAAa,UAAU;AAAA,MACzF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SAAS,cAAc,aAAa,YAAY;AAAA,MAChD,UAAU;AAAA,IAAA;AAAA,EAEZ;AAAA;"}
1
+ {"version":3,"file":"harmony123.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod/v4'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
@@ -1,33 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const navigationItems = [
4
- {
5
- key: "editor",
6
- labelKey: "Editor",
7
- path: ({ projectId }) => `/project/${projectId}/editor`
8
- },
9
- {
10
- key: "dashboard",
11
- labelKey: "Download",
12
- path: ({ projectId }) => `/project/${projectId}/dashboard`
13
- },
14
- {
15
- key: "contributors",
16
- labelKey: "Contributors",
17
- path: ({ projectId }) => `/project/${projectId}/contributors`
18
- },
19
- {
20
- key: "orders",
21
- labelKey: "Human proofreading",
22
- path: ({ projectId }) => `/project/${projectId}/orders`,
23
- shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
24
- },
25
- {
26
- key: "billing",
27
- labelKey: "Billing",
28
- path: ({ projectId }) => `/project/${projectId}/billing`,
29
- shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
30
- }
31
- ];
32
- exports.navigationItems = navigationItems;
3
+ const React = require("react");
4
+ const featureFlagContext = React.createContext(void 0);
5
+ const teamContext = React.createContext(void 0);
6
+ const projectPermissionsContext = React.createContext({});
7
+ exports.featureFlagContext = featureFlagContext;
8
+ exports.projectPermissionsContext = projectPermissionsContext;
9
+ exports.teamContext = teamContext;
33
10
  //# sourceMappingURL=harmony124.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.cjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":";;AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;;"}
1
+ {"version":3,"file":"harmony124.cjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":["createContext"],"mappings":";;;AASa,MAAA,qBAAqBA,oBAAyC,MAAS;AAEvE,MAAA,cAAcA,oBAAoC,MAAS;AAM3D,MAAA,4BAA4BA,MAA6C,cAAA,CAAE,CAAA;;;;"}
@@ -1,33 +1,10 @@
1
- const navigationItems = [
2
- {
3
- key: "editor",
4
- labelKey: "Editor",
5
- path: ({ projectId }) => `/project/${projectId}/editor`
6
- },
7
- {
8
- key: "dashboard",
9
- labelKey: "Download",
10
- path: ({ projectId }) => `/project/${projectId}/dashboard`
11
- },
12
- {
13
- key: "contributors",
14
- labelKey: "Contributors",
15
- path: ({ projectId }) => `/project/${projectId}/contributors`
16
- },
17
- {
18
- key: "orders",
19
- labelKey: "Human proofreading",
20
- path: ({ projectId }) => `/project/${projectId}/orders`,
21
- shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
22
- },
23
- {
24
- key: "billing",
25
- labelKey: "Billing",
26
- path: ({ projectId }) => `/project/${projectId}/billing`,
27
- shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
28
- }
29
- ];
1
+ import { createContext } from "react";
2
+ const featureFlagContext = createContext(void 0);
3
+ const teamContext = createContext(void 0);
4
+ const projectPermissionsContext = createContext({});
30
5
  export {
31
- navigationItems
6
+ featureFlagContext,
7
+ projectPermissionsContext,
8
+ teamContext
32
9
  };
33
10
  //# sourceMappingURL=harmony124.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.mjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":"AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;"}
1
+ {"version":3,"file":"harmony124.mjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":[],"mappings":";AASa,MAAA,qBAAqB,cAAyC,MAAS;AAEvE,MAAA,cAAc,cAAoC,MAAS;AAM3D,MAAA,4BAA4B,cAA6C,CAAE,CAAA;"}
@@ -1,23 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const v4 = require("zod/v4");
4
- const teamRoleTypes = require("./harmony86.cjs");
5
- const JWT_TOKEN_PAYLOAD_SCHEMA = v4.z.object({
6
- userId: v4.z.number(),
7
- userUuid: v4.z.string().uuid(),
8
- teamId: v4.z.number(),
9
- teamUuid: v4.z.string().uuid(),
10
- userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
- userEmail: v4.z.string().email(),
12
- userName: v4.z.string(),
13
- userCurrentTeamId: v4.z.number(),
14
- planId: v4.z.number(),
15
- planName: v4.z.string(),
16
- isProviderAlpha: v4.z.boolean(),
17
- isFullyAuthenticated: v4.z.boolean(),
18
- isEndOfTrialActive: v4.z.boolean(),
19
- isTeamSuspended: v4.z.boolean(),
20
- exp: v4.z.number()
21
- });
22
- exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
3
+ const ActionsContext = require("./harmony124.cjs");
4
+ const React = require("react");
5
+ const useActionResolverPayload = () => {
6
+ const teamRole = React.useContext(ActionsContext.teamContext);
7
+ const enabledFeatureFlags = React.useContext(ActionsContext.featureFlagContext);
8
+ const { permissions: projectPermissions, projectType } = React.useContext(ActionsContext.projectPermissionsContext);
9
+ return React.useMemo(
10
+ () => ({
11
+ enabledFeatureFlags,
12
+ teamRole,
13
+ projectPermissions,
14
+ projectType
15
+ }),
16
+ [enabledFeatureFlags, teamRole, projectPermissions, projectType]
17
+ );
18
+ };
19
+ exports.useActionResolverPayload = useActionResolverPayload;
23
20
  //# sourceMappingURL=harmony125.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod/v4'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,KAAE,OAAO;AAAA,EAChD,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,GAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,GAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,GAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,KAAE,OAAO;AAAA,EACnB,mBAAmBA,KAAE,OAAO;AAAA,EAC5B,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,KAAE,OAAO;AAAA,EACnB,iBAAiBA,KAAE,QAAQ;AAAA,EAC3B,sBAAsBA,KAAE,QAAQ;AAAA,EAChC,oBAAoBA,KAAE,QAAQ;AAAA,EAC9B,iBAAiBA,KAAE,QAAQ;AAAA,EAC3B,KAAKA,KAAE,OAAO;AACf,CAAC;;"}
1
+ {"version":3,"file":"harmony125.cjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":["useContext","teamContext","featureFlagContext","projectPermissionsContext","useMemo"],"mappings":";;;;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAWA,iBAAWC,0BAAW;AACjC,QAAA,sBAAsBD,iBAAWE,iCAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAIF,MAAAA,WAAWG,eAAAA,yBAAyB;AAEtF,SAAAC,MAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;;"}
@@ -1,23 +1,20 @@
1
- import { z } from "zod/v4";
2
- import { TEAM_ROLE_SCHEMA } from "./harmony86.mjs";
3
- const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
- userId: z.number(),
5
- userUuid: z.string().uuid(),
6
- teamId: z.number(),
7
- teamUuid: z.string().uuid(),
8
- userTeamRole: TEAM_ROLE_SCHEMA,
9
- userEmail: z.string().email(),
10
- userName: z.string(),
11
- userCurrentTeamId: z.number(),
12
- planId: z.number(),
13
- planName: z.string(),
14
- isProviderAlpha: z.boolean(),
15
- isFullyAuthenticated: z.boolean(),
16
- isEndOfTrialActive: z.boolean(),
17
- isTeamSuspended: z.boolean(),
18
- exp: z.number()
19
- });
1
+ import { teamContext, featureFlagContext, projectPermissionsContext } from "./harmony124.mjs";
2
+ import { useContext, useMemo } from "react";
3
+ const useActionResolverPayload = () => {
4
+ const teamRole = useContext(teamContext);
5
+ const enabledFeatureFlags = useContext(featureFlagContext);
6
+ const { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext);
7
+ return useMemo(
8
+ () => ({
9
+ enabledFeatureFlags,
10
+ teamRole,
11
+ projectPermissions,
12
+ projectType
13
+ }),
14
+ [enabledFeatureFlags, teamRole, projectPermissions, projectType]
15
+ );
16
+ };
20
17
  export {
21
- JWT_TOKEN_PAYLOAD_SCHEMA
18
+ useActionResolverPayload
22
19
  };
23
20
  //# sourceMappingURL=harmony125.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod/v4'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
1
+ {"version":3,"file":"harmony125.mjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":[],"mappings":";;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAW,WAAW,WAAW;AACjC,QAAA,sBAAsB,WAAW,kBAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAI,WAAW,yBAAyB;AAEtF,SAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const featureFlagContext = React.createContext(void 0);
5
- const teamContext = React.createContext(void 0);
6
- const projectPermissionsContext = React.createContext({});
7
- exports.featureFlagContext = featureFlagContext;
8
- exports.projectPermissionsContext = projectPermissionsContext;
9
- exports.teamContext = teamContext;
3
+ const hasAny = (seed, ...items) => {
4
+ if (!seed) return false;
5
+ if (items.length === 0) return false;
6
+ const seedArray = Array.isArray(seed) ? seed : [seed];
7
+ if (seedArray.length === 0) return false;
8
+ return items.some((item) => seedArray.includes(item));
9
+ };
10
+ exports.hasAny = hasAny;
10
11
  //# sourceMappingURL=harmony126.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.cjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":["createContext"],"mappings":";;;AASa,MAAA,qBAAqBA,oBAAyC,MAAS;AAEvE,MAAA,cAAcA,oBAAoC,MAAS;AAM3D,MAAA,4BAA4BA,MAA6C,cAAA,CAAE,CAAA;;;;"}
1
+ {"version":3,"file":"harmony126.cjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;;"}
@@ -1,10 +1,11 @@
1
- import { createContext } from "react";
2
- const featureFlagContext = createContext(void 0);
3
- const teamContext = createContext(void 0);
4
- const projectPermissionsContext = createContext({});
1
+ const hasAny = (seed, ...items) => {
2
+ if (!seed) return false;
3
+ if (items.length === 0) return false;
4
+ const seedArray = Array.isArray(seed) ? seed : [seed];
5
+ if (seedArray.length === 0) return false;
6
+ return items.some((item) => seedArray.includes(item));
7
+ };
5
8
  export {
6
- featureFlagContext,
7
- projectPermissionsContext,
8
- teamContext
9
+ hasAny
9
10
  };
10
11
  //# sourceMappingURL=harmony126.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.mjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":[],"mappings":";AASa,MAAA,qBAAqB,cAAyC,MAAS;AAEvE,MAAA,cAAc,cAAoC,MAAS;AAM3D,MAAA,4BAA4B,cAA6C,CAAE,CAAA;"}
1
+ {"version":3,"file":"harmony126.mjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;"}
@@ -1,20 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ActionsContext = require("./harmony126.cjs");
4
- const React = require("react");
5
- const useActionResolverPayload = () => {
6
- const teamRole = React.useContext(ActionsContext.teamContext);
7
- const enabledFeatureFlags = React.useContext(ActionsContext.featureFlagContext);
8
- const { permissions: projectPermissions, projectType } = React.useContext(ActionsContext.projectPermissionsContext);
9
- return React.useMemo(
10
- () => ({
11
- enabledFeatureFlags,
12
- teamRole,
13
- projectPermissions,
14
- projectType
15
- }),
16
- [enabledFeatureFlags, teamRole, projectPermissions, projectType]
17
- );
3
+ const has = (seed, ...items) => {
4
+ if (!seed) return false;
5
+ if (items.length === 0) return false;
6
+ const seedArray = Array.isArray(seed) ? seed : [seed];
7
+ if (seedArray.length === 0) return false;
8
+ return items.every((item) => seedArray.includes(item));
18
9
  };
19
- exports.useActionResolverPayload = useActionResolverPayload;
10
+ exports.has = has;
20
11
  //# sourceMappingURL=harmony127.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.cjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":["useContext","teamContext","featureFlagContext","projectPermissionsContext","useMemo"],"mappings":";;;;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAWA,iBAAWC,0BAAW;AACjC,QAAA,sBAAsBD,iBAAWE,iCAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAIF,MAAAA,WAAWG,eAAAA,yBAAyB;AAEtF,SAAAC,MAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;;"}
1
+ {"version":3,"file":"harmony127.cjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;;"}
@@ -1,20 +1,11 @@
1
- import { teamContext, featureFlagContext, projectPermissionsContext } from "./harmony126.mjs";
2
- import { useContext, useMemo } from "react";
3
- const useActionResolverPayload = () => {
4
- const teamRole = useContext(teamContext);
5
- const enabledFeatureFlags = useContext(featureFlagContext);
6
- const { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext);
7
- return useMemo(
8
- () => ({
9
- enabledFeatureFlags,
10
- teamRole,
11
- projectPermissions,
12
- projectType
13
- }),
14
- [enabledFeatureFlags, teamRole, projectPermissions, projectType]
15
- );
1
+ const has = (seed, ...items) => {
2
+ if (!seed) return false;
3
+ if (items.length === 0) return false;
4
+ const seedArray = Array.isArray(seed) ? seed : [seed];
5
+ if (seedArray.length === 0) return false;
6
+ return items.every((item) => seedArray.includes(item));
16
7
  };
17
8
  export {
18
- useActionResolverPayload
9
+ has
19
10
  };
20
11
  //# sourceMappingURL=harmony127.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.mjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":[],"mappings":";;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAW,WAAW,WAAW;AACjC,QAAA,sBAAsB,WAAW,kBAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAI,WAAW,yBAAyB;AAEtF,SAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;"}
1
+ {"version":3,"file":"harmony127.mjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;"}
@@ -1,11 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const hasAny = (seed, ...items) => {
4
- if (!seed) return false;
5
- if (items.length === 0) return false;
6
- const seedArray = Array.isArray(seed) ? seed : [seed];
7
- if (seedArray.length === 0) return false;
8
- return items.some((item) => seedArray.includes(item));
3
+ const accessMarketingProjects = require("./harmony149.cjs");
4
+ const deleteProjects = require("./harmony150.cjs");
5
+ const manageContributors = require("./harmony151.cjs");
6
+ const canDownloadFiles = require("./harmony152.cjs");
7
+ const canUploadFiles = require("./harmony153.cjs");
8
+ const createProjects = require("./harmony154.cjs");
9
+ const actionResolvers = {
10
+ accessMarketingProjects: accessMarketingProjects.accessMarketingProjects,
11
+ canDownloadFiles: canDownloadFiles.canDownloadFiles,
12
+ canUploadFiles: canUploadFiles.canUploadFiles,
13
+ createProjects: createProjects.createProjects,
14
+ deleteProjects: deleteProjects.deleteProjects,
15
+ manageContributors: manageContributors.manageContributors
9
16
  };
10
- exports.hasAny = hasAny;
17
+ exports.actionResolvers = actionResolvers;
11
18
  //# sourceMappingURL=harmony128.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.cjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;;"}
1
+ {"version":3,"file":"harmony128.cjs","sources":["../src/features/permissions/action.ts"],"sourcesContent":["import { accessMarketingProjects } from '@features/permissions/action-resolvers/accessMarketingProjects'\nimport { deleteProjects } from '@features/permissions/action-resolvers/deleteProjects'\nimport { manageContributors } from '@features/permissions/action-resolvers/manageContributors'\nimport { canDownloadFiles } from './action-resolvers/canDownloadFiles'\nimport { canUploadFiles } from './action-resolvers/canUploadFiles'\nimport { createProjects } from './action-resolvers/createProjects'\nimport type { ActionResolver } from './types'\n\nexport const actionResolvers = {\n\taccessMarketingProjects,\n\tcanDownloadFiles,\n\tcanUploadFiles,\n\tcreateProjects,\n\tdeleteProjects,\n\tmanageContributors,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":["accessMarketingProjects","canDownloadFiles","canUploadFiles","createProjects","deleteProjects","manageContributors"],"mappings":";;;;;;;;AAQO,MAAM,kBAAkB;AAAA,EAAA,yBAC9BA,wBAAA;AAAA,EAAA,kBACAC,iBAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EACAC,oBAAAA,mBAAAA;AACD;;"}
@@ -1,11 +1,18 @@
1
- const hasAny = (seed, ...items) => {
2
- if (!seed) return false;
3
- if (items.length === 0) return false;
4
- const seedArray = Array.isArray(seed) ? seed : [seed];
5
- if (seedArray.length === 0) return false;
6
- return items.some((item) => seedArray.includes(item));
1
+ import { accessMarketingProjects } from "./harmony149.mjs";
2
+ import { deleteProjects } from "./harmony150.mjs";
3
+ import { manageContributors } from "./harmony151.mjs";
4
+ import { canDownloadFiles } from "./harmony152.mjs";
5
+ import { canUploadFiles } from "./harmony153.mjs";
6
+ import { createProjects } from "./harmony154.mjs";
7
+ const actionResolvers = {
8
+ accessMarketingProjects,
9
+ canDownloadFiles,
10
+ canUploadFiles,
11
+ createProjects,
12
+ deleteProjects,
13
+ manageContributors
7
14
  };
8
15
  export {
9
- hasAny
16
+ actionResolvers
10
17
  };
11
18
  //# sourceMappingURL=harmony128.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.mjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;"}
1
+ {"version":3,"file":"harmony128.mjs","sources":["../src/features/permissions/action.ts"],"sourcesContent":["import { accessMarketingProjects } from '@features/permissions/action-resolvers/accessMarketingProjects'\nimport { deleteProjects } from '@features/permissions/action-resolvers/deleteProjects'\nimport { manageContributors } from '@features/permissions/action-resolvers/manageContributors'\nimport { canDownloadFiles } from './action-resolvers/canDownloadFiles'\nimport { canUploadFiles } from './action-resolvers/canUploadFiles'\nimport { createProjects } from './action-resolvers/createProjects'\nimport type { ActionResolver } from './types'\n\nexport const actionResolvers = {\n\taccessMarketingProjects,\n\tcanDownloadFiles,\n\tcanUploadFiles,\n\tcreateProjects,\n\tdeleteProjects,\n\tmanageContributors,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
@@ -1,11 +1,90 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = (seed, ...items) => {
4
- if (!seed) return false;
5
- if (items.length === 0) return false;
6
- const seedArray = Array.isArray(seed) ? seed : [seed];
7
- if (seedArray.length === 0) return false;
8
- return items.every((item) => seedArray.includes(item));
3
+ const permissions = require("./harmony148.cjs");
4
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
5
+ var _a, _b;
6
+ return {
7
+ upload: {
8
+ visible: permissions.hasAdminRight(adminRights, "upload"),
9
+ disabled: false
10
+ },
11
+ download: {
12
+ visible: permissions.hasAdminRight(adminRights, "download"),
13
+ disabled: false
14
+ },
15
+ // TODO: HOME-1009, Clean up after permission management
16
+ // -- There is a plan for "Install apps" permission. Right..?
17
+ apps: {
18
+ visible: true,
19
+ disabled: false
20
+ },
21
+ // TODO: HOME-1009, Clean up after permission management
22
+ // -- There is a plan for "Install apps" permission. Right..?
23
+ contentManagement: {
24
+ visible: project.project_type === "content_integration" && permissions.hasAdminRight(adminRights, "keys"),
25
+ disabled: false
26
+ },
27
+ editor: {
28
+ visible: true,
29
+ disabled: false
30
+ },
31
+ files: {
32
+ visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && permissions.hasAnyAdminRight(adminRights, ["upload", "download"]),
33
+ disabled: false
34
+ },
35
+ tasks: {
36
+ visible: permissions.hasAdminRight(adminRights, "tasks"),
37
+ disabled: false
38
+ },
39
+ contributors: {
40
+ visible: permissions.hasAdminRight(adminRights, "contributors"),
41
+ disabled: false
42
+ },
43
+ workflows: {
44
+ visible: permissions.hasAdminRight(adminRights, "settings"),
45
+ disabled: false
46
+ },
47
+ screenshots: {
48
+ visible: permissions.hasAdminRight(adminRights, "screenshots"),
49
+ disabled: false
50
+ },
51
+ glossary: {
52
+ visible: permissions.hasAdminRight(adminRights, "glossary"),
53
+ disabled: false
54
+ },
55
+ more: {
56
+ visible: true,
57
+ disabled: false
58
+ },
59
+ settings: {
60
+ visible: permissions.hasAdminRight(adminRights, "settings"),
61
+ disabled: false
62
+ },
63
+ branches: {
64
+ visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && permissions.hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
65
+ disabled: false
66
+ },
67
+ otaBundles: {
68
+ visible: permissions.hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
69
+ disabled: false
70
+ },
71
+ automations: {
72
+ visible: permissions.hasAdminRight(adminRights, "settings"),
73
+ disabled: false
74
+ },
75
+ duplicateFinder: {
76
+ visible: permissions.hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
77
+ disabled: false
78
+ },
79
+ activity: {
80
+ visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || permissions.hasAdminRight(adminRights, "activity"),
81
+ disabled: false
82
+ },
83
+ statistics: {
84
+ visible: permissions.hasAdminRight(adminRights, "statistics"),
85
+ disabled: false
86
+ }
87
+ };
9
88
  };
10
- exports.has = has;
89
+ exports.getProjectNavigationVisibilityMap = getProjectNavigationVisibilityMap;
11
90
  //# sourceMappingURL=harmony129.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.cjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;;"}
1
+ {"version":3,"file":"harmony129.cjs","sources":["../src/features/navigation/utils/toolbarVisibility.ts"],"sourcesContent":["import { hasAdminRight, hasAnyAdminRight } from '@features/auth/utils/permissions'\nimport type { Project } from '@features/node'\n\ntype ToolbarVisibility = {\n\tdisabled: boolean\n\tvisible: boolean\n}\n\nexport type ToolbarVisibilityMap = {\n\tupload: ToolbarVisibility\n\tdownload: ToolbarVisibility\n\tapps: ToolbarVisibility\n\tcontentManagement: ToolbarVisibility\n\teditor: ToolbarVisibility\n\tfiles: ToolbarVisibility\n\ttasks: ToolbarVisibility\n\tworkflows: ToolbarVisibility\n\tcontributors: ToolbarVisibility\n\tscreenshots: ToolbarVisibility\n\tglossary: ToolbarVisibility\n\tmore: ToolbarVisibility\n\tsettings: ToolbarVisibility\n\tbranches: ToolbarVisibility\n\totaBundles: ToolbarVisibility\n\tautomations: ToolbarVisibility\n\tduplicateFinder: ToolbarVisibility\n\tactivity: ToolbarVisibility\n\tstatistics: ToolbarVisibility\n}\n\nexport const getProjectNavigationVisibilityMap = (\n\tproject: Project,\n\tadminRights: string[],\n\tisFeatureEnabled: (key: string) => boolean,\n): ToolbarVisibilityMap => ({\n\tupload: {\n\t\tvisible: hasAdminRight(adminRights, 'upload'),\n\t\tdisabled: false,\n\t},\n\tdownload: {\n\t\tvisible: hasAdminRight(adminRights, 'download'),\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tapps: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tcontentManagement: {\n\t\tvisible: project.project_type === 'content_integration' && hasAdminRight(adminRights, 'keys'),\n\t\tdisabled: false,\n\t},\n\teditor: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tfiles: {\n\t\tvisible:\n\t\t\tisFeatureEnabled('lionLfcFilesManagement') &&\n\t\t\tproject.project_type === 'paged_documents' &&\n\t\t\thasAnyAdminRight(adminRights, ['upload', 'download']),\n\t\tdisabled: false,\n\t},\n\ttasks: {\n\t\tvisible: hasAdminRight(adminRights, 'tasks'),\n\t\tdisabled: false,\n\t},\n\tcontributors: {\n\t\tvisible: hasAdminRight(adminRights, 'contributors'),\n\t\tdisabled: false,\n\t},\n\tworkflows: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tscreenshots: {\n\t\tvisible: hasAdminRight(adminRights, 'screenshots'),\n\t\tdisabled: false,\n\t},\n\tglossary: {\n\t\tvisible: hasAdminRight(adminRights, 'glossary'),\n\t\tdisabled: false,\n\t},\n\tmore: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tsettings: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tbranches: {\n\t\tvisible:\n\t\t\t!!project.settings?.branching &&\n\t\t\thasAnyAdminRight(adminRights, ['branches_create', 'create_branches', 'branches_merge']),\n\t\tdisabled: false,\n\t},\n\totaBundles: {\n\t\tvisible:\n\t\t\thasAnyAdminRight(adminRights, ['download', 'settings', 'keys']) &&\n\t\t\tproject.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tautomations: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tduplicateFinder: {\n\t\tvisible: hasAdminRight(adminRights, 'keys') && project.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tactivity: {\n\t\tvisible: !!project.settings?.offline_translation || hasAdminRight(adminRights, 'activity'),\n\t\tdisabled: false,\n\t},\n\tstatistics: {\n\t\tvisible: hasAdminRight(adminRights, 'statistics'),\n\t\tdisabled: false,\n\t},\n})\n"],"names":["hasAdminRight","hasAnyAdminRight"],"mappings":";;;AA8BO,MAAM,oCAAoC,CAChD,SACA,aACA,qBAC2B;;AAAA;AAAA,IAC3B,QAAQ;AAAA,MACP,SAASA,YAAAA,cAAc,aAAa,QAAQ;AAAA,MAC5C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,mBAAmB;AAAA,MAClB,SAAS,QAAQ,iBAAiB,yBAAyBA,YAAA,cAAc,aAAa,MAAM;AAAA,MAC5F,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SACC,iBAAiB,wBAAwB,KACzC,QAAQ,iBAAiB,qBACzBC,YAAAA,iBAAiB,aAAa,CAAC,UAAU,UAAU,CAAC;AAAA,MACrD,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SAASD,YAAAA,cAAc,aAAa,OAAO;AAAA,MAC3C,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,SAASA,YAAAA,cAAc,aAAa,cAAc;AAAA,MAClD,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAASA,YAAAA,cAAc,aAAa,aAAa;AAAA,MACjD,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SACC,CAAC,GAAC,aAAQ,aAAR,mBAAkB,cACpBC,6BAAiB,aAAa,CAAC,mBAAmB,mBAAmB,gBAAgB,CAAC;AAAA,MACvF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SACCA,YAAAA,iBAAiB,aAAa,CAAC,YAAY,YAAY,MAAM,CAAC,KAC9D,QAAQ,iBAAiB;AAAA,MAC1B,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAASD,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MAChB,SAASA,YAAc,cAAA,aAAa,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACxE,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,CAAC,GAAC,aAAQ,aAAR,mBAAkB,wBAAuBA,YAAA,cAAc,aAAa,UAAU;AAAA,MACzF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SAASA,YAAAA,cAAc,aAAa,YAAY;AAAA,MAChD,UAAU;AAAA,IAAA;AAAA,EAEZ;AAAA;;"}