@lokalise/harmony 4.7.2 → 4.7.3

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 (418) hide show
  1. package/README.md +8 -0
  2. package/dist/harmony.cjs +159 -159
  3. package/dist/harmony.mjs +89 -89
  4. package/dist/harmony100.cjs +10 -17
  5. package/dist/harmony100.cjs.map +1 -1
  6. package/dist/harmony100.mjs +10 -17
  7. package/dist/harmony100.mjs.map +1 -1
  8. package/dist/harmony110.cjs +4 -4
  9. package/dist/harmony110.mjs +4 -4
  10. package/dist/harmony118.cjs +1 -1
  11. package/dist/harmony118.mjs +1 -1
  12. package/dist/harmony119.cjs +1 -1
  13. package/dist/harmony119.mjs +1 -1
  14. package/dist/harmony12.cjs +55 -30
  15. package/dist/harmony12.cjs.map +1 -1
  16. package/dist/harmony12.mjs +55 -30
  17. package/dist/harmony12.mjs.map +1 -1
  18. package/dist/harmony120.cjs +1 -1
  19. package/dist/harmony120.mjs +1 -1
  20. package/dist/harmony125.cjs +1 -1
  21. package/dist/harmony125.mjs +1 -1
  22. package/dist/harmony13.cjs +30 -22
  23. package/dist/harmony13.cjs.map +1 -1
  24. package/dist/harmony13.mjs +30 -22
  25. package/dist/harmony13.mjs.map +1 -1
  26. package/dist/harmony136.cjs +2 -2
  27. package/dist/harmony136.mjs +2 -2
  28. package/dist/harmony137.cjs +2 -2
  29. package/dist/harmony137.mjs +2 -2
  30. package/dist/harmony138.cjs +20 -8
  31. package/dist/harmony138.cjs.map +1 -1
  32. package/dist/harmony138.mjs +20 -8
  33. package/dist/harmony138.mjs.map +1 -1
  34. package/dist/harmony139.cjs +3 -3
  35. package/dist/harmony139.cjs.map +1 -1
  36. package/dist/harmony139.mjs +3 -3
  37. package/dist/harmony139.mjs.map +1 -1
  38. package/dist/harmony14.cjs +11 -52
  39. package/dist/harmony14.cjs.map +1 -1
  40. package/dist/harmony14.mjs +11 -52
  41. package/dist/harmony14.mjs.map +1 -1
  42. package/dist/harmony140.cjs +7 -20
  43. package/dist/harmony140.cjs.map +1 -1
  44. package/dist/harmony140.mjs +7 -20
  45. package/dist/harmony140.mjs.map +1 -1
  46. package/dist/harmony141.cjs +21 -20
  47. package/dist/harmony141.cjs.map +1 -1
  48. package/dist/harmony141.mjs +21 -20
  49. package/dist/harmony141.mjs.map +1 -1
  50. package/dist/harmony149.cjs +1 -1
  51. package/dist/harmony149.mjs +1 -1
  52. package/dist/harmony15.cjs +55 -9
  53. package/dist/harmony15.cjs.map +1 -1
  54. package/dist/harmony15.mjs +55 -9
  55. package/dist/harmony15.mjs.map +1 -1
  56. package/dist/harmony152.cjs +1 -1
  57. package/dist/harmony152.mjs +1 -1
  58. package/dist/harmony16.cjs +30 -5
  59. package/dist/harmony16.cjs.map +1 -1
  60. package/dist/harmony16.mjs +30 -5
  61. package/dist/harmony16.mjs.map +1 -1
  62. package/dist/harmony160.cjs +2 -2
  63. package/dist/harmony160.mjs +2 -2
  64. package/dist/harmony162.cjs +1 -1
  65. package/dist/harmony162.mjs +1 -1
  66. package/dist/harmony163.cjs +1 -1
  67. package/dist/harmony163.mjs +1 -1
  68. package/dist/harmony164.cjs +1 -1
  69. package/dist/harmony164.mjs +1 -1
  70. package/dist/harmony165.cjs +2 -2
  71. package/dist/harmony165.mjs +2 -2
  72. package/dist/harmony166.cjs +1 -1
  73. package/dist/harmony166.mjs +1 -1
  74. package/dist/harmony167.cjs +1 -1
  75. package/dist/harmony167.mjs +1 -1
  76. package/dist/harmony168.cjs +2 -2
  77. package/dist/harmony168.mjs +2 -2
  78. package/dist/harmony17.cjs +18 -15
  79. package/dist/harmony17.cjs.map +1 -1
  80. package/dist/harmony17.mjs +18 -15
  81. package/dist/harmony17.mjs.map +1 -1
  82. package/dist/harmony18.cjs +28 -32
  83. package/dist/harmony18.cjs.map +1 -1
  84. package/dist/harmony18.mjs +28 -32
  85. package/dist/harmony18.mjs.map +1 -1
  86. package/dist/harmony19.cjs +14 -5
  87. package/dist/harmony19.cjs.map +1 -1
  88. package/dist/harmony19.mjs +14 -5
  89. package/dist/harmony19.mjs.map +1 -1
  90. package/dist/harmony20.cjs +13 -10
  91. package/dist/harmony20.cjs.map +1 -1
  92. package/dist/harmony20.mjs +13 -10
  93. package/dist/harmony20.mjs.map +1 -1
  94. package/dist/harmony21.cjs +13 -10
  95. package/dist/harmony21.cjs.map +1 -1
  96. package/dist/harmony21.mjs +13 -10
  97. package/dist/harmony21.mjs.map +1 -1
  98. package/dist/harmony22.cjs +13 -17
  99. package/dist/harmony22.cjs.map +1 -1
  100. package/dist/harmony22.mjs +13 -17
  101. package/dist/harmony22.mjs.map +1 -1
  102. package/dist/harmony23.cjs +13 -15
  103. package/dist/harmony23.cjs.map +1 -1
  104. package/dist/harmony23.mjs +13 -15
  105. package/dist/harmony23.mjs.map +1 -1
  106. package/dist/harmony24.cjs +13 -141
  107. package/dist/harmony24.cjs.map +1 -1
  108. package/dist/harmony24.mjs +13 -141
  109. package/dist/harmony24.mjs.map +1 -1
  110. package/dist/harmony25.cjs +13 -19
  111. package/dist/harmony25.cjs.map +1 -1
  112. package/dist/harmony25.mjs +13 -19
  113. package/dist/harmony25.mjs.map +1 -1
  114. package/dist/harmony26.cjs +12 -13
  115. package/dist/harmony26.cjs.map +1 -1
  116. package/dist/harmony26.mjs +12 -13
  117. package/dist/harmony26.mjs.map +1 -1
  118. package/dist/harmony27.cjs +20 -15
  119. package/dist/harmony27.cjs.map +1 -1
  120. package/dist/harmony27.mjs +21 -16
  121. package/dist/harmony27.mjs.map +1 -1
  122. package/dist/harmony28.cjs +12 -17
  123. package/dist/harmony28.cjs.map +1 -1
  124. package/dist/harmony28.mjs +13 -18
  125. package/dist/harmony28.mjs.map +1 -1
  126. package/dist/harmony29.cjs +12 -19
  127. package/dist/harmony29.cjs.map +1 -1
  128. package/dist/harmony29.mjs +12 -19
  129. package/dist/harmony29.mjs.map +1 -1
  130. package/dist/harmony30.cjs +16 -19
  131. package/dist/harmony30.cjs.map +1 -1
  132. package/dist/harmony30.mjs +16 -19
  133. package/dist/harmony30.mjs.map +1 -1
  134. package/dist/harmony31.cjs +15 -8
  135. package/dist/harmony31.cjs.map +1 -1
  136. package/dist/harmony31.mjs +15 -8
  137. package/dist/harmony31.mjs.map +1 -1
  138. package/dist/harmony32.cjs +15 -11
  139. package/dist/harmony32.cjs.map +1 -1
  140. package/dist/harmony32.mjs +15 -11
  141. package/dist/harmony32.mjs.map +1 -1
  142. package/dist/harmony33.cjs +14 -13
  143. package/dist/harmony33.cjs.map +1 -1
  144. package/dist/harmony33.mjs +14 -13
  145. package/dist/harmony33.mjs.map +1 -1
  146. package/dist/harmony34.cjs +16 -13
  147. package/dist/harmony34.cjs.map +1 -1
  148. package/dist/harmony34.mjs +16 -13
  149. package/dist/harmony34.mjs.map +1 -1
  150. package/dist/harmony35.cjs +16 -13
  151. package/dist/harmony35.cjs.map +1 -1
  152. package/dist/harmony35.mjs +16 -13
  153. package/dist/harmony35.mjs.map +1 -1
  154. package/dist/harmony36.cjs +14 -13
  155. package/dist/harmony36.cjs.map +1 -1
  156. package/dist/harmony36.mjs +14 -13
  157. package/dist/harmony36.mjs.map +1 -1
  158. package/dist/harmony37.cjs +16 -13
  159. package/dist/harmony37.cjs.map +1 -1
  160. package/dist/harmony37.mjs +16 -13
  161. package/dist/harmony37.mjs.map +1 -1
  162. package/dist/harmony38.cjs +16 -7
  163. package/dist/harmony38.cjs.map +1 -1
  164. package/dist/harmony38.mjs +16 -7
  165. package/dist/harmony38.mjs.map +1 -1
  166. package/dist/harmony39.cjs +16 -7
  167. package/dist/harmony39.cjs.map +1 -1
  168. package/dist/harmony39.mjs +16 -7
  169. package/dist/harmony39.mjs.map +1 -1
  170. package/dist/harmony40.cjs +16 -7
  171. package/dist/harmony40.cjs.map +1 -1
  172. package/dist/harmony40.mjs +16 -7
  173. package/dist/harmony40.mjs.map +1 -1
  174. package/dist/harmony41.cjs +16 -7
  175. package/dist/harmony41.cjs.map +1 -1
  176. package/dist/harmony41.mjs +16 -7
  177. package/dist/harmony41.mjs.map +1 -1
  178. package/dist/harmony42.cjs +16 -8
  179. package/dist/harmony42.cjs.map +1 -1
  180. package/dist/harmony42.mjs +16 -8
  181. package/dist/harmony42.mjs.map +1 -1
  182. package/dist/harmony43.cjs +14 -8
  183. package/dist/harmony43.cjs.map +1 -1
  184. package/dist/harmony43.mjs +14 -8
  185. package/dist/harmony43.mjs.map +1 -1
  186. package/dist/harmony44.cjs +16 -16
  187. package/dist/harmony44.cjs.map +1 -1
  188. package/dist/harmony44.mjs +16 -16
  189. package/dist/harmony44.mjs.map +1 -1
  190. package/dist/harmony45.cjs +17 -6
  191. package/dist/harmony45.cjs.map +1 -1
  192. package/dist/harmony45.mjs +17 -6
  193. package/dist/harmony45.mjs.map +1 -1
  194. package/dist/harmony46.cjs +18 -5
  195. package/dist/harmony46.cjs.map +1 -1
  196. package/dist/harmony46.mjs +18 -5
  197. package/dist/harmony46.mjs.map +1 -1
  198. package/dist/harmony47.cjs +14 -40
  199. package/dist/harmony47.cjs.map +1 -1
  200. package/dist/harmony47.mjs +14 -40
  201. package/dist/harmony47.mjs.map +1 -1
  202. package/dist/harmony48.cjs +14 -64
  203. package/dist/harmony48.cjs.map +1 -1
  204. package/dist/harmony48.mjs +14 -64
  205. package/dist/harmony48.mjs.map +1 -1
  206. package/dist/harmony49.cjs +14 -11
  207. package/dist/harmony49.cjs.map +1 -1
  208. package/dist/harmony49.mjs +14 -11
  209. package/dist/harmony49.mjs.map +1 -1
  210. package/dist/harmony5.cjs +7 -5
  211. package/dist/harmony5.cjs.map +1 -1
  212. package/dist/harmony5.mjs +7 -5
  213. package/dist/harmony5.mjs.map +1 -1
  214. package/dist/harmony50.cjs +105 -55
  215. package/dist/harmony50.cjs.map +1 -1
  216. package/dist/harmony50.mjs +104 -54
  217. package/dist/harmony50.mjs.map +1 -1
  218. package/dist/harmony51.cjs +13 -28
  219. package/dist/harmony51.cjs.map +1 -1
  220. package/dist/harmony51.mjs +13 -28
  221. package/dist/harmony51.mjs.map +1 -1
  222. package/dist/harmony52.cjs +124 -11
  223. package/dist/harmony52.cjs.map +1 -1
  224. package/dist/harmony52.mjs +123 -10
  225. package/dist/harmony52.mjs.map +1 -1
  226. package/dist/harmony53.cjs +82 -55
  227. package/dist/harmony53.cjs.map +1 -1
  228. package/dist/harmony53.mjs +81 -54
  229. package/dist/harmony53.mjs.map +1 -1
  230. package/dist/harmony54.cjs +5 -29
  231. package/dist/harmony54.cjs.map +1 -1
  232. package/dist/harmony54.mjs +5 -29
  233. package/dist/harmony54.mjs.map +1 -1
  234. package/dist/harmony55.cjs +20 -16
  235. package/dist/harmony55.cjs.map +1 -1
  236. package/dist/harmony55.mjs +20 -16
  237. package/dist/harmony55.mjs.map +1 -1
  238. package/dist/harmony56.cjs +23 -27
  239. package/dist/harmony56.cjs.map +1 -1
  240. package/dist/harmony56.mjs +23 -27
  241. package/dist/harmony56.mjs.map +1 -1
  242. package/dist/harmony57.cjs +151 -13
  243. package/dist/harmony57.cjs.map +1 -1
  244. package/dist/harmony57.mjs +150 -12
  245. package/dist/harmony57.mjs.map +1 -1
  246. package/dist/harmony58.cjs +37 -14
  247. package/dist/harmony58.cjs.map +1 -1
  248. package/dist/harmony58.mjs +37 -14
  249. package/dist/harmony58.mjs.map +1 -1
  250. package/dist/harmony59.cjs +26 -14
  251. package/dist/harmony59.cjs.map +1 -1
  252. package/dist/harmony59.mjs +26 -14
  253. package/dist/harmony59.mjs.map +1 -1
  254. package/dist/harmony6.cjs +1 -1
  255. package/dist/harmony6.mjs +2 -2
  256. package/dist/harmony60.cjs +85 -13
  257. package/dist/harmony60.cjs.map +1 -1
  258. package/dist/harmony60.mjs +85 -13
  259. package/dist/harmony60.mjs.map +1 -1
  260. package/dist/harmony61.cjs +47 -14
  261. package/dist/harmony61.cjs.map +1 -1
  262. package/dist/harmony61.mjs +47 -14
  263. package/dist/harmony61.mjs.map +1 -1
  264. package/dist/harmony62.cjs +18 -14
  265. package/dist/harmony62.cjs.map +1 -1
  266. package/dist/harmony62.mjs +18 -14
  267. package/dist/harmony62.mjs.map +1 -1
  268. package/dist/harmony63.cjs +30 -14
  269. package/dist/harmony63.cjs.map +1 -1
  270. package/dist/harmony63.mjs +30 -14
  271. package/dist/harmony63.mjs.map +1 -1
  272. package/dist/harmony64.cjs +22 -12
  273. package/dist/harmony64.cjs.map +1 -1
  274. package/dist/harmony64.mjs +22 -12
  275. package/dist/harmony64.mjs.map +1 -1
  276. package/dist/harmony65.cjs +52 -22
  277. package/dist/harmony65.cjs.map +1 -1
  278. package/dist/harmony65.mjs +52 -22
  279. package/dist/harmony65.mjs.map +1 -1
  280. package/dist/harmony66.cjs +8 -12
  281. package/dist/harmony66.cjs.map +1 -1
  282. package/dist/harmony66.mjs +8 -12
  283. package/dist/harmony66.mjs.map +1 -1
  284. package/dist/harmony67.cjs +4 -12
  285. package/dist/harmony67.cjs.map +1 -1
  286. package/dist/harmony67.mjs +4 -12
  287. package/dist/harmony67.mjs.map +1 -1
  288. package/dist/harmony68.cjs +14 -16
  289. package/dist/harmony68.cjs.map +1 -1
  290. package/dist/harmony68.mjs +14 -16
  291. package/dist/harmony68.mjs.map +1 -1
  292. package/dist/harmony69.cjs +30 -15
  293. package/dist/harmony69.cjs.map +1 -1
  294. package/dist/harmony69.mjs +30 -15
  295. package/dist/harmony69.mjs.map +1 -1
  296. package/dist/harmony7.cjs +1 -1
  297. package/dist/harmony7.mjs +1 -1
  298. package/dist/harmony70.cjs +5 -15
  299. package/dist/harmony70.cjs.map +1 -1
  300. package/dist/harmony70.mjs +5 -15
  301. package/dist/harmony70.mjs.map +1 -1
  302. package/dist/harmony71.cjs +11 -15
  303. package/dist/harmony71.cjs.map +1 -1
  304. package/dist/harmony71.mjs +11 -15
  305. package/dist/harmony71.mjs.map +1 -1
  306. package/dist/harmony72.cjs +10 -16
  307. package/dist/harmony72.cjs.map +1 -1
  308. package/dist/harmony72.mjs +10 -16
  309. package/dist/harmony72.mjs.map +1 -1
  310. package/dist/harmony73.cjs +17 -16
  311. package/dist/harmony73.cjs.map +1 -1
  312. package/dist/harmony73.mjs +17 -16
  313. package/dist/harmony73.mjs.map +1 -1
  314. package/dist/harmony74.cjs +16 -15
  315. package/dist/harmony74.cjs.map +1 -1
  316. package/dist/harmony74.mjs +16 -15
  317. package/dist/harmony74.mjs.map +1 -1
  318. package/dist/harmony75.cjs +142 -17
  319. package/dist/harmony75.cjs.map +1 -1
  320. package/dist/harmony75.mjs +142 -17
  321. package/dist/harmony75.mjs.map +1 -1
  322. package/dist/harmony76.cjs +19 -16
  323. package/dist/harmony76.cjs.map +1 -1
  324. package/dist/harmony76.mjs +19 -16
  325. package/dist/harmony76.mjs.map +1 -1
  326. package/dist/harmony77.cjs +13 -16
  327. package/dist/harmony77.cjs.map +1 -1
  328. package/dist/harmony77.mjs +13 -16
  329. package/dist/harmony77.mjs.map +1 -1
  330. package/dist/harmony78.cjs +15 -15
  331. package/dist/harmony78.cjs.map +1 -1
  332. package/dist/harmony78.mjs +16 -16
  333. package/dist/harmony78.mjs.map +1 -1
  334. package/dist/harmony79.cjs +16 -15
  335. package/dist/harmony79.cjs.map +1 -1
  336. package/dist/harmony79.mjs +17 -16
  337. package/dist/harmony79.mjs.map +1 -1
  338. package/dist/harmony80.cjs +18 -15
  339. package/dist/harmony80.cjs.map +1 -1
  340. package/dist/harmony80.mjs +18 -15
  341. package/dist/harmony80.mjs.map +1 -1
  342. package/dist/harmony81.cjs +20 -15
  343. package/dist/harmony81.cjs.map +1 -1
  344. package/dist/harmony81.mjs +20 -15
  345. package/dist/harmony81.mjs.map +1 -1
  346. package/dist/harmony82.cjs +8 -15
  347. package/dist/harmony82.cjs.map +1 -1
  348. package/dist/harmony82.mjs +8 -15
  349. package/dist/harmony82.mjs.map +1 -1
  350. package/dist/harmony83.cjs +9 -15
  351. package/dist/harmony83.cjs.map +1 -1
  352. package/dist/harmony83.mjs +9 -15
  353. package/dist/harmony83.mjs.map +1 -1
  354. package/dist/harmony84.cjs +13 -17
  355. package/dist/harmony84.cjs.map +1 -1
  356. package/dist/harmony84.mjs +13 -17
  357. package/dist/harmony84.mjs.map +1 -1
  358. package/dist/harmony85.cjs +14 -14
  359. package/dist/harmony85.cjs.map +1 -1
  360. package/dist/harmony85.mjs +14 -14
  361. package/dist/harmony85.mjs.map +1 -1
  362. package/dist/harmony86.cjs +14 -14
  363. package/dist/harmony86.cjs.map +1 -1
  364. package/dist/harmony86.mjs +14 -14
  365. package/dist/harmony86.mjs.map +1 -1
  366. package/dist/harmony87.cjs +14 -14
  367. package/dist/harmony87.cjs.map +1 -1
  368. package/dist/harmony87.mjs +14 -14
  369. package/dist/harmony87.mjs.map +1 -1
  370. package/dist/harmony88.cjs +14 -105
  371. package/dist/harmony88.cjs.map +1 -1
  372. package/dist/harmony88.mjs +14 -105
  373. package/dist/harmony88.mjs.map +1 -1
  374. package/dist/harmony89.cjs +8 -16
  375. package/dist/harmony89.cjs.map +1 -1
  376. package/dist/harmony89.mjs +8 -16
  377. package/dist/harmony89.mjs.map +1 -1
  378. package/dist/harmony90.cjs +8 -124
  379. package/dist/harmony90.cjs.map +1 -1
  380. package/dist/harmony90.mjs +8 -124
  381. package/dist/harmony90.mjs.map +1 -1
  382. package/dist/harmony91.cjs +8 -82
  383. package/dist/harmony91.cjs.map +1 -1
  384. package/dist/harmony91.mjs +8 -82
  385. package/dist/harmony91.mjs.map +1 -1
  386. package/dist/harmony92.cjs +8 -6
  387. package/dist/harmony92.cjs.map +1 -1
  388. package/dist/harmony92.mjs +8 -6
  389. package/dist/harmony92.mjs.map +1 -1
  390. package/dist/harmony93.cjs +9 -22
  391. package/dist/harmony93.cjs.map +1 -1
  392. package/dist/harmony93.mjs +9 -22
  393. package/dist/harmony93.mjs.map +1 -1
  394. package/dist/harmony94.cjs +9 -24
  395. package/dist/harmony94.cjs.map +1 -1
  396. package/dist/harmony94.mjs +9 -24
  397. package/dist/harmony94.mjs.map +1 -1
  398. package/dist/harmony95.cjs +17 -152
  399. package/dist/harmony95.cjs.map +1 -1
  400. package/dist/harmony95.mjs +17 -152
  401. package/dist/harmony95.mjs.map +1 -1
  402. package/dist/harmony96.cjs +5 -36
  403. package/dist/harmony96.cjs.map +1 -1
  404. package/dist/harmony96.mjs +5 -36
  405. package/dist/harmony96.mjs.map +1 -1
  406. package/dist/harmony97.cjs +4 -25
  407. package/dist/harmony97.cjs.map +1 -1
  408. package/dist/harmony97.mjs +4 -25
  409. package/dist/harmony97.mjs.map +1 -1
  410. package/dist/harmony98.cjs +38 -84
  411. package/dist/harmony98.cjs.map +1 -1
  412. package/dist/harmony98.mjs +38 -84
  413. package/dist/harmony98.mjs.map +1 -1
  414. package/dist/harmony99.cjs +63 -46
  415. package/dist/harmony99.cjs.map +1 -1
  416. package/dist/harmony99.mjs +63 -46
  417. package/dist/harmony99.mjs.map +1 -1
  418. package/package.json +2 -1
