@lokalise/harmony 4.7.0 → 4.7.2

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 (296) hide show
  1. package/dist/harmony105.cjs +1 -1
  2. package/dist/harmony105.mjs +1 -1
  3. package/dist/harmony107.cjs +2 -2
  4. package/dist/harmony107.mjs +2 -2
  5. package/dist/harmony109.cjs +2 -2
  6. package/dist/harmony109.mjs +2 -2
  7. package/dist/harmony113.cjs +1 -1
  8. package/dist/harmony113.mjs +1 -1
  9. package/dist/harmony114.cjs +7 -7
  10. package/dist/harmony114.mjs +7 -7
  11. package/dist/harmony117.cjs +2 -2
  12. package/dist/harmony117.mjs +2 -2
  13. package/dist/harmony118.cjs +13 -165
  14. package/dist/harmony118.cjs.map +1 -1
  15. package/dist/harmony118.mjs +13 -165
  16. package/dist/harmony118.mjs.map +1 -1
  17. package/dist/harmony119.cjs +158 -36
  18. package/dist/harmony119.cjs.map +1 -1
  19. package/dist/harmony119.mjs +159 -37
  20. package/dist/harmony119.mjs.map +1 -1
  21. package/dist/harmony120.cjs +42 -12
  22. package/dist/harmony120.cjs.map +1 -1
  23. package/dist/harmony120.mjs +42 -12
  24. package/dist/harmony120.mjs.map +1 -1
  25. package/dist/harmony121.cjs +3 -12
  26. package/dist/harmony121.cjs.map +1 -1
  27. package/dist/harmony121.mjs +3 -12
  28. package/dist/harmony121.mjs.map +1 -1
  29. package/dist/harmony122.cjs +18 -12
  30. package/dist/harmony122.cjs.map +1 -1
  31. package/dist/harmony122.mjs +17 -11
  32. package/dist/harmony122.mjs.map +1 -1
  33. package/dist/harmony123.cjs +74 -9
  34. package/dist/harmony123.cjs.map +1 -1
  35. package/dist/harmony123.mjs +76 -11
  36. package/dist/harmony123.mjs.map +1 -1
  37. package/dist/harmony124.cjs +12 -21
  38. package/dist/harmony124.cjs.map +1 -1
  39. package/dist/harmony124.mjs +11 -20
  40. package/dist/harmony124.mjs.map +1 -1
  41. package/dist/harmony125.cjs +34 -3
  42. package/dist/harmony125.cjs.map +1 -1
  43. package/dist/harmony125.mjs +34 -3
  44. package/dist/harmony125.mjs.map +1 -1
  45. package/dist/harmony126.cjs +8 -17
  46. package/dist/harmony126.cjs.map +1 -1
  47. package/dist/harmony126.mjs +8 -17
  48. package/dist/harmony126.mjs.map +1 -1
  49. package/dist/harmony127.cjs +36 -65
  50. package/dist/harmony127.cjs.map +1 -1
  51. package/dist/harmony127.mjs +37 -66
  52. package/dist/harmony127.mjs.map +1 -1
  53. package/dist/harmony128.cjs +9 -12
  54. package/dist/harmony128.cjs.map +1 -1
  55. package/dist/harmony128.mjs +8 -11
  56. package/dist/harmony128.mjs.map +1 -1
  57. package/dist/harmony129.cjs +12 -34
  58. package/dist/harmony129.cjs.map +1 -1
  59. package/dist/harmony129.mjs +12 -34
  60. package/dist/harmony129.mjs.map +1 -1
  61. package/dist/harmony130.cjs +13 -10
  62. package/dist/harmony130.cjs.map +1 -1
  63. package/dist/harmony130.mjs +12 -9
  64. package/dist/harmony130.mjs.map +1 -1
  65. package/dist/harmony131.cjs +9 -45
  66. package/dist/harmony131.cjs.map +1 -1
  67. package/dist/harmony131.mjs +11 -47
  68. package/dist/harmony131.mjs.map +1 -1
  69. package/dist/harmony132.cjs +20 -8
  70. package/dist/harmony132.cjs.map +1 -1
  71. package/dist/harmony132.mjs +20 -8
  72. package/dist/harmony132.mjs.map +1 -1
  73. package/dist/harmony133.cjs +99 -20
  74. package/dist/harmony133.cjs.map +1 -1
  75. package/dist/harmony133.mjs +82 -20
  76. package/dist/harmony133.mjs.map +1 -1
  77. package/dist/harmony134.cjs +86 -7
  78. package/dist/harmony134.cjs.map +1 -1
  79. package/dist/harmony134.mjs +86 -7
  80. package/dist/harmony134.mjs.map +1 -1
  81. package/dist/harmony135.cjs +30 -8
  82. package/dist/harmony135.cjs.map +1 -1
  83. package/dist/harmony135.mjs +30 -8
  84. package/dist/harmony135.mjs.map +1 -1
  85. package/dist/harmony136.cjs +49 -21
  86. package/dist/harmony136.cjs.map +1 -1
  87. package/dist/harmony136.mjs +49 -21
  88. package/dist/harmony136.mjs.map +1 -1
  89. package/dist/harmony137.cjs +7 -45
  90. package/dist/harmony137.cjs.map +1 -1
  91. package/dist/harmony137.mjs +8 -46
  92. package/dist/harmony137.mjs.map +1 -1
  93. package/dist/harmony138.cjs +8 -11
  94. package/dist/harmony138.cjs.map +1 -1
  95. package/dist/harmony138.mjs +8 -11
  96. package/dist/harmony138.mjs.map +1 -1
  97. package/dist/harmony139.cjs +7 -86
  98. package/dist/harmony139.cjs.map +1 -1
  99. package/dist/harmony139.mjs +7 -86
  100. package/dist/harmony139.mjs.map +1 -1
  101. package/dist/harmony140.cjs +21 -30
  102. package/dist/harmony140.cjs.map +1 -1
  103. package/dist/harmony140.mjs +21 -30
  104. package/dist/harmony140.mjs.map +1 -1
  105. package/dist/harmony141.cjs +20 -99
  106. package/dist/harmony141.cjs.map +1 -1
  107. package/dist/harmony141.mjs +20 -82
  108. package/dist/harmony141.mjs.map +1 -1
  109. package/dist/harmony143.cjs +2 -2
  110. package/dist/harmony143.mjs +2 -2
  111. package/dist/harmony144.cjs +2 -2
  112. package/dist/harmony144.mjs +2 -2
  113. package/dist/harmony145.cjs +3 -3
  114. package/dist/harmony145.mjs +3 -3
  115. package/dist/harmony146.cjs +1 -1
  116. package/dist/harmony146.mjs +1 -1
  117. package/dist/harmony147.cjs +3 -3
  118. package/dist/harmony147.mjs +3 -3
  119. package/dist/harmony148.cjs +2 -2
  120. package/dist/harmony148.mjs +2 -2
  121. package/dist/harmony149.cjs +2 -2
  122. package/dist/harmony149.mjs +2 -2
  123. package/dist/harmony150.cjs +2 -2
  124. package/dist/harmony150.mjs +2 -2
  125. package/dist/harmony151.cjs +2 -2
  126. package/dist/harmony151.mjs +2 -2
  127. package/dist/harmony152.cjs +3 -3
  128. package/dist/harmony152.mjs +3 -3
  129. package/dist/harmony154.cjs +1 -1
  130. package/dist/harmony154.mjs +1 -1
  131. package/dist/harmony157.cjs +6 -9
  132. package/dist/harmony157.cjs.map +1 -1
  133. package/dist/harmony157.mjs +5 -8
  134. package/dist/harmony157.mjs.map +1 -1
  135. package/dist/harmony158.cjs +6 -3
  136. package/dist/harmony158.cjs.map +1 -1
  137. package/dist/harmony158.mjs +5 -2
  138. package/dist/harmony158.mjs.map +1 -1
  139. package/dist/harmony159.cjs +10 -3
  140. package/dist/harmony159.cjs.map +1 -1
  141. package/dist/harmony159.mjs +10 -3
  142. package/dist/harmony159.mjs.map +1 -1
  143. package/dist/harmony160.cjs +8 -3
  144. package/dist/harmony160.cjs.map +1 -1
  145. package/dist/harmony160.mjs +8 -3
  146. package/dist/harmony160.mjs.map +1 -1
  147. package/dist/harmony161.cjs +2 -3
  148. package/dist/harmony161.cjs.map +1 -1
  149. package/dist/harmony161.mjs +2 -3
  150. package/dist/harmony161.mjs.map +1 -1
  151. package/dist/harmony162.cjs +3 -14
  152. package/dist/harmony162.cjs.map +1 -1
  153. package/dist/harmony162.mjs +3 -14
  154. package/dist/harmony162.mjs.map +1 -1
  155. package/dist/harmony163.cjs +3 -3
  156. package/dist/harmony163.cjs.map +1 -1
  157. package/dist/harmony163.mjs +3 -3
  158. package/dist/harmony163.mjs.map +1 -1
  159. package/dist/harmony164.cjs +3 -3
  160. package/dist/harmony164.cjs.map +1 -1
  161. package/dist/harmony164.mjs +3 -3
  162. package/dist/harmony164.mjs.map +1 -1
  163. package/dist/harmony165.cjs +7 -7
  164. package/dist/harmony165.cjs.map +1 -1
  165. package/dist/harmony165.mjs +7 -7
  166. package/dist/harmony165.mjs.map +1 -1
  167. package/dist/harmony166.cjs +4 -6
  168. package/dist/harmony166.cjs.map +1 -1
  169. package/dist/harmony166.mjs +3 -5
  170. package/dist/harmony166.mjs.map +1 -1
  171. package/dist/harmony167.cjs +4 -6
  172. package/dist/harmony167.cjs.map +1 -1
  173. package/dist/harmony167.mjs +3 -5
  174. package/dist/harmony167.mjs.map +1 -1
  175. package/dist/harmony168.cjs +14 -10
  176. package/dist/harmony168.cjs.map +1 -1
  177. package/dist/harmony168.mjs +14 -10
  178. package/dist/harmony168.mjs.map +1 -1
  179. package/dist/harmony169.cjs +97 -10
  180. package/dist/harmony169.cjs.map +1 -1
  181. package/dist/harmony169.mjs +96 -9
  182. package/dist/harmony169.mjs.map +1 -1
  183. package/dist/harmony170.cjs +14 -7
  184. package/dist/harmony170.cjs.map +1 -1
  185. package/dist/harmony170.mjs +13 -6
  186. package/dist/harmony170.mjs.map +1 -1
  187. package/dist/harmony171.cjs +15 -10
  188. package/dist/harmony171.cjs.map +1 -1
  189. package/dist/harmony171.mjs +14 -9
  190. package/dist/harmony171.mjs.map +1 -1
  191. package/dist/harmony172.cjs +37 -25
  192. package/dist/harmony172.cjs.map +1 -1
  193. package/dist/harmony172.mjs +36 -24
  194. package/dist/harmony172.mjs.map +1 -1
  195. package/dist/harmony173.cjs +29 -7
  196. package/dist/harmony173.cjs.map +1 -1
  197. package/dist/harmony173.mjs +28 -6
  198. package/dist/harmony173.mjs.map +1 -1
  199. package/dist/harmony174.cjs +6 -9
  200. package/dist/harmony174.cjs.map +1 -1
  201. package/dist/harmony174.mjs +6 -9
  202. package/dist/harmony174.mjs.map +1 -1
  203. package/dist/harmony175.cjs +3 -3
  204. package/dist/harmony175.mjs +3 -3
  205. package/dist/harmony176.cjs +10 -97
  206. package/dist/harmony176.cjs.map +1 -1
  207. package/dist/harmony176.mjs +9 -96
  208. package/dist/harmony176.mjs.map +1 -1
  209. package/dist/harmony177.cjs +25 -14
  210. package/dist/harmony177.cjs.map +1 -1
  211. package/dist/harmony177.mjs +24 -13
  212. package/dist/harmony177.mjs.map +1 -1
  213. package/dist/harmony178.cjs +7 -15
  214. package/dist/harmony178.cjs.map +1 -1
  215. package/dist/harmony178.mjs +6 -14
  216. package/dist/harmony178.mjs.map +1 -1
  217. package/dist/harmony179.cjs +13 -37
  218. package/dist/harmony179.cjs.map +1 -1
  219. package/dist/harmony179.mjs +12 -36
  220. package/dist/harmony179.mjs.map +1 -1
  221. package/dist/harmony18.cjs +1 -1
  222. package/dist/harmony18.mjs +1 -1
  223. package/dist/harmony180.cjs +7 -29
  224. package/dist/harmony180.cjs.map +1 -1
  225. package/dist/harmony180.mjs +6 -28
  226. package/dist/harmony180.mjs.map +1 -1
  227. package/dist/harmony181.cjs +13 -32
  228. package/dist/harmony181.cjs.map +1 -1
  229. package/dist/harmony181.mjs +13 -32
  230. package/dist/harmony181.mjs.map +1 -1
  231. package/dist/harmony182.cjs +14 -12
  232. package/dist/harmony182.cjs.map +1 -1
  233. package/dist/harmony182.mjs +14 -12
  234. package/dist/harmony182.mjs.map +1 -1
  235. package/dist/harmony183.cjs +14 -13
  236. package/dist/harmony183.cjs.map +1 -1
  237. package/dist/harmony183.mjs +14 -13
  238. package/dist/harmony183.mjs.map +1 -1
  239. package/dist/harmony184.cjs +31 -15
  240. package/dist/harmony184.cjs.map +1 -1
  241. package/dist/harmony184.mjs +31 -15
  242. package/dist/harmony184.mjs.map +1 -1
  243. package/dist/harmony185.cjs +11 -4
  244. package/dist/harmony185.cjs.map +1 -1
  245. package/dist/harmony185.mjs +11 -4
  246. package/dist/harmony185.mjs.map +1 -1
  247. package/dist/harmony186.cjs +15 -10
  248. package/dist/harmony186.cjs.map +1 -1
  249. package/dist/harmony186.mjs +15 -10
  250. package/dist/harmony186.mjs.map +1 -1
  251. package/dist/harmony187.cjs +18 -13
  252. package/dist/harmony187.cjs.map +1 -1
  253. package/dist/harmony187.mjs +18 -13
  254. package/dist/harmony187.mjs.map +1 -1
  255. package/dist/harmony188.cjs +10 -19
  256. package/dist/harmony188.cjs.map +1 -1
  257. package/dist/harmony188.mjs +10 -19
  258. package/dist/harmony188.mjs.map +1 -1
  259. package/dist/harmony189.cjs +4 -12
  260. package/dist/harmony189.cjs.map +1 -1
  261. package/dist/harmony189.mjs +4 -12
  262. package/dist/harmony189.mjs.map +1 -1
  263. package/dist/harmony191.cjs +1 -1
  264. package/dist/harmony191.mjs +1 -1
  265. package/dist/harmony21.cjs +1 -1
  266. package/dist/harmony21.mjs +1 -1
  267. package/dist/harmony29.cjs +1 -1
  268. package/dist/harmony29.mjs +1 -1
  269. package/dist/harmony30.cjs +1 -1
  270. package/dist/harmony30.mjs +1 -1
  271. package/dist/harmony42.cjs +1 -1
  272. package/dist/harmony42.mjs +1 -1
  273. package/dist/harmony43.cjs +1 -1
  274. package/dist/harmony43.mjs +1 -1
  275. package/dist/harmony44.cjs +1 -1
  276. package/dist/harmony44.mjs +1 -1
  277. package/dist/harmony60.cjs +1 -1
  278. package/dist/harmony60.mjs +1 -1
  279. package/dist/harmony62.cjs +1 -1
  280. package/dist/harmony62.mjs +1 -1
  281. package/dist/harmony72.cjs +1 -1
  282. package/dist/harmony72.mjs +1 -1
  283. package/dist/harmony73.cjs +1 -1
  284. package/dist/harmony73.mjs +1 -1
  285. package/dist/harmony78.cjs +1 -1
  286. package/dist/harmony78.mjs +1 -1
  287. package/dist/harmony85.cjs +1 -1
  288. package/dist/harmony85.mjs +1 -1
  289. package/dist/harmony98.cjs +4 -2
  290. package/dist/harmony98.cjs.map +1 -1
  291. package/dist/harmony98.mjs +4 -2
  292. package/dist/harmony98.mjs.map +1 -1
  293. package/dist/types/src/features/navigation/fixtures/AppSidebar.fixtures.d.ts +2 -0
  294. package/dist/types/src/features/publicApi/team.d.ts +4 -0
  295. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +11 -1
  296. package/package.json +1 -1