@@ -1,155 +1,20 @@
1
- import { PROJECT_TYPES } from "./harmony49.mjs";
2
- import { PERMISSION_ID_SCHEMA, PERMISSION_SCOPE_SCHEMA } from "./harmony94.mjs";
3
- import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony97.mjs";
4
- import { z } from "zod/v4";
5
- import { LANGUAGE_STATISTICS_SCHEMA, LANGUAGE_ISO_SCHEMA } from "./harmony91.mjs";
6
- const PROJECT_ID_SCHEMA = z.string().regex(/^[a-zA-Z0-9]{22}\.\d{8}$/);
7
- const PROJECT_ID_OR_UUID_SCHEMA = z.union([PROJECT_ID_SCHEMA, z.guid()]);
8
- const PROJECT_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA;
9
- const PROJECT_TYPE_SCHEMA = z.enum(PROJECT_TYPES);
10
- const AVAILABILITY_DISABLED_REASONS = ["management"];
11
- const AVAILABILITY_DISABLED_REASON_SCHEMA = z.enum(AVAILABILITY_DISABLED_REASONS);
12
- const AVAILABILITY_SCHEMA = z.object({
13
- disabled: z.boolean(),
14
- disabledReason: AVAILABILITY_DISABLED_REASON_SCHEMA.nullable()
15
- });
16
- const PROJECT_SETTINGS_SCHEMA = z.object({
17
- per_platform_key_names: z.boolean(),
18
- reviewing: z.boolean(),
19
- auto_toggle_unverified: z.boolean(),
20
- offline_translation: z.boolean(),
21
- key_editing: z.boolean(),
22
- branching: z.boolean(),
23
- inline_machine_translations: z.boolean(),
24
- custom_translation_statuses: z.boolean(),
25
- custom_translation_statuses_allow_multiple: z.boolean(),
26
- segmentation: z.boolean(),
27
- contributor_preview_download_enabled: z.boolean()
28
- });
29
- const PROJECT_QA_ISSUES_SCHEMA = z.object({
30
- not_reviewed: z.number(),
31
- unverified: z.number(),
32
- spelling_grammar: z.number(),
33
- inconsistent_placeholders: z.number(),
34
- inconsistent_html: z.number(),
35
- different_number_of_urls: z.number(),
36
- different_urls: z.number(),
37
- leading_whitespace: z.number(),
38
- trailing_whitespace: z.number(),
39
- different_number_of_email_address: z.number(),
40
- different_email_address: z.number(),
41
- different_brackets: z.number(),
42
- different_numbers: z.number(),
43
- double_space: z.number(),
44
- special_placeholder: z.number(),
45
- unbalanced_brackets: z.number()
46
- });
47
- const PROJECT_STATISTICS_SCHEMA = z.object({
48
- progress_total: z.number(),
49
- keys_total: z.number(),
50
- team: z.number(),
51
- base_words: z.number(),
52
- qa_issues_total: z.number(),
53
- qa_issues: PROJECT_QA_ISSUES_SCHEMA,
54
- languages: z.array(LANGUAGE_STATISTICS_SCHEMA)
55
- });
56
- const PROJECT_SCHEMA = z.object({
57
- project_id: PROJECT_ID_SCHEMA,
58
- uuid: z.guid(),
59
- project_type: PROJECT_TYPE_SCHEMA,
60
- name: z.string(),
61
- description: z.string(),
62
- created_at: z.string(),
63
- created_at_timestamp: z.number(),
64
- created_by: z.number(),
65
- created_by_email: z.string(),
66
- team_id: z.number(),
67
- team_uuid: z.guid(),
68
- base_language_id: z.number(),
69
- base_language_iso: z.string(),
70
- base_project_language_id: z.number(),
71
- base_project_language_uuid: z.guid(),
72
- settings: PROJECT_SETTINGS_SCHEMA.optional(),
73
- statistics: PROJECT_STATISTICS_SCHEMA.optional()
74
- });
75
- const CREATE_PROJECT_REQUEST_BODY_SCHEMA = z.object({
76
- name: z.string(),
77
- team_id: z.string(),
78
- base_lang_iso: z.string(),
79
- languages: z.array(LANGUAGE_ISO_SCHEMA),
80
- project_type: PROJECT_TYPE_SCHEMA,
81
- is_segmentation_enabled: z.boolean()
82
- });
83
- const NUMBER_BOOLEAN_SCHEMA = z.union([z.literal(0), z.literal(1)]);
84
- const LIST_PROJECTS_REQUEST_QUERY_SCHEMA = z.object({
85
- filter_type: PROJECT_TYPE_SCHEMA.optional(),
86
- filter_team_id: z.number().optional(),
87
- filter_names: z.string().optional(),
88
- include_statistics: NUMBER_BOOLEAN_SCHEMA.optional(),
89
- include_settings: NUMBER_BOOLEAN_SCHEMA.optional(),
90
- limit: z.number().optional(),
91
- page: z.number().optional()
92
- });
93
- const LIST_PROJECTS_SUCCESS_RESPONSE_BODY = z.object({
94
- projects: z.array(PROJECT_SCHEMA)
95
- });
96
- const PROJECT_ID_PATH_PARAM_SCHEMA = z.object({ projectId: PROJECT_ID_OR_UUID_SCHEMA });
97
- const UPDATE_PROJECT_REQUEST_BODY_SCHEMA = z.object({
98
- name: z.string().min(1),
99
- description: z.string().optional()
100
- });
101
- const PROJECT_PERMISSION_DETAILS_META_SCHEMA = z.object({
102
- id: PERMISSION_ID_SCHEMA,
103
- scope: PERMISSION_SCOPE_SCHEMA,
104
- title: z.string(),
105
- group: z.string(),
106
- description: z.string().nullable(),
107
- dependentPermissions: z.array(PERMISSION_ID_SCHEMA).optional(),
108
- doesSetAllReadOnlyLanguages: z.boolean(),
109
- newPermission: z.boolean().optional(),
110
- isHidden: z.boolean().optional(),
111
- availability: AVAILABILITY_SCHEMA.optional()
112
- });
113
- const PROJECT_PERMISSION_TEMPLATE_DETAILS_META_SCHEMA = z.object({
114
- id: z.number(),
115
- role: z.string(),
116
- permissions: z.array(PERMISSION_ID_SCHEMA),
117
- description: z.string().nullable(),
118
- tag: z.string().nullable(),
119
- tagColor: z.string().nullable(),
120
- tagInfo: z.string().nullable(),
121
- isForMarketingProjects: z.boolean(),
122
- doesEnableAllReadOnlyLanguages: z.boolean(),
123
- availability: AVAILABILITY_SCHEMA.optional()
124
- });
125
- const GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA = z.object({
126
- project_id: PROJECT_ID_SCHEMA,
127
- project_uuid: z.guid(),
128
- permissions: z.array(PROJECT_PERMISSION_DETAILS_META_SCHEMA),
129
- roles: z.array(PROJECT_PERMISSION_TEMPLATE_DETAILS_META_SCHEMA)
130
- });
131
- const DELETE_PROJECT_RESPONSE_SCHEMA = z.object({
132
- project_id: PROJECT_ID_SCHEMA,
133
- project_deleted: z.boolean()
134
- });
1
+ import { actionResolvers } from "./harmony141.mjs";
2
+ function canPerformAction(action, context) {
3
+ const resolver = actionResolvers[action];
4
+ if (!resolver) {
5
+ throw new Error(`Action resolver for "${action}" not found`);
6
+ }
7
+ return resolver(context);
8
+ }
9
+ function canPerformAnyAction(actions, context) {
10
+ return actions.some((action) => canPerformAction(action, context));
11
+ }
12
+ function canPerformAllActions(actions, context) {
13
+ return actions.every((action) => canPerformAction(action, context));
14
+ }
135
15
  export {
136
- AVAILABILITY_DISABLED_REASONS,
137
- AVAILABILITY_DISABLED_REASON_SCHEMA,
138
- AVAILABILITY_SCHEMA,
139
- CREATE_PROJECT_REQUEST_BODY_SCHEMA,
140
- DELETE_PROJECT_RESPONSE_SCHEMA,
141
- GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA,
142
- LIST_PROJECTS_REQUEST_QUERY_SCHEMA,
143
- LIST_PROJECTS_SUCCESS_RESPONSE_BODY,
144
- PROJECT_API_BASE_HEADERS_SCHEMA,
145
- PROJECT_ID_OR_UUID_SCHEMA,
146
- PROJECT_ID_PATH_PARAM_SCHEMA,
147
- PROJECT_ID_SCHEMA,
148
- PROJECT_QA_ISSUES_SCHEMA,
149
- PROJECT_SCHEMA,
150
- PROJECT_SETTINGS_SCHEMA,
151
- PROJECT_STATISTICS_SCHEMA,
152
- PROJECT_TYPE_SCHEMA,
153
- UPDATE_PROJECT_REQUEST_BODY_SCHEMA
16
+ canPerformAction,
17
+ canPerformAllActions,
18
+ canPerformAnyAction
154
19
  };
155
20
  //# sourceMappingURL=harmony95.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony95.mjs","sources":["../src/features/publicApi/types/projectTypes.ts"],"sourcesContent":["import { PROJECT_TYPES } from '@features/permissions/types/projectType'\nimport {\n\tPERMISSION_ID_SCHEMA,\n\tPERMISSION_SCOPE_SCHEMA,\n} from '@features/publicApi/types/permissionTypes'\nimport { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod/v4'\nimport { LANGUAGE_ISO_SCHEMA, LANGUAGE_STATISTICS_SCHEMA } from './languageTypes'\n\nexport const PROJECT_ID_SCHEMA = z.string().regex(/^[a-zA-Z0-9]{22}\\.\\d{8}$/)\nexport type ProjectId = z.infer<typeof PROJECT_ID_SCHEMA>\n\nexport const PROJECT_ID_OR_UUID_SCHEMA = z.union([PROJECT_ID_SCHEMA, z.guid()])\nexport type ProjectIdOrUuid = z.infer<typeof PROJECT_ID_OR_UUID_SCHEMA>\n\nexport const PROJECT_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type ProjectApiBaseHeaders = z.infer<typeof PROJECT_API_BASE_HEADERS_SCHEMA>\n\nexport const PROJECT_TYPE_SCHEMA = z.enum(PROJECT_TYPES)\n\nexport const AVAILABILITY_DISABLED_REASONS = ['management'] as const\n\nexport const AVAILABILITY_DISABLED_REASON_SCHEMA = z.enum(AVAILABILITY_DISABLED_REASONS)\n\nexport type AvailabilityDisabledReason = z.infer<typeof AVAILABILITY_DISABLED_REASON_SCHEMA>\n\nexport const AVAILABILITY_SCHEMA = z.object({\n\tdisabled: z.boolean(),\n\tdisabledReason: AVAILABILITY_DISABLED_REASON_SCHEMA.nullable(),\n})\n\nexport type Availability = z.infer<typeof AVAILABILITY_SCHEMA>\n\nexport const PROJECT_SETTINGS_SCHEMA = z.object({\n\tper_platform_key_names: z.boolean(),\n\treviewing: z.boolean(),\n\tauto_toggle_unverified: z.boolean(),\n\toffline_translation: z.boolean(),\n\tkey_editing: z.boolean(),\n\tbranching: z.boolean(),\n\tinline_machine_translations: z.boolean(),\n\tcustom_translation_statuses: z.boolean(),\n\tcustom_translation_statuses_allow_multiple: z.boolean(),\n\tsegmentation: z.boolean(),\n\tcontributor_preview_download_enabled: z.boolean(),\n})\nexport type ProjectSettings = z.infer<typeof PROJECT_SETTINGS_SCHEMA>\n\nexport const PROJECT_QA_ISSUES_SCHEMA = z.object({\n\tnot_reviewed: z.number(),\n\tunverified: z.number(),\n\tspelling_grammar: z.number(),\n\tinconsistent_placeholders: z.number(),\n\tinconsistent_html: z.number(),\n\tdifferent_number_of_urls: z.number(),\n\tdifferent_urls: z.number(),\n\tleading_whitespace: z.number(),\n\ttrailing_whitespace: z.number(),\n\tdifferent_number_of_email_address: z.number(),\n\tdifferent_email_address: z.number(),\n\tdifferent_brackets: z.number(),\n\tdifferent_numbers: z.number(),\n\tdouble_space: z.number(),\n\tspecial_placeholder: z.number(),\n\tunbalanced_brackets: z.number(),\n})\nexport type ProjectQaIssues = z.infer<typeof PROJECT_QA_ISSUES_SCHEMA>\n\nexport const PROJECT_STATISTICS_SCHEMA = z.object({\n\tprogress_total: z.number(),\n\tkeys_total: z.number(),\n\tteam: z.number(),\n\tbase_words: z.number(),\n\tqa_issues_total: z.number(),\n\tqa_issues: PROJECT_QA_ISSUES_SCHEMA,\n\tlanguages: z.array(LANGUAGE_STATISTICS_SCHEMA),\n})\n\nexport const PROJECT_SCHEMA = z.object({\n\tproject_id: PROJECT_ID_SCHEMA,\n\tuuid: z.guid(),\n\tproject_type: PROJECT_TYPE_SCHEMA,\n\tname: z.string(),\n\tdescription: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\tcreated_by: z.number(),\n\tcreated_by_email: z.string(),\n\tteam_id: z.number(),\n\tteam_uuid: z.guid(),\n\tbase_language_id: z.number(),\n\tbase_language_iso: z.string(),\n\tbase_project_language_id: z.number(),\n\tbase_project_language_uuid: z.guid(),\n\tsettings: PROJECT_SETTINGS_SCHEMA.optional(),\n\tstatistics: PROJECT_STATISTICS_SCHEMA.optional(),\n})\n\nexport type Project = z.infer<typeof PROJECT_SCHEMA>\n\nexport const CREATE_PROJECT_REQUEST_BODY_SCHEMA = z.object({\n\tname: z.string(),\n\tteam_id: z.string(),\n\tbase_lang_iso: z.string(),\n\tlanguages: z.array(LANGUAGE_ISO_SCHEMA),\n\tproject_type: PROJECT_TYPE_SCHEMA,\n\tis_segmentation_enabled: z.boolean(),\n})\n\nexport type CreateProjectRequestBody = z.infer<typeof CREATE_PROJECT_REQUEST_BODY_SCHEMA>\n\nconst NUMBER_BOOLEAN_SCHEMA = z.union([z.literal(0), z.literal(1)])\n\nexport const LIST_PROJECTS_REQUEST_QUERY_SCHEMA = z.object({\n\tfilter_type: PROJECT_TYPE_SCHEMA.optional(),\n\tfilter_team_id: z.number().optional(),\n\tfilter_names: z.string().optional(),\n\tinclude_statistics: NUMBER_BOOLEAN_SCHEMA.optional(),\n\tinclude_settings: NUMBER_BOOLEAN_SCHEMA.optional(),\n\tlimit: z.number().optional(),\n\tpage: z.number().optional(),\n})\n\nexport type ListProjectsRequestQuery = z.infer<typeof LIST_PROJECTS_REQUEST_QUERY_SCHEMA>\n\nexport const LIST_PROJECTS_SUCCESS_RESPONSE_BODY = z.object({\n\tprojects: z.array(PROJECT_SCHEMA),\n})\n\nexport type ListProjectsSuccessResponseBody = z.infer<typeof LIST_PROJECTS_SUCCESS_RESPONSE_BODY>\n\nexport const PROJECT_ID_PATH_PARAM_SCHEMA = z.object({ projectId: PROJECT_ID_OR_UUID_SCHEMA })\nexport type ProjectIdPathParam = z.infer<typeof PROJECT_ID_PATH_PARAM_SCHEMA>\n\nexport const UPDATE_PROJECT_REQUEST_BODY_SCHEMA = z.object({\n\tname: z.string().min(1),\n\tdescription: z.string().optional(),\n})\n\nexport type UpdateProjectRequestBody = z.infer<typeof UPDATE_PROJECT_REQUEST_BODY_SCHEMA>\n\nconst PROJECT_PERMISSION_DETAILS_META_SCHEMA = z.object({\n\tid: PERMISSION_ID_SCHEMA,\n\tscope: PERMISSION_SCOPE_SCHEMA,\n\ttitle: z.string(),\n\tgroup: z.string(),\n\tdescription: z.string().nullable(),\n\tdependentPermissions: z.array(PERMISSION_ID_SCHEMA).optional(),\n\tdoesSetAllReadOnlyLanguages: z.boolean(),\n\tnewPermission: z.boolean().optional(),\n\tisHidden: z.boolean().optional(),\n\tavailability: AVAILABILITY_SCHEMA.optional(),\n})\nexport type ProjectPermissionDetailsMeta = z.infer<typeof PROJECT_PERMISSION_DETAILS_META_SCHEMA>\n\nconst PROJECT_PERMISSION_TEMPLATE_DETAILS_META_SCHEMA = z.object({\n\tid: z.number(),\n\trole: z.string(),\n\tpermissions: z.array(PERMISSION_ID_SCHEMA),\n\tdescription: z.string().nullable(),\n\ttag: z.string().nullable(),\n\ttagColor: z.string().nullable(),\n\ttagInfo: z.string().nullable(),\n\tisForMarketingProjects: z.boolean(),\n\tdoesEnableAllReadOnlyLanguages: z.boolean(),\n\tavailability: AVAILABILITY_SCHEMA.optional(),\n})\n\nexport type ProjectPermissionTemplateDetailsMeta = z.infer<\n\ttypeof PROJECT_PERMISSION_TEMPLATE_DETAILS_META_SCHEMA\n>\n\nexport const GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA = z.object({\n\tproject_id: PROJECT_ID_SCHEMA,\n\tproject_uuid: z.guid(),\n\tpermissions: z.array(PROJECT_PERMISSION_DETAILS_META_SCHEMA),\n\troles: z.array(PROJECT_PERMISSION_TEMPLATE_DETAILS_META_SCHEMA),\n})\n\nexport type GetProjectPermissionMetaResponseBody = z.infer<\n\ttypeof GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA\n>\n\nexport const DELETE_PROJECT_RESPONSE_SCHEMA = z.object({\n\tproject_id: PROJECT_ID_SCHEMA,\n\tproject_deleted: z.boolean(),\n})\n\nexport type DeleteProjectResponse = z.infer<typeof DELETE_PROJECT_RESPONSE_SCHEMA>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harmony95.mjs","sources":["../src/features/permissions/core/canPerformAction.ts"],"sourcesContent":["import { type Action, actionResolvers } from '../actionResolvers'\n\nimport type { ActionResolverContext } from '../types/actionResolverContext'\n\n/**\n * Checks if the user can perform a specific action given the current permissions context and context.\n *\n * This utility function is used internally by hooks and guards to determine\n * if a user is authorized to perform a particular action.\n *\n * @param action The action to check permission for.\n * @param context The action resolver context, typically containing the user's permissions, roles, and other relevant context.\n * @returns {boolean} True if the user can perform the action, otherwise false.\n *\n * @example\n * const allowed = canPerformAction(\"edit_project\", context);\n * if (allowed) {\n * // perform edit\n * }\n */\nexport function canPerformAction(action: Action, context: ActionResolverContext): boolean {\n\tconst resolver = actionResolvers[action]\n\n\tif (!resolver) {\n\t\tthrow new Error(`Action resolver for \"${action}\" not found`)\n\t}\n\n\treturn resolver(context)\n}\n\n/**\n * Checks if the user can perform any of the specified actions given the current permissions context and context.\n *\n * This utility function is used internally by hooks and guards to determine\n * if a user is authorized to perform at least one of the specified actions.\n *\n * @param actions An array of actions to check permission for.\n * @param context The action resolver context, typically containing the user's permissions, roles, and other relevant context.\n * @returns {boolean} True if the user can perform at least one of the actions, otherwise false.\n */\nexport function canPerformAnyAction(actions: Action[], context: ActionResolverContext): boolean {\n\treturn actions.some((action) => canPerformAction(action, context))\n}\n\n/**\n * Checks if the user can perform all the specified actions given the current permissions context and context.\n *\n * This utility function is used internally by hooks and guards to determine\n * if a user is authorized to perform all the specified actions.\n *\n * @param actions An array of actions to check permission for.\n * @param context The action resolver context, typically containing the user's permissions, roles, and other relevant context.\n * @returns {boolean} True if the user can perform all the actions, otherwise false.\n */\nexport function canPerformAllActions(actions: Action[], context: ActionResolverContext): boolean {\n\treturn actions.every((action) => canPerformAction(action, context))\n}\n"],"names":[],"mappings":";AAoBgB,SAAA,iBAAiB,QAAgB,SAAyC;AACnF,QAAA,WAAW,gBAAgB,MAAM;AAEvC,MAAI,CAAC,UAAU;AACd,UAAM,IAAI,MAAM,wBAAwB,MAAM,aAAa;AAAA,EAAA;AAG5D,SAAO,SAAS,OAAO;AACxB;AAYgB,SAAA,oBAAoB,SAAmB,SAAyC;AAC/F,SAAO,QAAQ,KAAK,CAAC,WAAW,iBAAiB,QAAQ,OAAO,CAAC;AAClE;AAYgB,SAAA,qBAAqB,SAAmB,SAAyC;AAChG,SAAO,QAAQ,MAAM,CAAC,WAAW,iBAAiB,QAAQ,OAAO,CAAC;AACnE;"}