@@ -1,11 +1,90 @@
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 permissions = require("./harmony159.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.hasAny = hasAny;
89
+ exports.getProjectNavigationVisibilityMap = getProjectNavigationVisibilityMap;
11
90
  //# sourceMappingURL=harmony134.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.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":"harmony134.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;;"}
@@ -1,11 +1,90 @@
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 { hasAdminRight, hasAnyAdminRight } from "./harmony159.mjs";
2
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
3
+ var _a, _b;
4
+ return {
5
+ upload: {
6
+ visible: hasAdminRight(adminRights, "upload"),
7
+ disabled: false
8
+ },
9
+ download: {
10
+ visible: hasAdminRight(adminRights, "download"),
11
+ disabled: false
12
+ },
13
+ // TODO: HOME-1009, Clean up after permission management
14
+ // -- There is a plan for "Install apps" permission. Right..?
15
+ apps: {
16
+ visible: true,
17
+ disabled: false
18
+ },
19
+ // TODO: HOME-1009, Clean up after permission management
20
+ // -- There is a plan for "Install apps" permission. Right..?
21
+ contentManagement: {
22
+ visible: project.project_type === "content_integration" && hasAdminRight(adminRights, "keys"),
23
+ disabled: false
24
+ },
25
+ editor: {
26
+ visible: true,
27
+ disabled: false
28
+ },
29
+ files: {
30
+ visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && hasAnyAdminRight(adminRights, ["upload", "download"]),
31
+ disabled: false
32
+ },
33
+ tasks: {
34
+ visible: hasAdminRight(adminRights, "tasks"),
35
+ disabled: false
36
+ },
37
+ contributors: {
38
+ visible: hasAdminRight(adminRights, "contributors"),
39
+ disabled: false
40
+ },
41
+ workflows: {
42
+ visible: hasAdminRight(adminRights, "settings"),
43
+ disabled: false
44
+ },
45
+ screenshots: {
46
+ visible: hasAdminRight(adminRights, "screenshots"),
47
+ disabled: false
48
+ },
49
+ glossary: {
50
+ visible: hasAdminRight(adminRights, "glossary"),
51
+ disabled: false
52
+ },
53
+ more: {
54
+ visible: true,
55
+ disabled: false
56
+ },
57
+ settings: {
58
+ visible: hasAdminRight(adminRights, "settings"),
59
+ disabled: false
60
+ },
61
+ branches: {
62
+ visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
63
+ disabled: false
64
+ },
65
+ otaBundles: {
66
+ visible: hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
67
+ disabled: false
68
+ },
69
+ automations: {
70
+ visible: hasAdminRight(adminRights, "settings"),
71
+ disabled: false
72
+ },
73
+ duplicateFinder: {
74
+ visible: hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
75
+ disabled: false
76
+ },
77
+ activity: {
78
+ visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || hasAdminRight(adminRights, "activity"),
79
+ disabled: false
80
+ },
81
+ statistics: {
82
+ visible: hasAdminRight(adminRights, "statistics"),
83
+ disabled: false
84
+ }
85
+ };
7
86
  };