@@ -1,40 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const v4 = require("zod/v4");
4
- const SEVERITY_ENUM = v4.z.enum(["critical", "major", "minor", "neutral"]);
5
- const ISSUE_SCHEMA = v4.z.object({
6
- category: v4.z.string(),
7
- comment: v4.z.string(),
8
- severity: SEVERITY_ENUM,
9
- penalty: v4.z.number()
3
+ const canPerformAction = require("./harmony95.cjs");
4
+ const createCanPerformActionResolver = (context) => ({
5
+ canPerformAnyAction: (...actions) => canPerformAction.canPerformAnyAction(actions, context),
6
+ canPerformAllActions: (...actions) => canPerformAction.canPerformAllActions(actions, context)
10
7
  });
11
- const SCORE_REQUEST_QUERY_SCHEMA = v4.z.object({
12
- projectId: v4.z.string(),
13
- keyId: v4.z.number(),
14
- languageId: v4.z.string()
15
- });
16
- const GET_SCORE_RESPONSE_SCHEMA = v4.z.object({
17
- score: v4.z.number(),
18
- hasMajorIssue: v4.z.boolean(),
19
- hasCriticalIssue: v4.z.boolean(),
20
- issues: v4.z.array(ISSUE_SCHEMA)
21
- });
22
- const DELETE_SCORE_RESPONSE_SCHEMA = v4.z.null();
23
- const CREATE_SCORE_REQUEST_BODY_SCHEMA = v4.z.object({
24
- segmentId: v4.z.number(),
25
- sourceLanguageId: v4.z.number()
26
- });
27
- const CREATE_SCORE_RESPONSE_SCHEMA = v4.z.object({
28
- score: v4.z.number(),
29
- hasCriticalIssue: v4.z.boolean(),
30
- hasMajorIssue: v4.z.boolean(),
31
- issues: v4.z.array(ISSUE_SCHEMA)
32
- });
33
- exports.CREATE_SCORE_REQUEST_BODY_SCHEMA = CREATE_SCORE_REQUEST_BODY_SCHEMA;
34
- exports.CREATE_SCORE_RESPONSE_SCHEMA = CREATE_SCORE_RESPONSE_SCHEMA;
35
- exports.DELETE_SCORE_RESPONSE_SCHEMA = DELETE_SCORE_RESPONSE_SCHEMA;
36
- exports.GET_SCORE_RESPONSE_SCHEMA = GET_SCORE_RESPONSE_SCHEMA;
37
- exports.ISSUE_SCHEMA = ISSUE_SCHEMA;
38
- exports.SCORE_REQUEST_QUERY_SCHEMA = SCORE_REQUEST_QUERY_SCHEMA;
39
- exports.SEVERITY_ENUM = SEVERITY_ENUM;
8
+ exports.createCanPerformActionResolver = createCanPerformActionResolver;
40
9
  //# sourceMappingURL=harmony96.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony96.cjs","sources":["../src/features/publicApi/types/scoreTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\nexport const SEVERITY_ENUM = z.enum(['critical', 'major', 'minor', 'neutral'])\nexport type Severity = z.infer<typeof SEVERITY_ENUM>\n\nexport const ISSUE_SCHEMA = z.object({\n\tcategory: z.string(),\n\tcomment: z.string(),\n\tseverity: SEVERITY_ENUM,\n\tpenalty: z.number(),\n})\nexport type Issue = z.infer<typeof ISSUE_SCHEMA>\n\nexport const SCORE_REQUEST_QUERY_SCHEMA = z.object({\n\tprojectId: z.string(),\n\tkeyId: z.number(),\n\tlanguageId: z.string(),\n})\n\nexport type ScoreRequestQuery = z.infer<typeof SCORE_REQUEST_QUERY_SCHEMA>\n\nexport const GET_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasMajorIssue: z.boolean(),\n\thasCriticalIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type GetScoreResponseBody = z.infer<typeof GET_SCORE_RESPONSE_SCHEMA>\n\nexport const DELETE_SCORE_RESPONSE_SCHEMA = z.null()\n\nexport type DeleteScoreResponseBody = z.infer<typeof DELETE_SCORE_RESPONSE_SCHEMA>\n\nexport const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({\n\tsegmentId: z.number(),\n\tsourceLanguageId: z.number(),\n})\n\nexport type CreateScoreRequestBody = z.infer<typeof CREATE_SCORE_REQUEST_BODY_SCHEMA>\n\nexport const CREATE_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasCriticalIssue: z.boolean(),\n\thasMajorIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type CreateScoreResponseBody = z.infer<typeof CREATE_SCORE_RESPONSE_SCHEMA>\n"],"names":["z"],"mappings":";;;AAEa,MAAA,gBAAgBA,KAAE,KAAK,CAAC,YAAY,SAAS,SAAS,SAAS,CAAC;AAGhE,MAAA,eAAeA,KAAE,OAAO;AAAA,EACpC,UAAUA,KAAE,OAAO;AAAA,EACnB,SAASA,KAAE,OAAO;AAAA,EAClB,UAAU;AAAA,EACV,SAASA,KAAE,OAAO;AACnB,CAAC;AAGY,MAAA,6BAA6BA,KAAE,OAAO;AAAA,EAClD,WAAWA,KAAE,OAAO;AAAA,EACpB,OAAOA,KAAE,OAAO;AAAA,EAChB,YAAYA,KAAE,OAAO;AACtB,CAAC;AAIY,MAAA,4BAA4BA,KAAE,OAAO;AAAA,EACjD,OAAOA,KAAE,OAAO;AAAA,EAChB,eAAeA,KAAE,QAAQ;AAAA,EACzB,kBAAkBA,KAAE,QAAQ;AAAA,EAC5B,QAAQA,GAAAA,EAAE,MAAM,YAAY;AAC7B,CAAC;AAIY,MAAA,+BAA+BA,KAAE,KAAK;AAItC,MAAA,mCAAmCA,KAAE,OAAO;AAAA,EACxD,WAAWA,KAAE,OAAO;AAAA,EACpB,kBAAkBA,KAAE,OAAO;AAC5B,CAAC;AAIY,MAAA,+BAA+BA,KAAE,OAAO;AAAA,EACpD,OAAOA,KAAE,OAAO;AAAA,EAChB,kBAAkBA,KAAE,QAAQ;AAAA,EAC5B,eAAeA,KAAE,QAAQ;AAAA,EACzB,QAAQA,GAAAA,EAAE,MAAM,YAAY;AAC7B,CAAC;;;;;;;;"}
1
+ {"version":3,"file":"harmony96.cjs","sources":["../src/features/permissions/core/createCanPerformActionResolver.ts"],"sourcesContent":["import type { Action } from '../actionResolvers'\nimport type { ActionResolverContext } from '../types/actionResolverContext'\nimport { canPerformAllActions, canPerformAnyAction } from './canPerformAction'\n\nexport type CanPerformActionResolver = {\n\tcanPerformAnyAction: (...actions: Action[]) => boolean\n\tcanPerformAllActions: (...actions: Action[]) => boolean\n}\n\n/**\n * Takes a context and bind it to the action resolver functions.\n * This allows actions to be resolved without the need to resolve the context.\n *\n * @param context - The action resolver context.\n * @returns An object with methods to check if actions can be performed.\n *\n * @example\n * ```ts\n * const canPerformActionResolver = createCanPerformActionResolver(actionResolverContext);\n *\n * const canEdit = canPerformActionResolver.canPerformAnyAction('edit', 'delete');\n * const canDelete = canPerformActionResolver.canPerformAllActions('delete');\n */\nexport const createCanPerformActionResolver = (\n\tcontext: ActionResolverContext,\n): CanPerformActionResolver => ({\n\tcanPerformAnyAction: (...actions: Action[]) => canPerformAnyAction(actions, context),\n\tcanPerformAllActions: (...actions: Action[]) => canPerformAllActions(actions, context),\n})\n"],"names":["canPerformAnyAction","canPerformAllActions"],"mappings":";;;AAuBa,MAAA,iCAAiC,CAC7C,aAC+B;AAAA,EAC/B,qBAAqB,IAAI,YAAsBA,iBAAAA,oBAAoB,SAAS,OAAO;AAAA,EACnF,sBAAsB,IAAI,YAAsBC,iBAAA,qBAAqB,SAAS,OAAO;AACtF;;"}
@@ -1,40 +1,9 @@
1
- import { z } from "zod/v4";
2
- const SEVERITY_ENUM = z.enum(["critical", "major", "minor", "neutral"]);
3
- const ISSUE_SCHEMA = z.object({
4
- category: z.string(),
5
- comment: z.string(),
6
- severity: SEVERITY_ENUM,
7
- penalty: z.number()
8
- });
9
- const SCORE_REQUEST_QUERY_SCHEMA = z.object({
10
- projectId: z.string(),
11
- keyId: z.number(),
12
- languageId: z.string()
13
- });
14
- const GET_SCORE_RESPONSE_SCHEMA = z.object({
15
- score: z.number(),
16
- hasMajorIssue: z.boolean(),
17
- hasCriticalIssue: z.boolean(),
18
- issues: z.array(ISSUE_SCHEMA)
19
- });
20
- const DELETE_SCORE_RESPONSE_SCHEMA = z.null();
21
- const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({
22
- segmentId: z.number(),
23
- sourceLanguageId: z.number()
24
- });
25
- const CREATE_SCORE_RESPONSE_SCHEMA = z.object({
26
- score: z.number(),
27
- hasCriticalIssue: z.boolean(),
28
- hasMajorIssue: z.boolean(),
29
- issues: z.array(ISSUE_SCHEMA)
1
+ import { canPerformAllActions, canPerformAnyAction } from "./harmony95.mjs";
2
+ const createCanPerformActionResolver = (context) => ({
3
+ canPerformAnyAction: (...actions) => canPerformAnyAction(actions, context),
4
+ canPerformAllActions: (...actions) => canPerformAllActions(actions, context)
30
5
  });
31
6
  export {
32
- CREATE_SCORE_REQUEST_BODY_SCHEMA,
33
- CREATE_SCORE_RESPONSE_SCHEMA,
34
- DELETE_SCORE_RESPONSE_SCHEMA,
35
- GET_SCORE_RESPONSE_SCHEMA,
36
- ISSUE_SCHEMA,
37
- SCORE_REQUEST_QUERY_SCHEMA,
38
- SEVERITY_ENUM
7
+ createCanPerformActionResolver
39
8
  };
40
9
  //# sourceMappingURL=harmony96.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony96.mjs","sources":["../src/features/publicApi/types/scoreTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\nexport const SEVERITY_ENUM = z.enum(['critical', 'major', 'minor', 'neutral'])\nexport type Severity = z.infer<typeof SEVERITY_ENUM>\n\nexport const ISSUE_SCHEMA = z.object({\n\tcategory: z.string(),\n\tcomment: z.string(),\n\tseverity: SEVERITY_ENUM,\n\tpenalty: z.number(),\n})\nexport type Issue = z.infer<typeof ISSUE_SCHEMA>\n\nexport const SCORE_REQUEST_QUERY_SCHEMA = z.object({\n\tprojectId: z.string(),\n\tkeyId: z.number(),\n\tlanguageId: z.string(),\n})\n\nexport type ScoreRequestQuery = z.infer<typeof SCORE_REQUEST_QUERY_SCHEMA>\n\nexport const GET_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasMajorIssue: z.boolean(),\n\thasCriticalIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type GetScoreResponseBody = z.infer<typeof GET_SCORE_RESPONSE_SCHEMA>\n\nexport const DELETE_SCORE_RESPONSE_SCHEMA = z.null()\n\nexport type DeleteScoreResponseBody = z.infer<typeof DELETE_SCORE_RESPONSE_SCHEMA>\n\nexport const CREATE_SCORE_REQUEST_BODY_SCHEMA = z.object({\n\tsegmentId: z.number(),\n\tsourceLanguageId: z.number(),\n})\n\nexport type CreateScoreRequestBody = z.infer<typeof CREATE_SCORE_REQUEST_BODY_SCHEMA>\n\nexport const CREATE_SCORE_RESPONSE_SCHEMA = z.object({\n\tscore: z.number(),\n\thasCriticalIssue: z.boolean(),\n\thasMajorIssue: z.boolean(),\n\tissues: z.array(ISSUE_SCHEMA),\n})\n\nexport type CreateScoreResponseBody = z.infer<typeof CREATE_SCORE_RESPONSE_SCHEMA>\n"],"names":[],"mappings":";AAEa,MAAA,gBAAgB,EAAE,KAAK,CAAC,YAAY,SAAS,SAAS,SAAS,CAAC;AAGhE,MAAA,eAAe,EAAE,OAAO;AAAA,EACpC,UAAU,EAAE,OAAO;AAAA,EACnB,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU;AAAA,EACV,SAAS,EAAE,OAAO;AACnB,CAAC;AAGY,MAAA,6BAA6B,EAAE,OAAO;AAAA,EAClD,WAAW,EAAE,OAAO;AAAA,EACpB,OAAO,EAAE,OAAO;AAAA,EAChB,YAAY,EAAE,OAAO;AACtB,CAAC;AAIY,MAAA,4BAA4B,EAAE,OAAO;AAAA,EACjD,OAAO,EAAE,OAAO;AAAA,EAChB,eAAe,EAAE,QAAQ;AAAA,EACzB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,QAAQ,EAAE,MAAM,YAAY;AAC7B,CAAC;AAIY,MAAA,+BAA+B,EAAE,KAAK;AAItC,MAAA,mCAAmC,EAAE,OAAO;AAAA,EACxD,WAAW,EAAE,OAAO;AAAA,EACpB,kBAAkB,EAAE,OAAO;AAC5B,CAAC;AAIY,MAAA,+BAA+B,EAAE,OAAO;AAAA,EACpD,OAAO,EAAE,OAAO;AAAA,EAChB,kBAAkB,EAAE,QAAQ;AAAA,EAC5B,eAAe,EAAE,QAAQ;AAAA,EACzB,QAAQ,EAAE,MAAM,YAAY;AAC7B,CAAC;"}
1
+ {"version":3,"file":"harmony96.mjs","sources":["../src/features/permissions/core/createCanPerformActionResolver.ts"],"sourcesContent":["import type { Action } from '../actionResolvers'\nimport type { ActionResolverContext } from '../types/actionResolverContext'\nimport { canPerformAllActions, canPerformAnyAction } from './canPerformAction'\n\nexport type CanPerformActionResolver = {\n\tcanPerformAnyAction: (...actions: Action[]) => boolean\n\tcanPerformAllActions: (...actions: Action[]) => boolean\n}\n\n/**\n * Takes a context and bind it to the action resolver functions.\n * This allows actions to be resolved without the need to resolve the context.\n *\n * @param context - The action resolver context.\n * @returns An object with methods to check if actions can be performed.\n *\n * @example\n * ```ts\n * const canPerformActionResolver = createCanPerformActionResolver(actionResolverContext);\n *\n * const canEdit = canPerformActionResolver.canPerformAnyAction('edit', 'delete');\n * const canDelete = canPerformActionResolver.canPerformAllActions('delete');\n */\nexport const createCanPerformActionResolver = (\n\tcontext: ActionResolverContext,\n): CanPerformActionResolver => ({\n\tcanPerformAnyAction: (...actions: Action[]) => canPerformAnyAction(actions, context),\n\tcanPerformAllActions: (...actions: Action[]) => canPerformAllActions(actions, context),\n})\n"],"names":[],"mappings":";AAuBa,MAAA,iCAAiC,CAC7C,aAC+B;AAAA,EAC/B,qBAAqB,IAAI,YAAsB,oBAAoB,SAAS,OAAO;AAAA,EACnF,sBAAsB,IAAI,YAAsB,qBAAqB,SAAS,OAAO;AACtF;"}
@@ -1,29 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const v4 = require("zod/v4");
4
- const AUTHORIZATION_HEADER_SCHEMA = v4.z.union([
5
- v4.z.object({ authorization: v4.z.string() }),
6
- v4.z.object({ AUTHORIZATION: v4.z.string() })
7
- ]);
8
- const APU_TOKEN_AUTH_HEADER_SCHEMA = v4.z.union([
9
- v4.z.object({ "X-API-Token": v4.z.string() }),
10
- v4.z.object({ "X-Api-Token": v4.z.string() }),
11
- v4.z.object({ "x-api-token": v4.z.string() }),
12
- v4.z.object({ "X-API-TOKEN": v4.z.string() })
13
- ]);
14
- const AUTHENTICATION_HEADERS_SCHEMA = v4.z.union([
15
- AUTHORIZATION_HEADER_SCHEMA,
16
- APU_TOKEN_AUTH_HEADER_SCHEMA
17
- ]);
18
- const API_PLUGIN_HEADER_SCHEMA = v4.z.union([
19
- v4.z.object({ "X-Lokalise-Plugin": v4.z.string() }),
20
- v4.z.object({ "x-lokalise-plugin": v4.z.string() }),
21
- v4.z.object({ "X-LOKALISE-PLUGIN": v4.z.string() })
22
- ]);
23
- const BASE_API_ENDPOINT_HEADER_SCHEMA = AUTHENTICATION_HEADERS_SCHEMA.and(API_PLUGIN_HEADER_SCHEMA);
24
- exports.API_PLUGIN_HEADER_SCHEMA = API_PLUGIN_HEADER_SCHEMA;
25
- exports.APU_TOKEN_AUTH_HEADER_SCHEMA = APU_TOKEN_AUTH_HEADER_SCHEMA;
26
- exports.AUTHENTICATION_HEADERS_SCHEMA = AUTHENTICATION_HEADERS_SCHEMA;
27
- exports.AUTHORIZATION_HEADER_SCHEMA = AUTHORIZATION_HEADER_SCHEMA;
28
- exports.BASE_API_ENDPOINT_HEADER_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA;
4
+ const TEAM_ROLES = ["owner", "admin", "biller", "member"];
5
+ const TEAM_ROLE_SCHEMA = v4.z.enum(TEAM_ROLES);
6
+ exports.TEAM_ROLES = TEAM_ROLES;
7
+ exports.TEAM_ROLE_SCHEMA = TEAM_ROLE_SCHEMA;
29
8
  //# sourceMappingURL=harmony97.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony97.cjs","sources":["../src/features/publicApi/types/sharedTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\nexport const AUTHORIZATION_HEADER_SCHEMA = z.union([\n\tz.object({ authorization: z.string() }),\n\tz.object({ AUTHORIZATION: z.string() }),\n])\n\nexport const APU_TOKEN_AUTH_HEADER_SCHEMA = z.union([\n\tz.object({ 'X-API-Token': z.string() }),\n\tz.object({ 'X-Api-Token': z.string() }),\n\tz.object({ 'x-api-token': z.string() }),\n\tz.object({ 'X-API-TOKEN': z.string() }),\n])\n\nexport const AUTHENTICATION_HEADERS_SCHEMA = z.union([\n\tAUTHORIZATION_HEADER_SCHEMA,\n\tAPU_TOKEN_AUTH_HEADER_SCHEMA,\n])\nexport type AuthenticationHeaders = z.infer<typeof AUTHENTICATION_HEADERS_SCHEMA>\n\nexport const API_PLUGIN_HEADER_SCHEMA = z.union([\n\tz.object({ 'X-Lokalise-Plugin': z.string() }),\n\tz.object({ 'x-lokalise-plugin': z.string() }),\n\tz.object({ 'X-LOKALISE-PLUGIN': z.string() }),\n])\nexport type ApiPluginHeader = z.infer<typeof API_PLUGIN_HEADER_SCHEMA>\n\nexport const BASE_API_ENDPOINT_HEADER_SCHEMA =\n\tAUTHENTICATION_HEADERS_SCHEMA.and(API_PLUGIN_HEADER_SCHEMA)\n\nexport type BaseApiEndpointHeader = z.infer<typeof BASE_API_ENDPOINT_HEADER_SCHEMA>\n"],"names":["z"],"mappings":";;;AAEa,MAAA,8BAA8BA,KAAE,MAAM;AAAA,EAClDA,KAAE,OAAO,EAAE,eAAeA,GAAAA,EAAE,UAAU;AAAA,EACtCA,GAAAA,EAAE,OAAO,EAAE,eAAeA,GAAE,EAAA,OAAA,EAAU,CAAA;AACvC,CAAC;AAEY,MAAA,+BAA+BA,KAAE,MAAM;AAAA,EACnDA,KAAE,OAAO,EAAE,eAAeA,GAAAA,EAAE,UAAU;AAAA,EACtCA,KAAE,OAAO,EAAE,eAAeA,GAAAA,EAAE,UAAU;AAAA,EACtCA,KAAE,OAAO,EAAE,eAAeA,GAAAA,EAAE,UAAU;AAAA,EACtCA,GAAAA,EAAE,OAAO,EAAE,eAAeA,GAAE,EAAA,OAAA,EAAU,CAAA;AACvC,CAAC;AAEY,MAAA,gCAAgCA,KAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACD,CAAC;AAGY,MAAA,2BAA2BA,KAAE,MAAM;AAAA,EAC/CA,KAAE,OAAO,EAAE,qBAAqBA,GAAAA,EAAE,UAAU;AAAA,EAC5CA,KAAE,OAAO,EAAE,qBAAqBA,GAAAA,EAAE,UAAU;AAAA,EAC5CA,GAAAA,EAAE,OAAO,EAAE,qBAAqBA,GAAE,EAAA,OAAA,EAAU,CAAA;AAC7C,CAAC;AAGY,MAAA,kCACZ,8BAA8B,IAAI,wBAAwB;;;;;;"}
1
+ {"version":3,"file":"harmony97.cjs","sources":["../src/features/permissions/types/teamRoleTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\nexport const TEAM_ROLES = ['owner', 'admin', 'biller', 'member'] as const\n\nexport const TEAM_ROLE_SCHEMA = z.enum(TEAM_ROLES)\n\nexport type TeamRole = z.infer<typeof TEAM_ROLE_SCHEMA>\n"],"names":["z"],"mappings":";;;AAEO,MAAM,aAAa,CAAC,SAAS,SAAS,UAAU,QAAQ;AAElD,MAAA,mBAAmBA,GAAAA,EAAE,KAAK,UAAU;;;"}
@@ -1,29 +1,8 @@
1
1
  import { z } from "zod/v4";
2
- const AUTHORIZATION_HEADER_SCHEMA = z.union([
3
- z.object({ authorization: z.string() }),
4
- z.object({ AUTHORIZATION: z.string() })
5
- ]);
6
- const APU_TOKEN_AUTH_HEADER_SCHEMA = z.union([
7
- z.object({ "X-API-Token": z.string() }),
8
- z.object({ "X-Api-Token": z.string() }),
9
- z.object({ "x-api-token": z.string() }),
10
- z.object({ "X-API-TOKEN": z.string() })
11
- ]);
12
- const AUTHENTICATION_HEADERS_SCHEMA = z.union([
13
- AUTHORIZATION_HEADER_SCHEMA,
14
- APU_TOKEN_AUTH_HEADER_SCHEMA
15
- ]);
16
- const API_PLUGIN_HEADER_SCHEMA = z.union([
17
- z.object({ "X-Lokalise-Plugin": z.string() }),
18
- z.object({ "x-lokalise-plugin": z.string() }),
19
- z.object({ "X-LOKALISE-PLUGIN": z.string() })
20
- ]);
21
- const BASE_API_ENDPOINT_HEADER_SCHEMA = AUTHENTICATION_HEADERS_SCHEMA.and(API_PLUGIN_HEADER_SCHEMA);
2
+ const TEAM_ROLES = ["owner", "admin", "biller", "member"];
3
+ const TEAM_ROLE_SCHEMA = z.enum(TEAM_ROLES);
22
4
  export {
23
- API_PLUGIN_HEADER_SCHEMA,
24
- APU_TOKEN_AUTH_HEADER_SCHEMA,
25
- AUTHENTICATION_HEADERS_SCHEMA,
26
- AUTHORIZATION_HEADER_SCHEMA,
27
- BASE_API_ENDPOINT_HEADER_SCHEMA
5
+ TEAM_ROLES,
6
+ TEAM_ROLE_SCHEMA
28
7
  };
29
8
  //# sourceMappingURL=harmony97.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony97.mjs","sources":["../src/features/publicApi/types/sharedTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\nexport const AUTHORIZATION_HEADER_SCHEMA = z.union([\n\tz.object({ authorization: z.string() }),\n\tz.object({ AUTHORIZATION: z.string() }),\n])\n\nexport const APU_TOKEN_AUTH_HEADER_SCHEMA = z.union([\n\tz.object({ 'X-API-Token': z.string() }),\n\tz.object({ 'X-Api-Token': z.string() }),\n\tz.object({ 'x-api-token': z.string() }),\n\tz.object({ 'X-API-TOKEN': z.string() }),\n])\n\nexport const AUTHENTICATION_HEADERS_SCHEMA = z.union([\n\tAUTHORIZATION_HEADER_SCHEMA,\n\tAPU_TOKEN_AUTH_HEADER_SCHEMA,\n])\nexport type AuthenticationHeaders = z.infer<typeof AUTHENTICATION_HEADERS_SCHEMA>\n\nexport const API_PLUGIN_HEADER_SCHEMA = z.union([\n\tz.object({ 'X-Lokalise-Plugin': z.string() }),\n\tz.object({ 'x-lokalise-plugin': z.string() }),\n\tz.object({ 'X-LOKALISE-PLUGIN': z.string() }),\n])\nexport type ApiPluginHeader = z.infer<typeof API_PLUGIN_HEADER_SCHEMA>\n\nexport const BASE_API_ENDPOINT_HEADER_SCHEMA =\n\tAUTHENTICATION_HEADERS_SCHEMA.and(API_PLUGIN_HEADER_SCHEMA)\n\nexport type BaseApiEndpointHeader = z.infer<typeof BASE_API_ENDPOINT_HEADER_SCHEMA>\n"],"names":[],"mappings":";AAEa,MAAA,8BAA8B,EAAE,MAAM;AAAA,EAClD,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAA,EAAU,CAAA;AACvC,CAAC;AAEY,MAAA,+BAA+B,EAAE,MAAM;AAAA,EACnD,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAA,EAAU,CAAA;AACvC,CAAC;AAEY,MAAA,gCAAgC,EAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACD,CAAC;AAGY,MAAA,2BAA2B,EAAE,MAAM;AAAA,EAC/C,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU;AAAA,EAC5C,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU;AAAA,EAC5C,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAA,EAAU,CAAA;AAC7C,CAAC;AAGY,MAAA,kCACZ,8BAA8B,IAAI,wBAAwB;"}
1
+ {"version":3,"file":"harmony97.mjs","sources":["../src/features/permissions/types/teamRoleTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\nexport const TEAM_ROLES = ['owner', 'admin', 'biller', 'member'] as const\n\nexport const TEAM_ROLE_SCHEMA = z.enum(TEAM_ROLES)\n\nexport type TeamRole = z.infer<typeof TEAM_ROLE_SCHEMA>\n"],"names":[],"mappings":";AAEO,MAAM,aAAa,CAAC,SAAS,SAAS,UAAU,QAAQ;AAElD,MAAA,mBAAmB,EAAE,KAAK,UAAU;"}
@@ -1,89 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const paginationTypes = require("./harmony92.cjs");
4
- const sharedTypes = require("./harmony97.cjs");
5
3
  const v4 = require("zod/v4");
6
- const TEAM_API_BASE_HEADERS_SCHEMA = sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA;
7
- const EXTENDED_DATE_TIME_SCHEMA = v4.z.union([
8
- v4.z.string().refine((val) => /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \(.*\)$/.test(val), {
9
- message: "Invalid datetime format"
10
- }),
11
- v4.z.iso.datetime({ offset: true }),
12
- v4.z.iso.datetime()
13
- ]);
14
- const TEAMS_QUOTA_METRICS = [
15
- "users",
16
- "keys",
17
- "projects",
18
- "mau",
19
- "trafficBytes",
20
- "ai_words",
21
- "advancedSeats"
4
+ const LEGACY_PROJECT_PERMISSIONS = ["glossary", "create_branches"];
5
+ const LEGACY_PROJECT_PERMISSIONS_SCHEMA = v4.z.enum(LEGACY_PROJECT_PERMISSIONS);
6
+ const PROJECT_PERMISSIONS = [
7
+ "tasks",
8
+ "upload",
9
+ "activity",
10
+ "download",
11
+ "glossary_edit",
12
+ "glossary_delete",
13
+ "settings",
14
+ "statistics",
15
+ "manage_keys",
16
+ "screenshots",
17
+ "contributors",
18
+ "branches_create",
19
+ "branches_merge",
20
+ "manage_languages",
21
+ "review",
22
+ "branches_main_modify",
23
+ "custom_status_modify"
24
+ ];
25
+ const PROJECT_PERMISSIONS_SCHEMA = v4.z.enum(PROJECT_PERMISSIONS);
26
+ const MARKETING_PROJECT_PERMISSIONS = [
27
+ "settings",
28
+ "contributors",
29
+ "manage_languages"
22
30
  ];
23
- const TEAMS_QUOTA_METRICS_SCHEMA = v4.z.enum(TEAMS_QUOTA_METRICS);
24
- const TEAMS_QUOTA_USAGE_SCHEMA = v4.z.record(TEAMS_QUOTA_METRICS_SCHEMA, v4.z.number());
25
- const TEAMS_QUOTA_ALLOWED_SCHEMA = v4.z.record(TEAMS_QUOTA_METRICS_SCHEMA, v4.z.number());
26
- const LIST_TEAMS_QUERY_SCHEMA = paginationTypes.PAGINATION_QUERY_PARAMS_SCHEMA;
27
- const LIST_TEAMS_RESPONSE_SCHEMA = v4.z.object({
28
- teams: v4.z.array(
29
- v4.z.object({
30
- team_id: v4.z.number(),
31
- // TODO: This should not be optional, but the API is not consistent yet
32
- uuid: v4.z.guid().optional(),
33
- name: v4.z.string(),
34
- plan: v4.z.string(),
35
- logo_url: v4.z.string().nullable(),
36
- role: v4.z.string(),
37
- created_at: EXTENDED_DATE_TIME_SCHEMA,
38
- created_at_timestamp: v4.z.number(),
39
- quota_usage: TEAMS_QUOTA_USAGE_SCHEMA,
40
- quota_allowed: TEAMS_QUOTA_ALLOWED_SCHEMA
41
- })
42
- )
43
- });
44
- const TEAM_QUOTA_METRICS_SCHEMA = v4.z.object({
45
- id: v4.z.number().nullable().optional(),
46
- users: v4.z.number(),
47
- keys: v4.z.number(),
48
- projects: v4.z.number(),
49
- mau: v4.z.number(),
50
- trafficBytes: v4.z.number(),
51
- aiWords: v4.z.number(),
52
- advancedSeats: v4.z.number().optional()
53
- });
54
- const TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
55
- const TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
56
- const RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = v4.z.object({
57
- teamId: v4.z.union([v4.z.guid(), v4.z.number()])
58
- });
59
- const RETRIEVE_TEAM_RESPONSE_SCHEMA = v4.z.object({
60
- team: v4.z.object({
61
- team_id: v4.z.number(),
62
- // TODO: This should not be optional, but the API is not consistent yet
63
- uuid: v4.z.guid().optional(),
64
- name: v4.z.string(),
65
- plan_name: v4.z.string(),
66
- created_at: EXTENDED_DATE_TIME_SCHEMA,
67
- created_at_timestamp: v4.z.number(),
68
- logo_url: v4.z.string().nullable(),
69
- role: v4.z.string(),
70
- quota_usage: TEAM_QUOTA_USAGE_SCHEMA,
71
- quota_allowed: TEAM_QUOTA_ALLOWED_SCHEMA,
72
- is_team_suspended: v4.z.boolean(),
73
- is_end_of_trial_active: v4.z.boolean(),
74
- trial_days_left: v4.z.number()
75
- })
76
- });
77
- exports.LIST_TEAMS_QUERY_SCHEMA = LIST_TEAMS_QUERY_SCHEMA;
78
- exports.LIST_TEAMS_RESPONSE_SCHEMA = LIST_TEAMS_RESPONSE_SCHEMA;
79
- exports.RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = RETRIEVE_TEAM_PATH_PARAMS_SCHEMA;
80
- exports.RETRIEVE_TEAM_RESPONSE_SCHEMA = RETRIEVE_TEAM_RESPONSE_SCHEMA;
81
- exports.TEAMS_QUOTA_ALLOWED_SCHEMA = TEAMS_QUOTA_ALLOWED_SCHEMA;
82
- exports.TEAMS_QUOTA_METRICS = TEAMS_QUOTA_METRICS;
83
- exports.TEAMS_QUOTA_METRICS_SCHEMA = TEAMS_QUOTA_METRICS_SCHEMA;
84
- exports.TEAMS_QUOTA_USAGE_SCHEMA = TEAMS_QUOTA_USAGE_SCHEMA;
85
- exports.TEAM_API_BASE_HEADERS_SCHEMA = TEAM_API_BASE_HEADERS_SCHEMA;
86
- exports.TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_ALLOWED_SCHEMA;
87
- exports.TEAM_QUOTA_METRICS_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
88
- exports.TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_USAGE_SCHEMA;
31
+ const MARKETING_PROJECT_PERMISSIONS_SCHEMA = v4.z.enum(MARKETING_PROJECT_PERMISSIONS);
32
+ const ALL_PROJECT_PERMISSIONS_SCHEMA = v4.z.union([
33
+ PROJECT_PERMISSIONS_SCHEMA,
34
+ LEGACY_PROJECT_PERMISSIONS_SCHEMA
35
+ ]);
36
+ exports.ALL_PROJECT_PERMISSIONS_SCHEMA = ALL_PROJECT_PERMISSIONS_SCHEMA;
37
+ exports.LEGACY_PROJECT_PERMISSIONS = LEGACY_PROJECT_PERMISSIONS;
38
+ exports.LEGACY_PROJECT_PERMISSIONS_SCHEMA = LEGACY_PROJECT_PERMISSIONS_SCHEMA;
39
+ exports.MARKETING_PROJECT_PERMISSIONS = MARKETING_PROJECT_PERMISSIONS;
40
+ exports.MARKETING_PROJECT_PERMISSIONS_SCHEMA = MARKETING_PROJECT_PERMISSIONS_SCHEMA;
41
+ exports.PROJECT_PERMISSIONS = PROJECT_PERMISSIONS;
42
+ exports.PROJECT_PERMISSIONS_SCHEMA = PROJECT_PERMISSIONS_SCHEMA;
89
43
  //# sourceMappingURL=harmony98.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony98.cjs","sources":["../src/features/publicApi/types/teamTypes.ts"],"sourcesContent":["import { PAGINATION_QUERY_PARAMS_SCHEMA } from '@features/publicApi/types/paginationTypes'\nimport { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod/v4'\n\n// Shared schema\nexport const TEAM_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type TeamApiBaseHeaders = z.infer<typeof TEAM_API_BASE_HEADERS_SCHEMA>\n\n/**\n * TODO - created_at is using custom format like 2024-10-03 09:45:52 (Etc/UTC)\n * instead of ISO 8601 which is expected by ZOD and we need a custom datetime schema\n */\nconst EXTENDED_DATE_TIME_SCHEMA = z.union([\n\tz.string().refine((val) => /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\(.*\\)$/.test(val), {\n\t\tmessage: 'Invalid datetime format',\n\t}),\n\tz.iso.datetime({ offset: true }),\n\tz.iso.datetime(),\n])\n\n// There are too many differences between teams list and retrieving team\n// It is better to keep schemas separately\n\n// List teams\nexport const TEAMS_QUOTA_METRICS = [\n\t'users',\n\t'keys',\n\t'projects',\n\t'mau',\n\t'trafficBytes',\n\t'ai_words',\n\t'advancedSeats',\n] as const\n\nexport const TEAMS_QUOTA_METRICS_SCHEMA = z.enum(TEAMS_QUOTA_METRICS)\nexport type TeamsQuotaMetrics = z.infer<typeof TEAMS_QUOTA_METRICS_SCHEMA>\n\nexport const TEAMS_QUOTA_USAGE_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number())\nexport type TeamsQuotaUsage = z.infer<typeof TEAMS_QUOTA_USAGE_SCHEMA>\n\nexport const TEAMS_QUOTA_ALLOWED_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number())\nexport type TeamsQuotaAllowed = z.infer<typeof TEAMS_QUOTA_ALLOWED_SCHEMA>\n\nexport const LIST_TEAMS_QUERY_SCHEMA = PAGINATION_QUERY_PARAMS_SCHEMA\nexport type ListTeamsQueryParams = z.infer<typeof LIST_TEAMS_QUERY_SCHEMA>\n\nexport const LIST_TEAMS_RESPONSE_SCHEMA = z.object({\n\tteams: z.array(\n\t\tz.object({\n\t\t\tteam_id: z.number(),\n\t\t\t// TODO: This should not be optional, but the API is not consistent yet\n\t\t\tuuid: z.guid().optional(),\n\t\t\tname: z.string(),\n\t\t\tplan: z.string(),\n\t\t\tlogo_url: z.string().nullable(),\n\t\t\trole: z.string(),\n\t\t\tcreated_at: EXTENDED_DATE_TIME_SCHEMA,\n\t\t\tcreated_at_timestamp: z.number(),\n\t\t\tquota_usage: TEAMS_QUOTA_USAGE_SCHEMA,\n\t\t\tquota_allowed: TEAMS_QUOTA_ALLOWED_SCHEMA,\n\t\t}),\n\t),\n})\n\nexport type ListTeamsResponse = z.infer<typeof LIST_TEAMS_RESPONSE_SCHEMA>\n\n// Retrieve team\nexport const TEAM_QUOTA_METRICS_SCHEMA = z.object({\n\tid: z.number().nullable().optional(),\n\tusers: z.number(),\n\tkeys: z.number(),\n\tprojects: z.number(),\n\tmau: z.number(),\n\ttrafficBytes: z.number(),\n\taiWords: z.number(),\n\tadvancedSeats: z.number().optional(),\n})\n\nexport type TeamQuotaMetrics = z.infer<typeof TEAM_QUOTA_METRICS_SCHEMA>\n\nexport const TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA\nexport type TeamQuotaUsage = z.infer<typeof TEAM_QUOTA_USAGE_SCHEMA>\n\nexport const TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA\nexport type TeamQuotaAllowed = z.infer<typeof TEAM_QUOTA_ALLOWED_SCHEMA>\n\nexport const RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.union([z.guid(), z.number()]),\n})\n\nexport type RetrieveTeamPathParams = z.infer<typeof RETRIEVE_TEAM_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_TEAM_RESPONSE_SCHEMA = z.object({\n\tteam: z.object({\n\t\tteam_id: z.number(),\n\t\t// TODO: This should not be optional, but the API is not consistent yet\n\t\tuuid: z.guid().optional(),\n\t\tname: z.string(),\n\t\tplan_name: z.string(),\n\t\tcreated_at: EXTENDED_DATE_TIME_SCHEMA,\n\t\tcreated_at_timestamp: z.number(),\n\t\tlogo_url: z.string().nullable(),\n\t\trole: z.string(),\n\t\tquota_usage: TEAM_QUOTA_USAGE_SCHEMA,\n\t\tquota_allowed: TEAM_QUOTA_ALLOWED_SCHEMA,\n\t\tis_team_suspended: z.boolean(),\n\t\tis_end_of_trial_active: z.boolean(),\n\t\ttrial_days_left: z.number(),\n\t}),\n})\n\nexport type RetrieveTeamResponse = z.infer<typeof RETRIEVE_TEAM_RESPONSE_SCHEMA>\n"],"names":["BASE_API_ENDPOINT_HEADER_SCHEMA","z","PAGINATION_QUERY_PARAMS_SCHEMA"],"mappings":";;;;;AAKO,MAAM,+BAA+BA,YAAAA;AAQ5C,MAAM,4BAA4BC,KAAE,MAAM;AAAA,EACzCA,KAAE,OAAS,EAAA,OAAO,CAAC,QAAQ,+CAA+C,KAAK,GAAG,GAAG;AAAA,IACpF,SAAS;AAAA,EAAA,CACT;AAAA,EACDA,GAAAA,EAAE,IAAI,SAAS,EAAE,QAAQ,MAAM;AAAA,EAC/BA,GAAA,EAAE,IAAI,SAAS;AAChB,CAAC;AAMM,MAAM,sBAAsB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEa,MAAA,6BAA6BA,GAAAA,EAAE,KAAK,mBAAmB;AAG7D,MAAM,2BAA2BA,GAAAA,EAAE,OAAO,4BAA4BA,GAAAA,EAAE,OAAQ,CAAA;AAGhF,MAAM,6BAA6BA,GAAAA,EAAE,OAAO,4BAA4BA,GAAAA,EAAE,OAAQ,CAAA;AAGlF,MAAM,0BAA0BC,gBAAAA;AAG1B,MAAA,6BAA6BD,KAAE,OAAO;AAAA,EAClD,OAAOA,GAAE,EAAA;AAAA,IACRA,GAAAA,EAAE,OAAO;AAAA,MACR,SAASA,KAAE,OAAO;AAAA;AAAA,MAElB,MAAMA,GAAA,EAAE,KAAK,EAAE,SAAS;AAAA,MACxB,MAAMA,KAAE,OAAO;AAAA,MACf,MAAMA,KAAE,OAAO;AAAA,MACf,UAAUA,GAAA,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,MAAMA,KAAE,OAAO;AAAA,MACf,YAAY;AAAA,MACZ,sBAAsBA,KAAE,OAAO;AAAA,MAC/B,aAAa;AAAA,MACb,eAAe;AAAA,IACf,CAAA;AAAA,EAAA;AAEH,CAAC;AAKY,MAAA,4BAA4BA,KAAE,OAAO;AAAA,EACjD,IAAIA,GAAAA,EAAE,OAAS,EAAA,SAAA,EAAW,SAAS;AAAA,EACnC,OAAOA,KAAE,OAAO;AAAA,EAChB,MAAMA,KAAE,OAAO;AAAA,EACf,UAAUA,KAAE,OAAO;AAAA,EACnB,KAAKA,KAAE,OAAO;AAAA,EACd,cAAcA,KAAE,OAAO;AAAA,EACvB,SAASA,KAAE,OAAO;AAAA,EAClB,eAAeA,GAAAA,EAAE,OAAO,EAAE,SAAS;AACpC,CAAC;AAIM,MAAM,0BAA0B;AAGhC,MAAM,4BAA4B;AAG5B,MAAA,mCAAmCA,KAAE,OAAO;AAAA,EACxD,QAAQA,GAAAA,EAAE,MAAM,CAACA,GAAAA,EAAE,QAAQA,GAAAA,EAAE,QAAQ,CAAC;AACvC,CAAC;AAIY,MAAA,gCAAgCA,KAAE,OAAO;AAAA,EACrD,MAAMA,KAAE,OAAO;AAAA,IACd,SAASA,KAAE,OAAO;AAAA;AAAA,IAElB,MAAMA,GAAA,EAAE,KAAK,EAAE,SAAS;AAAA,IACxB,MAAMA,KAAE,OAAO;AAAA,IACf,WAAWA,KAAE,OAAO;AAAA,IACpB,YAAY;AAAA,IACZ,sBAAsBA,KAAE,OAAO;AAAA,IAC/B,UAAUA,GAAA,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,MAAMA,KAAE,OAAO;AAAA,IACf,aAAa;AAAA,IACb,eAAe;AAAA,IACf,mBAAmBA,KAAE,QAAQ;AAAA,IAC7B,wBAAwBA,KAAE,QAAQ;AAAA,IAClC,iBAAiBA,KAAE,OAAO;AAAA,EAC1B,CAAA;AACF,CAAC;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony98.cjs","sources":["../src/features/permissions/types/projectPermissionTypes.ts"],"sourcesContent":["import { z } from 'zod/v4'\n\n/** @deprecated - use `ProjectPermission` instead */\nexport const LEGACY_PROJECT_PERMISSIONS = ['glossary', 'create_branches'] as const\n\n/** @deprecated - use `ProjectPermission` instead */\nexport const LEGACY_PROJECT_PERMISSIONS_SCHEMA = z.enum(LEGACY_PROJECT_PERMISSIONS)\n\n/** @deprecated - use `ProjectPermission` instead */\nexport type LegacyProjectPermission = z.infer<typeof LEGACY_PROJECT_PERMISSIONS_SCHEMA>\n\nexport const PROJECT_PERMISSIONS = [\n\t'tasks',\n\t'upload',\n\t'activity',\n\t'download',\n\t'glossary_edit',\n\t'glossary_delete',\n\t'settings',\n\t'statistics',\n\t'manage_keys',\n\t'screenshots',\n\t'contributors',\n\t'branches_create',\n\t'branches_merge',\n\t'manage_languages',\n\t'review',\n\t'branches_main_modify',\n\t'custom_status_modify',\n] as const\n\nexport const PROJECT_PERMISSIONS_SCHEMA = z.enum(PROJECT_PERMISSIONS)\n\nexport type ProjectPermission = z.infer<typeof PROJECT_PERMISSIONS_SCHEMA>\n\n// For now, marketing project have a subset of all project permissions\n// using satisfies to ensure the type is correct, while keeping the restricted type\nexport const MARKETING_PROJECT_PERMISSIONS = [\n\t'settings',\n\t'contributors',\n\t'manage_languages',\n] as const satisfies readonly ProjectPermission[]\n\nexport const MARKETING_PROJECT_PERMISSIONS_SCHEMA = z.enum(MARKETING_PROJECT_PERMISSIONS)\n\nexport type MarketingProjectPermission = z.infer<typeof MARKETING_PROJECT_PERMISSIONS_SCHEMA>\n\nexport const ALL_PROJECT_PERMISSIONS_SCHEMA = z.union([\n\tPROJECT_PERMISSIONS_SCHEMA,\n\tLEGACY_PROJECT_PERMISSIONS_SCHEMA,\n])\n\nexport type AllProjectPermission = z.infer<typeof ALL_PROJECT_PERMISSIONS_SCHEMA>\n"],"names":["z"],"mappings":";;;AAGa,MAAA,6BAA6B,CAAC,YAAY,iBAAiB;AAG3D,MAAA,oCAAoCA,GAAAA,EAAE,KAAK,0BAA0B;AAK3E,MAAM,sBAAsB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEa,MAAA,6BAA6BA,GAAAA,EAAE,KAAK,mBAAmB;AAM7D,MAAM,gCAAgC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACD;AAEa,MAAA,uCAAuCA,GAAAA,EAAE,KAAK,6BAA6B;AAI3E,MAAA,iCAAiCA,KAAE,MAAM;AAAA,EACrD;AAAA,EACA;AACD,CAAC;;;;;;;;"}