8
87
  export {
9
- hasAny
88
+ getProjectNavigationVisibilityMap
10
89
  };
11
90
  //# sourceMappingURL=harmony134.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.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":"harmony134.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,11 +1,33 @@
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));
9
- };
10
- exports.has = has;
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;
11
33
  //# sourceMappingURL=harmony135.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.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":"harmony135.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,11 +1,33 @@
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));
7
- };
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
+ ];
8
30
  export {
9
- has
31
+ navigationItems
10
32
  };
11
33
  //# sourceMappingURL=harmony135.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.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
+ {"version":3,"file":"harmony135.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,24 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const manageManagementPermissions = require("./harmony157.cjs");
4
- const accessExpertFeatures = require("./harmony158.cjs");
5
- const accessMarketingProjects = require("./harmony159.cjs");
6
- const createProjects = require("./harmony160.cjs");
7
- const deleteProjects = require("./harmony161.cjs");
8
- const downloadFiles = require("./harmony162.cjs");
9
- const manageContributors = require("./harmony163.cjs");
10
- const testNewProjectSetupFlow = require("./harmony164.cjs");
11
- const uploadFiles = require("./harmony165.cjs");
12
- const actionResolvers = {
13
- accessExpertFeatures: accessExpertFeatures.accessExpertFeatures,
14
- accessMarketingProjects: accessMarketingProjects.accessMarketingProjects,
15
- createProjects: createProjects.createProjects,
16
- deleteProjects: deleteProjects.deleteProjects,
17
- downloadFiles: downloadFiles.downloadFiles,
18
- manageContributors: manageContributors.manageContributors,
19
- manageManagementPermissions: manageManagementPermissions.manageManagementPermissions,
20
- testNewProjectSetupFlow: testNewProjectSetupFlow.testNewProjectSetupFlow,
21
- uploadFiles: uploadFiles.uploadFiles
22
- };
23
- exports.actionResolvers = actionResolvers;
3
+ const sharedTypes = require("./harmony97.cjs");
4
+ const apiContracts = require("@lokalise/api-contracts");
5
+ const aiConfigurationTypes = require("./harmony88.cjs");
6
+ const listAiConfigurations = apiContracts.buildGetRoute({
7
+ description: "Fetch list of AI configurations for a given team",
8
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
9
+ requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
10
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
11
+ successResponseBodySchema: aiConfigurationTypes.LIST_AI_CONFIGS_RESPONSE_SCHEMA
12
+ });
13
+ const createAiConfiguration = apiContracts.buildPayloadRoute({
14
+ description: "Create an AI configuration",
15
+ method: "post",
16
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
17
+ requestBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
18
+ requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
19
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
20
+ successResponseBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_RESPONSE_SCHEMA
21
+ });
22
+ const updateAiConfiguration = apiContracts.buildPayloadRoute({
23
+ description: "Update an AI configuration",
24
+ method: "put",
25
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
26
+ requestBodySchema: aiConfigurationTypes.UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,
27
+ requestPathParamsSchema: aiConfigurationTypes.UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,
28
+ pathResolver: ({ teamId, configurationId }) => `/teams/${teamId}/ai-configurations/${configurationId}`,
29
+ successResponseBodySchema: aiConfigurationTypes.UPDATE_AI_CONFIG_RESPONSE_SCHEMA
30
+ });
31
+ const listTeamLanguages = apiContracts.buildGetRoute({
32
+ description: "Fetch list of languages for a given team",
33
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
34
+ requestPathParamsSchema: aiConfigurationTypes.LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,
35
+ pathResolver: ({ teamId, base_language_id }) => base_language_id ? `/teams/${teamId}/languages?base_language_id=${base_language_id}` : `/teams/${teamId}/languages`,
36
+ successResponseBodySchema: aiConfigurationTypes.LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA
37
+ });
38
+ const assignAiConfigurationToProjects = apiContracts.buildPayloadRoute({
39
+ description: "Assign projects to an AI configuration",
40
+ method: "put",
41
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
42
+ requestBodySchema: aiConfigurationTypes.ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,
43
+ requestPathParamsSchema: aiConfigurationTypes.ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,
44
+ pathResolver: ({ teamId, configurationId }) => `/teams/${teamId}/ai-configurations/${configurationId}/configured-projects`,
45
+ successResponseBodySchema: aiConfigurationTypes.ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA
46
+ });
47
+ exports.assignAiConfigurationToProjects = assignAiConfigurationToProjects;
48
+ exports.createAiConfiguration = createAiConfiguration;
49
+ exports.listAiConfigurations = listAiConfigurations;
50
+ exports.listTeamLanguages = listTeamLanguages;
51
+ exports.updateAiConfiguration = updateAiConfiguration;
24
52
  //# sourceMappingURL=harmony136.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony136.cjs","sources":["../src/features/permissions/actionResolvers.ts"],"sourcesContent":["import { manageManagementPermissions } from '@features/permissions/actionResolvers/manageManagementPermissions'\nimport { accessExpertFeatures } from './actionResolvers/accessExpertFeatures'\nimport { accessMarketingProjects } from './actionResolvers/accessMarketingProjects'\nimport { createProjects } from './actionResolvers/createProjects'\nimport { deleteProjects } from './actionResolvers/deleteProjects'\nimport { downloadFiles } from './actionResolvers/downloadFiles'\nimport { manageContributors } from './actionResolvers/manageContributors'\nimport { testNewProjectSetupFlow } from './actionResolvers/testNewProjectSetupFlow'\nimport { uploadFiles } from './actionResolvers/uploadFiles'\nimport type { ActionResolver } from './types/actionResolver'\n\nexport const actionResolvers = {\n\taccessExpertFeatures,\n\taccessMarketingProjects,\n\tcreateProjects,\n\tdeleteProjects,\n\tdownloadFiles,\n\tmanageContributors,\n\tmanageManagementPermissions,\n\ttestNewProjectSetupFlow,\n\tuploadFiles,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":["accessExpertFeatures","accessMarketingProjects","createProjects","deleteProjects","downloadFiles","manageContributors","manageManagementPermissions","testNewProjectSetupFlow","uploadFiles"],"mappings":";;;;;;;;;;;AAWO,MAAM,kBAAkB;AAAA,EAAA,sBAC9BA,qBAAA;AAAA,EAAA,yBACAC,wBAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,eACAC,cAAA;AAAA,EAAA,oBACAC,mBAAA;AAAA,EAAA,6BACAC,4BAAA;AAAA,EAAA,yBACAC,wBAAA;AAAA,EACAC,aAAAA,YAAAA;AACD;;"}
1
+ {"version":3,"file":"harmony136.cjs","sources":["../src/features/publicApi/aiConfigurations.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { buildGetRoute, buildPayloadRoute } from '@lokalise/api-contracts'\nimport {\n\tAI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,\n\tASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,\n\tASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA,\n\tCREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\tCREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,\n\tLIST_TEAM_LANGUAGES_RESPONSE_SCHEMA,\n\tUPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,\n\tUPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,\n\tUPDATE_AI_CONFIG_RESPONSE_SCHEMA,\n} from './types/aiConfigurationTypes'\n\n/**\n * Public API router definition for getting the list of AI configurations for a given team\n */\nexport const listAiConfigurations = buildGetRoute({\n\tdescription: 'Fetch list of AI configurations for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for creating an AI configuration for a given team\n */\nexport const createAiConfiguration = buildPayloadRoute({\n\tdescription: 'Create an AI configuration',\n\tmethod: 'post',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for updating an AI configuration for a given team\n */\nexport const updateAiConfiguration = buildPayloadRoute({\n\tdescription: 'Update an AI configuration',\n\tmethod: 'put',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId, configurationId }) =>\n\t\t`/teams/${teamId}/ai-configurations/${configurationId}`,\n\tsuccessResponseBodySchema: UPDATE_AI_CONFIG_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for getting a list of languages for a given team\n */\nexport const listTeamLanguages = buildGetRoute({\n\tdescription: 'Fetch list of languages for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId, base_language_id }) =>\n\t\tbase_language_id\n\t\t\t? `/teams/${teamId}/languages?base_language_id=${base_language_id}`\n\t\t\t: `/teams/${teamId}/languages`,\n\tsuccessResponseBodySchema: LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for assigning projects to an AI configuration\n */\nexport const assignAiConfigurationToProjects = buildPayloadRoute({\n\tdescription: 'Assign projects to an AI configuration',\n\tmethod: 'put',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId, configurationId }) =>\n\t\t`/teams/${teamId}/ai-configurations/${configurationId}/configured-projects`,\n\tsuccessResponseBodySchema: ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA,\n})\n"],"names":["buildGetRoute","BASE_API_ENDPOINT_HEADER_SCHEMA","AI_CONFIGS_PATH_PARAMS_SCHEMA","LIST_AI_CONFIGS_RESPONSE_SCHEMA","buildPayloadRoute","CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA","CREATE_AI_CONFIGS_RESPONSE_SCHEMA","UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA","UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA","UPDATE_AI_CONFIG_RESPONSE_SCHEMA","LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA","LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA","ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA","ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA","ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA"],"mappings":";;;;;AAoBO,MAAM,uBAAuBA,aAAAA,cAAc;AAAA,EACjD,aAAa;AAAA,EACb,qBAAqBC,YAAA;AAAA,EACrB,yBAAyBC,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2BC,qBAAAA;AAC5B,CAAC;AAKM,MAAM,wBAAwBC,aAAAA,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqBH,YAAA;AAAA,EACrB,mBAAmBI,qBAAA;AAAA,EACnB,yBAAyBH,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2BI,qBAAAA;AAC5B,CAAC;AAKM,MAAM,wBAAwBF,aAAAA,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqBH,YAAA;AAAA,EACrB,mBAAmBM,qBAAA;AAAA,EACnB,yBAAyBC,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,QAAQ,gBACxB,MAAA,UAAU,MAAM,sBAAsB,eAAe;AAAA,EACtD,2BAA2BC,qBAAAA;AAC5B,CAAC;AAKM,MAAM,oBAAoBT,aAAAA,cAAc;AAAA,EAC9C,aAAa;AAAA,EACb,qBAAqBC,YAAA;AAAA,EACrB,yBAAyBS,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,QAAQ,iBAAiB,MACzC,mBACG,UAAU,MAAM,+BAA+B,gBAAgB,KAC/D,UAAU,MAAM;AAAA,EACpB,2BAA2BC,qBAAAA;AAC5B,CAAC;AAKM,MAAM,kCAAkCP,aAAAA,kBAAkB;AAAA,EAChE,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqBH,YAAA;AAAA,EACrB,mBAAmBW,qBAAA;AAAA,EACnB,yBAAyBC,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,QAAQ,gBACxB,MAAA,UAAU,MAAM,sBAAsB,eAAe;AAAA,EACtD,2BAA2BC,qBAAAA;AAC5B,CAAC;;;;;;"}
@@ -1,24 +1,52 @@
1
- import { manageManagementPermissions } from "./harmony157.mjs";
2
- import { accessExpertFeatures } from "./harmony158.mjs";
3
- import { accessMarketingProjects } from "./harmony159.mjs";
4
- import { createProjects } from "./harmony160.mjs";
5
- import { deleteProjects } from "./harmony161.mjs";
6
- import { downloadFiles } from "./harmony162.mjs";
7
- import { manageContributors } from "./harmony163.mjs";
8
- import { testNewProjectSetupFlow } from "./harmony164.mjs";
9
- import { uploadFiles } from "./harmony165.mjs";
10
- const actionResolvers = {
11
- accessExpertFeatures,
12
- accessMarketingProjects,
13
- createProjects,
14
- deleteProjects,
15
- downloadFiles,
16
- manageContributors,
17
- manageManagementPermissions,
18
- testNewProjectSetupFlow,
19
- uploadFiles
20
- };
1
+ import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony97.mjs";
2
+ import { buildPayloadRoute, buildGetRoute } from "@lokalise/api-contracts";
3
+ import { ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA, ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA, ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA, CREATE_AI_CONFIGS_RESPONSE_SCHEMA, AI_CONFIGS_PATH_PARAMS_SCHEMA, CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA, LIST_AI_CONFIGS_RESPONSE_SCHEMA, LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA, LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA, UPDATE_AI_CONFIG_RESPONSE_SCHEMA, UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA, UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA } from "./harmony88.mjs";
4
+ const listAiConfigurations = buildGetRoute({
5
+ description: "Fetch list of AI configurations for a given team",
6
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
7
+ requestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,
8
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
9
+ successResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA
10
+ });
11
+ const createAiConfiguration = buildPayloadRoute({
12
+ description: "Create an AI configuration",
13
+ method: "post",
14
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
15
+ requestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
16
+ requestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,
17
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
18
+ successResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA
19
+ });
20
+ const updateAiConfiguration = buildPayloadRoute({
21
+ description: "Update an AI configuration",
22
+ method: "put",
23
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
24
+ requestBodySchema: UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,
25
+ requestPathParamsSchema: UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,
26
+ pathResolver: ({ teamId, configurationId }) => `/teams/${teamId}/ai-configurations/${configurationId}`,
27
+ successResponseBodySchema: UPDATE_AI_CONFIG_RESPONSE_SCHEMA
28
+ });
29
+ const listTeamLanguages = buildGetRoute({
30
+ description: "Fetch list of languages for a given team",
31
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
32
+ requestPathParamsSchema: LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,
33
+ pathResolver: ({ teamId, base_language_id }) => base_language_id ? `/teams/${teamId}/languages?base_language_id=${base_language_id}` : `/teams/${teamId}/languages`,
34
+ successResponseBodySchema: LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA
35
+ });
36
+ const assignAiConfigurationToProjects = buildPayloadRoute({
37
+ description: "Assign projects to an AI configuration",
38
+ method: "put",
39
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
40
+ requestBodySchema: ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,
41
+ requestPathParamsSchema: ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,
42
+ pathResolver: ({ teamId, configurationId }) => `/teams/${teamId}/ai-configurations/${configurationId}/configured-projects`,
43
+ successResponseBodySchema: ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA
44
+ });
21
45
  export {
22
- actionResolvers
46
+ assignAiConfigurationToProjects,
47
+ createAiConfiguration,
48
+ listAiConfigurations,
49
+ listTeamLanguages,
50
+ updateAiConfiguration
23
51
  };
24
52
  //# sourceMappingURL=harmony136.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony136.mjs","sources":["../src/features/permissions/actionResolvers.ts"],"sourcesContent":["import { manageManagementPermissions } from '@features/permissions/actionResolvers/manageManagementPermissions'\nimport { accessExpertFeatures } from './actionResolvers/accessExpertFeatures'\nimport { accessMarketingProjects } from './actionResolvers/accessMarketingProjects'\nimport { createProjects } from './actionResolvers/createProjects'\nimport { deleteProjects } from './actionResolvers/deleteProjects'\nimport { downloadFiles } from './actionResolvers/downloadFiles'\nimport { manageContributors } from './actionResolvers/manageContributors'\nimport { testNewProjectSetupFlow } from './actionResolvers/testNewProjectSetupFlow'\nimport { uploadFiles } from './actionResolvers/uploadFiles'\nimport type { ActionResolver } from './types/actionResolver'\n\nexport const actionResolvers = {\n\taccessExpertFeatures,\n\taccessMarketingProjects,\n\tcreateProjects,\n\tdeleteProjects,\n\tdownloadFiles,\n\tmanageContributors,\n\tmanageManagementPermissions,\n\ttestNewProjectSetupFlow,\n\tuploadFiles,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":[],"mappings":";;;;;;;;;AAWO,MAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
1
+ {"version":3,"file":"harmony136.mjs","sources":["../src/features/publicApi/aiConfigurations.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { buildGetRoute, buildPayloadRoute } from '@lokalise/api-contracts'\nimport {\n\tAI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,\n\tASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,\n\tASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA,\n\tCREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\tCREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,\n\tLIST_TEAM_LANGUAGES_RESPONSE_SCHEMA,\n\tUPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,\n\tUPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,\n\tUPDATE_AI_CONFIG_RESPONSE_SCHEMA,\n} from './types/aiConfigurationTypes'\n\n/**\n * Public API router definition for getting the list of AI configurations for a given team\n */\nexport const listAiConfigurations = buildGetRoute({\n\tdescription: 'Fetch list of AI configurations for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for creating an AI configuration for a given team\n */\nexport const createAiConfiguration = buildPayloadRoute({\n\tdescription: 'Create an AI configuration',\n\tmethod: 'post',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for updating an AI configuration for a given team\n */\nexport const updateAiConfiguration = buildPayloadRoute({\n\tdescription: 'Update an AI configuration',\n\tmethod: 'put',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId, configurationId }) =>\n\t\t`/teams/${teamId}/ai-configurations/${configurationId}`,\n\tsuccessResponseBodySchema: UPDATE_AI_CONFIG_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for getting a list of languages for a given team\n */\nexport const listTeamLanguages = buildGetRoute({\n\tdescription: 'Fetch list of languages for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId, base_language_id }) =>\n\t\tbase_language_id\n\t\t\t? `/teams/${teamId}/languages?base_language_id=${base_language_id}`\n\t\t\t: `/teams/${teamId}/languages`,\n\tsuccessResponseBodySchema: LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for assigning projects to an AI configuration\n */\nexport const assignAiConfigurationToProjects = buildPayloadRoute({\n\tdescription: 'Assign projects to an AI configuration',\n\tmethod: 'put',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId, configurationId }) =>\n\t\t`/teams/${teamId}/ai-configurations/${configurationId}/configured-projects`,\n\tsuccessResponseBodySchema: ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA,\n})\n"],"names":[],"mappings":";;;AAoBO,MAAM,uBAAuB,cAAc;AAAA,EACjD,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2B;AAC5B,CAAC;AAKM,MAAM,wBAAwB,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2B;AAC5B,CAAC;AAKM,MAAM,wBAAwB,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,QAAQ,gBACxB,MAAA,UAAU,MAAM,sBAAsB,eAAe;AAAA,EACtD,2BAA2B;AAC5B,CAAC;AAKM,MAAM,oBAAoB,cAAc;AAAA,EAC9C,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,QAAQ,iBAAiB,MACzC,mBACG,UAAU,MAAM,+BAA+B,gBAAgB,KAC/D,UAAU,MAAM;AAAA,EACpB,2BAA2B;AAC5B,CAAC;AAKM,MAAM,kCAAkC,kBAAkB;AAAA,EAChE,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,QAAQ,gBACxB,MAAA,UAAU,MAAM,sBAAsB,eAAe;AAAA,EACtD,2BAA2B;AAC5B,CAAC;"}
@@ -2,51 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const sharedTypes = require("./harmony97.cjs");
4
4
  const apiContracts = require("@lokalise/api-contracts");
5
- const aiConfigurationTypes = require("./harmony88.cjs");
6
- const listAiConfigurations = apiContracts.buildGetRoute({
7
- description: "Fetch list of AI configurations for a given team",
5
+ const collaborationTypes = require("./harmony89.cjs");
6
+ const listCollaboratorProjects = apiContracts.buildGetRoute({
7
+ description: "Fetch minimal project information for the given team",
8
8
  requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
9
- requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
10
- pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
11
- successResponseBodySchema: aiConfigurationTypes.LIST_AI_CONFIGS_RESPONSE_SCHEMA
9
+ requestPathParamsSchema: collaborationTypes.LIST_COLLABORATION_PROJECTS_PATH_PARAMS_SCHEMA,
10
+ pathResolver: ({ teamId }) => `/collaboration/teams/${teamId}/projects`,
11
+ successResponseBodySchema: collaborationTypes.LIST_COLLABORATION_PROJECTS_RESPONSE_SCHEMA
12
12
  });
13
- const createAiConfiguration = apiContracts.buildPayloadRoute({
14
- description: "Create an AI configuration",
15
- method: "post",
16
- requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
17
- requestBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
18
- requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
19
- pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
20
- successResponseBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_RESPONSE_SCHEMA
21
- });
22
- const updateAiConfiguration = apiContracts.buildPayloadRoute({
23
- description: "Update an AI configuration",
24
- method: "put",
25
- requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
26
- requestBodySchema: aiConfigurationTypes.UPDATE_AI_CONFIG_REQUEST_BODY_SCHEMA,
27
- requestPathParamsSchema: aiConfigurationTypes.UPDATE_AI_CONFIG_PATH_PARAMS_SCHEMA,
28
- pathResolver: ({ teamId, configurationId }) => `/teams/${teamId}/ai-configurations/${configurationId}`,
29
- successResponseBodySchema: aiConfigurationTypes.UPDATE_AI_CONFIG_RESPONSE_SCHEMA
30
- });
31
- const listTeamLanguages = apiContracts.buildGetRoute({
32
- description: "Fetch list of languages for a given team",
33
- requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
34
- requestPathParamsSchema: aiConfigurationTypes.LIST_TEAM_LANGUAGES_PATH_PARAMS_SCHEMA,
35
- pathResolver: ({ teamId, base_language_id }) => base_language_id ? `/teams/${teamId}/languages?base_language_id=${base_language_id}` : `/teams/${teamId}/languages`,
36
- successResponseBodySchema: aiConfigurationTypes.LIST_TEAM_LANGUAGES_RESPONSE_SCHEMA
37
- });
38
- const assignAiConfigurationToProjects = apiContracts.buildPayloadRoute({
39
- description: "Assign projects to an AI configuration",
40
- method: "put",
41
- requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
42
- requestBodySchema: aiConfigurationTypes.ASSIGN_AI_CONFIG_TO_PROJECTS_REQUEST_BODY_SCHEMA,
43
- requestPathParamsSchema: aiConfigurationTypes.ASSIGN_AI_CONFIG_TO_PROJECTS_PATH_PARAMS_SCHEMA,
44
- pathResolver: ({ teamId, configurationId }) => `/teams/${teamId}/ai-configurations/${configurationId}/configured-projects`,
45
- successResponseBodySchema: aiConfigurationTypes.ASSIGN_AI_CONFIG_TO_PROJECTS_RESPONSE_SCHEMA
46
- });
47
- exports.assignAiConfigurationToProjects = assignAiConfigurationToProjects;
48
- exports.createAiConfiguration = createAiConfiguration;
49
- exports.listAiConfigurations = listAiConfigurations;
50
- exports.listTeamLanguages = listTeamLanguages;
51
- exports.updateAiConfiguration = updateAiConfiguration;
13
+ exports.listCollaboratorProjects = listCollaboratorProjects;
52
14
  //# sourceMappingURL=harmony137.cjs.map