@glissandoo/lib 1.115.0 → 1.117.0

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 (372) hide show
  1. package/functions/auth.d.ts +1 -3
  2. package/functions/customer.d.ts +0 -4
  3. package/functions/event.d.ts +22 -0
  4. package/functions/event.js +1 -1
  5. package/functions/eventPlayer.d.ts +2 -0
  6. package/functions/eventPlayer.js +1 -1
  7. package/functions/eventRepertory.d.ts +0 -2
  8. package/functions/eventRepertory.js +1 -1
  9. package/functions/eventoPayout.d.ts +70 -0
  10. package/functions/groupModule.d.ts +13 -0
  11. package/functions/groupPayment.d.ts +62 -0
  12. package/functions/groupPayoutRule.d.ts +18 -0
  13. package/functions/groupRepertory.d.ts +0 -110
  14. package/functions/index.d.ts +12 -30
  15. package/functions/index.js +13 -31
  16. package/functions/misc.d.ts +0 -6
  17. package/functions/regions.js +13 -31
  18. package/helpers/appScenes.d.ts +2 -0
  19. package/helpers/appScenes.js +3 -1
  20. package/helpers/auth.d.ts +9 -2
  21. package/helpers/auth.js +14 -33
  22. package/helpers/badges.js +1 -1
  23. package/helpers/collections.js +2 -2
  24. package/helpers/communicationTemplate/index.d.ts +2 -3
  25. package/helpers/communicationTemplate/index.js +5 -5
  26. package/helpers/currency.d.ts +4 -19
  27. package/helpers/currency.js +264 -72
  28. package/helpers/dlinks.js +1 -1
  29. package/helpers/errors.d.ts +7 -2
  30. package/helpers/errors.js +7 -2
  31. package/helpers/glissandooAdmin.d.ts +3 -0
  32. package/helpers/glissandooAdmin.js +6 -0
  33. package/helpers/instruments/index.d.ts +0 -17
  34. package/helpers/instruments/index.js +1 -5
  35. package/helpers/instruments/lists.d.ts +3 -3
  36. package/helpers/instruments/lists.js +5 -5
  37. package/helpers/musicStyles/index.d.ts +4 -22
  38. package/helpers/musicStyles/index.js +35 -114
  39. package/helpers/notifications/index.js +1 -1
  40. package/helpers/objects.d.ts +1 -5
  41. package/helpers/objects.js +6 -7
  42. package/helpers/paymentForecast.d.ts +37 -0
  43. package/helpers/paymentForecast.js +58 -0
  44. package/helpers/payoutRules.d.ts +45 -0
  45. package/helpers/payoutRules.js +166 -0
  46. package/helpers/plans.js +2 -2
  47. package/helpers/rates.d.ts +1 -1
  48. package/helpers/slate.d.ts +5 -64
  49. package/helpers/slate.js +1 -7
  50. package/helpers/ts-extras/array-includes.js +2 -1
  51. package/helpers/ts-extras/as-mutable.js +2 -1
  52. package/helpers/ts-extras/assert-error.js +2 -1
  53. package/helpers/ts-extras/index.js +1 -1
  54. package/helpers/ts-extras/is-defined.js +2 -1
  55. package/helpers/ts-extras/is-empty.js +2 -1
  56. package/helpers/ts-extras/is-infinite.js +2 -1
  57. package/helpers/ts-extras/is-present.js +2 -1
  58. package/helpers/ts-extras/object-entries.d.ts +1 -1
  59. package/helpers/ts-extras/object-from-entries.d.ts +1 -1
  60. package/helpers/ts-extras/object-has-own.js +2 -1
  61. package/helpers/ts-extras/object-keys.d.ts +1 -1
  62. package/helpers/ts-extras/object-keys.js +1 -0
  63. package/helpers/ts-extras/set-has.js +2 -1
  64. package/helpers/types.d.ts +0 -26
  65. package/helpers/types.js +5 -25
  66. package/lang/ca.json +97 -325
  67. package/lang/de.json +97 -325
  68. package/lang/en.json +97 -325
  69. package/lang/es.json +97 -325
  70. package/lang/eu.json +97 -325
  71. package/lang/fr.json +97 -325
  72. package/lang/gl.json +97 -325
  73. package/lang/index.js +2 -3
  74. package/lang/it.json +97 -325
  75. package/lang/nl.json +97 -325
  76. package/lang/pt.json +97 -325
  77. package/models/Communication/types.d.ts +16 -0
  78. package/models/Communication/types.js +9 -3
  79. package/models/Counters/Group/Analytics/types.js +1 -1
  80. package/models/Customer/index.d.ts +1 -1
  81. package/models/Customer/index.js +3 -3
  82. package/models/Customer/types.js +1 -1
  83. package/models/Evento/Player/index.d.ts +1 -0
  84. package/models/Evento/Player/index.js +3 -0
  85. package/models/Evento/Player/types.d.ts +1 -0
  86. package/models/Evento/Player/types.js +3 -3
  87. package/models/Evento/Repertory/types.d.ts +1 -2
  88. package/models/Evento/index.d.ts +4 -3
  89. package/models/Evento/index.js +10 -5
  90. package/models/Evento/types.d.ts +43 -2
  91. package/models/Evento/types.js +42 -8
  92. package/models/Federation/index.d.ts +1 -1
  93. package/models/Federation/index.js +3 -3
  94. package/models/Group/Analytics/types.js +1 -1
  95. package/models/Group/Payment/index.d.ts +45 -0
  96. package/models/Group/Payment/index.js +110 -0
  97. package/models/Group/Payment/supabase.d.ts +16 -0
  98. package/models/Group/Payment/supabase.js +46 -0
  99. package/models/Group/Payment/types.d.ts +96 -0
  100. package/models/Group/Payment/types.js +26 -0
  101. package/models/Group/Player/types.js +1 -1
  102. package/models/Group/Repertory/File/Section/index.d.ts +3 -3
  103. package/models/Group/Repertory/File/Section/index.js +2 -3
  104. package/models/Group/Repertory/File/Section/types.d.ts +0 -7
  105. package/models/Group/Repertory/File/Section/types.js +1 -1
  106. package/models/Group/Repertory/File/index.d.ts +2 -4
  107. package/models/Group/Repertory/File/index.js +4 -4
  108. package/models/Group/Repertory/FilePath/index.d.ts +4 -3
  109. package/models/Group/Repertory/index.d.ts +4 -12
  110. package/models/Group/Repertory/index.js +0 -9
  111. package/models/Group/Repertory/types.d.ts +32 -21
  112. package/models/Group/Repertory/types.js +18 -8
  113. package/models/Group/index.d.ts +20 -15
  114. package/models/Group/index.js +34 -16
  115. package/models/Group/types.d.ts +96 -6
  116. package/models/Group/types.js +63 -8
  117. package/models/Instrument/{fromRecord.d.ts → group.d.ts} +5 -4
  118. package/models/Instrument/{fromRecord.js → group.js} +10 -10
  119. package/models/Instrument/index.d.ts +0 -2
  120. package/models/Instrument/index.js +1 -38
  121. package/models/Inventory/Item/types.js +2 -2
  122. package/models/Inventory/types.js +1 -1
  123. package/models/Notification/types.d.ts +4 -1
  124. package/models/Notification/types.js +5 -2
  125. package/models/Offer/types.d.ts +12 -0
  126. package/models/Offer/types.js +15 -2
  127. package/models/Partnership/Partner/types.js +1 -1
  128. package/models/Partnership/Payment/types.js +2 -2
  129. package/models/Partnership/index.d.ts +1 -1
  130. package/models/Partnership/index.js +3 -3
  131. package/models/Partnership/types.js +1 -1
  132. package/models/Repertory/types.d.ts +0 -12
  133. package/models/Repertory/types.js +2 -2
  134. package/models/User/Group/index.js +2 -1
  135. package/models/User/index.d.ts +1 -1
  136. package/models/User/index.js +3 -3
  137. package/models/User/types.d.ts +1 -2
  138. package/models/User/types.js +7 -7
  139. package/models/WebhookEvent/types.js +1 -1
  140. package/package.json +20 -28
  141. package/types/firestore.d.ts +1 -0
  142. package/types/firestore.js +1 -1
  143. package/types/payoutRule.d.ts +126 -0
  144. package/types/payoutRule.js +34 -0
  145. package/types/payoutRule.ts +132 -0
  146. package/types/supabase/generated.d.ts +545 -3113
  147. package/types/supabase/generated.js +0 -9
  148. package/types/supabase/generated.ts +581 -3080
  149. package/types/supabase/index.d.ts +19 -155
  150. package/types/supabase/index.js +0 -15
  151. package/types/supabase/index.ts +21 -288
  152. package/types/supabase/overwrites/comm.d.ts +18 -0
  153. package/types/supabase/overwrites/comm.ts +18 -0
  154. package/types/supabase/overwrites/comm_history.d.ts +10 -0
  155. package/types/supabase/overwrites/comm_history.ts +10 -0
  156. package/types/supabase/overwrites/{tables/event/index.d.ts → event.d.ts} +1 -1
  157. package/types/supabase/overwrites/{tables/event/index.ts → event.ts} +1 -1
  158. package/types/supabase/overwrites/event_history.d.ts +10 -0
  159. package/types/supabase/overwrites/event_history.ts +10 -0
  160. package/types/supabase/overwrites/{tables/group/index.d.ts → group.d.ts} +5 -2
  161. package/types/supabase/overwrites/{tables/group/index.ts → group.ts} +6 -2
  162. package/types/supabase/overwrites/group_history.d.ts +9 -0
  163. package/types/supabase/overwrites/group_history.ts +9 -0
  164. package/types/supabase/overwrites/index.d.ts +1 -1
  165. package/types/supabase/overwrites/index.ts +1 -1
  166. package/types/supabase/overwrites/{tables/offer/index.d.ts → offer.d.ts} +2 -6
  167. package/types/supabase/overwrites/{tables/offer/index.ts → offer.ts} +2 -7
  168. package/types/supabase/overwrites/offer_history.d.ts +10 -0
  169. package/types/supabase/overwrites/offer_history.ts +10 -0
  170. package/types/supabase/overwrites/repertoire.d.ts +12 -0
  171. package/types/supabase/overwrites/repertoire.ts +12 -0
  172. package/types/supabase/overwrites/repertoire_history.d.ts +10 -0
  173. package/types/supabase/overwrites/repertoire_history.ts +10 -0
  174. package/functions/composer.d.ts +0 -13
  175. package/functions/composerComposition.d.ts +0 -102
  176. package/functions/composerNotification.d.ts +0 -38
  177. package/functions/composerPayout.d.ts +0 -20
  178. package/helpers/catalogBridge.d.ts +0 -121
  179. package/helpers/catalogBridge.js +0 -95
  180. package/helpers/compositionCategories/genres.d.ts +0 -922
  181. package/helpers/compositionCategories/genres.js +0 -940
  182. package/helpers/compositionCategories/index.d.ts +0 -2
  183. package/helpers/compositionCategories/index.js +0 -18
  184. package/helpers/compositionCategories/styles.d.ts +0 -181
  185. package/helpers/compositionCategories/styles.js +0 -197
  186. package/helpers/compositionSoloistOffstageParts/index.d.ts +0 -34
  187. package/helpers/compositionSoloistOffstageParts/index.js +0 -117
  188. package/helpers/currencyConversion.d.ts +0 -45
  189. package/helpers/currencyConversion.js +0 -119
  190. package/helpers/dataStructures/trees/index.d.ts +0 -12
  191. package/helpers/dataStructures/trees/index.js +0 -71
  192. package/helpers/dataStructures/trees/types.d.ts +0 -14
  193. package/helpers/dataStructures/trees/types.js +0 -5
  194. package/helpers/externalUrls.d.ts +0 -12
  195. package/helpers/externalUrls.js +0 -40
  196. package/models/CompositionGenre/index.d.ts +0 -9
  197. package/models/CompositionGenre/index.js +0 -16
  198. package/models/CompositionStyle/index.d.ts +0 -9
  199. package/models/CompositionStyle/index.js +0 -16
  200. package/models/supabase/Comm/index.d.ts +0 -24
  201. package/models/supabase/Comm/index.js +0 -68
  202. package/models/supabase/Comm/types.d.ts +0 -6
  203. package/models/supabase/CommHistory/index.d.ts +0 -22
  204. package/models/supabase/CommHistory/index.js +0 -37
  205. package/models/supabase/CommHistory/types.d.ts +0 -11
  206. package/models/supabase/CommHistory/types.js +0 -9
  207. package/models/supabase/Composer/Composition/Acquisition/index.d.ts +0 -4
  208. package/models/supabase/Composer/Composition/Acquisition/index.js +0 -9
  209. package/models/supabase/Composer/Composition/Acquisition/types.d.ts +0 -36
  210. package/models/supabase/Composer/Composition/Favorite/index.d.ts +0 -4
  211. package/models/supabase/Composer/Composition/Favorite/index.js +0 -9
  212. package/models/supabase/Composer/Composition/Favorite/types.d.ts +0 -6
  213. package/models/supabase/Composer/Composition/View/index.d.ts +0 -4
  214. package/models/supabase/Composer/Composition/View/index.js +0 -9
  215. package/models/supabase/Composer/Composition/View/types.d.ts +0 -6
  216. package/models/supabase/Composer/Composition/index.d.ts +0 -5284
  217. package/models/supabase/Composer/Composition/index.js +0 -166
  218. package/models/supabase/Composer/Composition/types.d.ts +0 -96
  219. package/models/supabase/Composer/Composition/types.js +0 -32
  220. package/models/supabase/Composer/Notification/index.d.ts +0 -4
  221. package/models/supabase/Composer/Notification/index.js +0 -9
  222. package/models/supabase/Composer/Notification/types.d.ts +0 -39
  223. package/models/supabase/Composer/Notification/types.js +0 -27
  224. package/models/supabase/Composer/Payout/index.d.ts +0 -4
  225. package/models/supabase/Composer/Payout/index.js +0 -9
  226. package/models/supabase/Composer/Payout/status.d.ts +0 -1
  227. package/models/supabase/Composer/Payout/types.d.ts +0 -5
  228. package/models/supabase/Composer/PerformanceAttendance/types.d.ts +0 -4
  229. package/models/supabase/Composer/index.d.ts +0 -78
  230. package/models/supabase/Composer/index.js +0 -105
  231. package/models/supabase/Composer/types.d.ts +0 -6
  232. package/models/supabase/EventHistory/index.d.ts +0 -22
  233. package/models/supabase/EventHistory/index.js +0 -37
  234. package/models/supabase/EventHistory/types.d.ts +0 -36
  235. package/models/supabase/EventHistory/types.js +0 -34
  236. package/models/supabase/GroupHistory/index.d.ts +0 -21
  237. package/models/supabase/GroupHistory/index.js +0 -34
  238. package/models/supabase/GroupHistory/types.d.ts +0 -27
  239. package/models/supabase/GroupHistory/types.js +0 -25
  240. package/models/supabase/Model/index.d.ts +0 -10
  241. package/models/supabase/Model/index.js +0 -21
  242. package/models/supabase/OfferHistory/index.d.ts +0 -22
  243. package/models/supabase/OfferHistory/index.js +0 -37
  244. package/models/supabase/OfferHistory/types.d.ts +0 -18
  245. package/models/supabase/OfferHistory/types.js +0 -16
  246. package/models/supabase/Repertoire/index.d.ts +0 -16
  247. package/models/supabase/Repertoire/index.js +0 -43
  248. package/models/supabase/Repertoire/types.d.ts +0 -6
  249. package/models/supabase/RepertoireHistory/index.d.ts +0 -22
  250. package/models/supabase/RepertoireHistory/index.js +0 -37
  251. package/models/supabase/RepertoireHistory/types.d.ts +0 -21
  252. package/models/supabase/RepertoireHistory/types.js +0 -19
  253. package/models/supabase/User/Group/index.d.ts +0 -11
  254. package/models/supabase/User/Group/index.js +0 -30
  255. package/models/supabase/User/Group/types.d.ts +0 -6
  256. package/models/supabase/User/index.d.ts +0 -13
  257. package/models/supabase/User/index.js +0 -37
  258. package/models/supabase/User/types.d.ts +0 -6
  259. package/types/supabase/catalog.d.ts +0 -46
  260. package/types/supabase/catalog.js +0 -2
  261. package/types/supabase/catalog.ts +0 -67
  262. package/types/supabase/composerMetrics.d.ts +0 -27
  263. package/types/supabase/composerMetrics.js +0 -2
  264. package/types/supabase/composerMetrics.ts +0 -26
  265. package/types/supabase/overwrites/tables/comm/model.d.ts +0 -4
  266. package/types/supabase/overwrites/tables/comm/model.js +0 -2
  267. package/types/supabase/overwrites/tables/comm/model.ts +0 -4
  268. package/types/supabase/overwrites/tables/comm_history/index.d.ts +0 -7
  269. package/types/supabase/overwrites/tables/comm_history/index.js +0 -2
  270. package/types/supabase/overwrites/tables/comm_history/index.ts +0 -9
  271. package/types/supabase/overwrites/tables/comm_history/model.d.ts +0 -10
  272. package/types/supabase/overwrites/tables/comm_history/model.js +0 -2
  273. package/types/supabase/overwrites/tables/comm_history/model.ts +0 -13
  274. package/types/supabase/overwrites/tables/common/index.js +0 -2
  275. package/types/supabase/overwrites/tables/composer/index.d.ts +0 -9
  276. package/types/supabase/overwrites/tables/composer/index.js +0 -2
  277. package/types/supabase/overwrites/tables/composer/index.ts +0 -10
  278. package/types/supabase/overwrites/tables/composer/model.d.ts +0 -12
  279. package/types/supabase/overwrites/tables/composer/model.js +0 -2
  280. package/types/supabase/overwrites/tables/composer/model.ts +0 -15
  281. package/types/supabase/overwrites/tables/composer/publicModel.d.ts +0 -11
  282. package/types/supabase/overwrites/tables/composer/publicModel.js +0 -2
  283. package/types/supabase/overwrites/tables/composer/publicModel.ts +0 -15
  284. package/types/supabase/overwrites/tables/composerComposition/index.d.ts +0 -18
  285. package/types/supabase/overwrites/tables/composerComposition/index.js +0 -2
  286. package/types/supabase/overwrites/tables/composerComposition/index.ts +0 -24
  287. package/types/supabase/overwrites/tables/composerComposition/model.d.ts +0 -9
  288. package/types/supabase/overwrites/tables/composerComposition/model.js +0 -2
  289. package/types/supabase/overwrites/tables/composerComposition/model.ts +0 -26
  290. package/types/supabase/overwrites/tables/composerComposition/publicModel.d.ts +0 -9
  291. package/types/supabase/overwrites/tables/composerComposition/publicModel.js +0 -2
  292. package/types/supabase/overwrites/tables/composerComposition/publicModel.ts +0 -37
  293. package/types/supabase/overwrites/tables/composerNotification/index.d.ts +0 -19
  294. package/types/supabase/overwrites/tables/composerNotification/index.js +0 -2
  295. package/types/supabase/overwrites/tables/composerNotification/index.ts +0 -25
  296. package/types/supabase/overwrites/tables/composerOwnedTransaction/model.d.ts +0 -2
  297. package/types/supabase/overwrites/tables/composerOwnedTransaction/model.js +0 -2
  298. package/types/supabase/overwrites/tables/composerOwnedTransaction/model.ts +0 -3
  299. package/types/supabase/overwrites/tables/composerPayout/index.d.ts +0 -7
  300. package/types/supabase/overwrites/tables/composerPayout/index.js +0 -2
  301. package/types/supabase/overwrites/tables/composerPayout/index.ts +0 -8
  302. package/types/supabase/overwrites/tables/compositionAcquisition/index.d.ts +0 -4
  303. package/types/supabase/overwrites/tables/compositionAcquisition/index.js +0 -2
  304. package/types/supabase/overwrites/tables/compositionAcquisition/index.ts +0 -8
  305. package/types/supabase/overwrites/tables/compositionAcquisition/model.d.ts +0 -6
  306. package/types/supabase/overwrites/tables/compositionAcquisition/model.js +0 -2
  307. package/types/supabase/overwrites/tables/compositionAcquisition/model.ts +0 -11
  308. package/types/supabase/overwrites/tables/compositionFavorite/index.d.ts +0 -1
  309. package/types/supabase/overwrites/tables/compositionFavorite/index.js +0 -2
  310. package/types/supabase/overwrites/tables/compositionFavorite/index.ts +0 -2
  311. package/types/supabase/overwrites/tables/compositionFavorite/model.d.ts +0 -1
  312. package/types/supabase/overwrites/tables/compositionFavorite/model.js +0 -2
  313. package/types/supabase/overwrites/tables/compositionFavorite/model.ts +0 -1
  314. package/types/supabase/overwrites/tables/compositionView/index.d.ts +0 -1
  315. package/types/supabase/overwrites/tables/compositionView/index.js +0 -2
  316. package/types/supabase/overwrites/tables/compositionView/index.ts +0 -2
  317. package/types/supabase/overwrites/tables/compositionView/model.d.ts +0 -1
  318. package/types/supabase/overwrites/tables/compositionView/model.js +0 -2
  319. package/types/supabase/overwrites/tables/compositionView/model.ts +0 -1
  320. package/types/supabase/overwrites/tables/currencyExchangeRate/index.d.ts +0 -16
  321. package/types/supabase/overwrites/tables/currencyExchangeRate/index.js +0 -2
  322. package/types/supabase/overwrites/tables/currencyExchangeRate/index.ts +0 -18
  323. package/types/supabase/overwrites/tables/event/index.js +0 -2
  324. package/types/supabase/overwrites/tables/event_history/index.d.ts +0 -7
  325. package/types/supabase/overwrites/tables/event_history/index.js +0 -2
  326. package/types/supabase/overwrites/tables/event_history/index.ts +0 -9
  327. package/types/supabase/overwrites/tables/event_history/model.d.ts +0 -10
  328. package/types/supabase/overwrites/tables/event_history/model.js +0 -2
  329. package/types/supabase/overwrites/tables/event_history/model.ts +0 -13
  330. package/types/supabase/overwrites/tables/group/index.js +0 -2
  331. package/types/supabase/overwrites/tables/group_history/index.d.ts +0 -7
  332. package/types/supabase/overwrites/tables/group_history/index.js +0 -2
  333. package/types/supabase/overwrites/tables/group_history/index.ts +0 -9
  334. package/types/supabase/overwrites/tables/group_history/model.d.ts +0 -10
  335. package/types/supabase/overwrites/tables/group_history/model.js +0 -2
  336. package/types/supabase/overwrites/tables/group_history/model.ts +0 -13
  337. package/types/supabase/overwrites/tables/offer/index.js +0 -2
  338. package/types/supabase/overwrites/tables/offer_history/index.d.ts +0 -7
  339. package/types/supabase/overwrites/tables/offer_history/index.js +0 -2
  340. package/types/supabase/overwrites/tables/offer_history/index.ts +0 -9
  341. package/types/supabase/overwrites/tables/offer_history/model.d.ts +0 -10
  342. package/types/supabase/overwrites/tables/offer_history/model.js +0 -2
  343. package/types/supabase/overwrites/tables/offer_history/model.ts +0 -13
  344. package/types/supabase/overwrites/tables/repertoire/model.d.ts +0 -7
  345. package/types/supabase/overwrites/tables/repertoire/model.js +0 -2
  346. package/types/supabase/overwrites/tables/repertoire/model.ts +0 -7
  347. package/types/supabase/overwrites/tables/repertoire_history/index.d.ts +0 -7
  348. package/types/supabase/overwrites/tables/repertoire_history/index.js +0 -2
  349. package/types/supabase/overwrites/tables/repertoire_history/index.ts +0 -9
  350. package/types/supabase/overwrites/tables/repertoire_history/model.d.ts +0 -10
  351. package/types/supabase/overwrites/tables/repertoire_history/model.js +0 -2
  352. package/types/supabase/overwrites/tables/repertoire_history/model.ts +0 -13
  353. package/types/supabase/overwrites/tables/user/index.d.ts +0 -11
  354. package/types/supabase/overwrites/tables/user/index.js +0 -2
  355. package/types/supabase/overwrites/tables/user/index.ts +0 -13
  356. /package/functions/{composer.js → eventoPayout.js} +0 -0
  357. /package/functions/{composerComposition.js → groupModule.js} +0 -0
  358. /package/functions/{composerNotification.js → groupPayment.js} +0 -0
  359. /package/functions/{composerPayout.js → groupPayoutRule.js} +0 -0
  360. /package/{models/supabase/Comm/types.js → types/supabase/overwrites/comm.js} +0 -0
  361. /package/{models/supabase/Composer/Composition/Acquisition/types.js → types/supabase/overwrites/comm_history.js} +0 -0
  362. /package/{models/supabase/Composer/Composition/Favorite/types.js → types/supabase/overwrites/event.js} +0 -0
  363. /package/{models/supabase/Composer/Composition/View/types.js → types/supabase/overwrites/event_history.js} +0 -0
  364. /package/{models/supabase/Composer/Payout/status.js → types/supabase/overwrites/group.js} +0 -0
  365. /package/{models/supabase/Composer/Payout/types.js → types/supabase/overwrites/group_history.js} +0 -0
  366. /package/{models/supabase/Composer/PerformanceAttendance/types.js → types/supabase/overwrites/offer.js} +0 -0
  367. /package/{models/supabase/Composer/types.js → types/supabase/overwrites/offer_history.js} +0 -0
  368. /package/{models/supabase/Repertoire/types.js → types/supabase/overwrites/repertoire.js} +0 -0
  369. /package/{models/supabase/User/Group/types.js → types/supabase/overwrites/repertoire_history.js} +0 -0
  370. /package/types/supabase/overwrites/{tables/common/index.d.ts → utils.d.ts} +0 -0
  371. /package/{models/supabase/User/types.js → types/supabase/overwrites/utils.js} +0 -0
  372. /package/types/supabase/overwrites/{tables/common/index.ts → utils.ts} +0 -0
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const lodash_1 = require("lodash");
7
7
  const collections_1 = require("../../helpers/collections");
8
- const externalUrls_1 = require("../../helpers/externalUrls");
8
+ const glissandooAdmin_1 = require("../../helpers/glissandooAdmin");
9
9
  const objects_1 = require("../../helpers/objects");
10
10
  const utils_1 = require("../../helpers/utils");
11
11
  const lang_1 = require("../../lang");
@@ -153,8 +153,8 @@ class User extends extended_1.default {
153
153
  get lastWebLoginAt() {
154
154
  return this.data.lastWebLoginAt || null;
155
155
  }
156
- getGlissandooAdminUrl(adminHost) {
157
- return (0, externalUrls_1.buildAdminEntityUrl)(adminHost, collections_1.CollectionNames.User, this.id);
156
+ get glissandooAdminUrl() {
157
+ return (0, glissandooAdmin_1.getGlissandooAdminEntityURL)(collections_1.CollectionNames.User, this.id);
158
158
  }
159
159
  get customerIds() {
160
160
  return this.data.customerIds || [];
@@ -130,7 +130,6 @@ export interface UserRatingData {
130
130
  hasRatedApp: boolean;
131
131
  lastRatePromptAt: Timestamp | null;
132
132
  }
133
- export type UserId = string;
134
133
  export interface AUserBasicData extends UserBasicData {
135
- id: UserId;
134
+ id: string;
136
135
  }
@@ -5,13 +5,13 @@ var UserRole;
5
5
  (function (UserRole) {
6
6
  UserRole["SuperAdmin"] = "admin";
7
7
  UserRole["User"] = "user";
8
- })(UserRole || (exports.UserRole = UserRole = {}));
8
+ })(UserRole = exports.UserRole || (exports.UserRole = {}));
9
9
  var UserRegisterVia;
10
10
  (function (UserRegisterVia) {
11
11
  UserRegisterVia["Web"] = "web";
12
12
  UserRegisterVia["App"] = "app";
13
13
  UserRegisterVia["Invitation"] = "invitation";
14
- })(UserRegisterVia || (exports.UserRegisterVia = UserRegisterVia = {}));
14
+ })(UserRegisterVia = exports.UserRegisterVia || (exports.UserRegisterVia = {}));
15
15
  var UserAppConfig;
16
16
  (function (UserAppConfig) {
17
17
  UserAppConfig["DefaultGroupId"] = "default_group_id";
@@ -24,7 +24,7 @@ var UserAppConfig;
24
24
  UserAppConfig["OffersFilterCountry"] = "offers_filter_country";
25
25
  UserAppConfig["OffersFilterInstrument"] = "offers_filter_instrument";
26
26
  UserAppConfig["OffersFilterMusicStyle"] = "offers_filter_music_style";
27
- })(UserAppConfig || (exports.UserAppConfig = UserAppConfig = {}));
27
+ })(UserAppConfig = exports.UserAppConfig || (exports.UserAppConfig = {}));
28
28
  var UserDashboardConfig;
29
29
  (function (UserDashboardConfig) {
30
30
  UserDashboardConfig["DefaultGroupId"] = "default_group_id";
@@ -32,18 +32,18 @@ var UserDashboardConfig;
32
32
  UserDashboardConfig["RepertoireOrderBy"] = "repertoire_order_by";
33
33
  UserDashboardConfig["RepertoireOrderDirection"] = "repertoire_order_direction";
34
34
  UserDashboardConfig["EventsType"] = "events_type";
35
- })(UserDashboardConfig || (exports.UserDashboardConfig = UserDashboardConfig = {}));
35
+ })(UserDashboardConfig = exports.UserDashboardConfig || (exports.UserDashboardConfig = {}));
36
36
  var UserNotificationSettings;
37
37
  (function (UserNotificationSettings) {
38
38
  UserNotificationSettings["AttendanceConfirmed"] = "enabled_attendance_confirmed";
39
39
  UserNotificationSettings["AttendanceDeclined"] = "enabled_attendance_declined";
40
40
  UserNotificationSettings["NewMembers"] = "enabled_new_members";
41
- })(UserNotificationSettings || (exports.UserNotificationSettings = UserNotificationSettings = {}));
41
+ })(UserNotificationSettings = exports.UserNotificationSettings || (exports.UserNotificationSettings = {}));
42
42
  var UserEmailSettings;
43
43
  (function (UserEmailSettings) {
44
44
  UserEmailSettings["ReminderBiweeklyEvents"] = "enabled_reminder_biweekly_events";
45
45
  UserEmailSettings["Newsletter"] = "enabled_newsletter";
46
- })(UserEmailSettings || (exports.UserEmailSettings = UserEmailSettings = {}));
46
+ })(UserEmailSettings = exports.UserEmailSettings || (exports.UserEmailSettings = {}));
47
47
  var UserEventsFilter;
48
48
  (function (UserEventsFilter) {
49
49
  UserEventsFilter[UserEventsFilter["Month"] = 1] = "Month";
@@ -51,4 +51,4 @@ var UserEventsFilter;
51
51
  UserEventsFilter[UserEventsFilter["SemiAnnual"] = 6] = "SemiAnnual";
52
52
  UserEventsFilter[UserEventsFilter["Annual"] = 12] = "Annual";
53
53
  UserEventsFilter[UserEventsFilter["Always"] = 1000] = "Always";
54
- })(UserEventsFilter || (exports.UserEventsFilter = UserEventsFilter = {}));
54
+ })(UserEventsFilter = exports.UserEventsFilter || (exports.UserEventsFilter = {}));
@@ -6,4 +6,4 @@ var WebhookEventSource;
6
6
  WebhookEventSource["stripe"] = "stripe";
7
7
  WebhookEventSource["messageBird"] = "messageBird";
8
8
  WebhookEventSource["gocardless"] = "gocardless";
9
- })(WebhookEventSource || (exports.WebhookEventSource = WebhookEventSource = {}));
9
+ })(WebhookEventSource = exports.WebhookEventSource || (exports.WebhookEventSource = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissandoo/lib",
3
- "version": "1.115.0",
3
+ "version": "1.117.0",
4
4
  "description": "Glissandoo library js",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -14,57 +14,49 @@
14
14
  "lint:single": "eslint",
15
15
  "lint": "eslint --ext .ts ./src",
16
16
  "postversion": "git push && git push --tags",
17
- "prepare": "npm run build:link",
17
+ "prepare": "rm -rf ./lib && npm run build:link",
18
18
  "preversion": "npm run lint",
19
19
  "publish:beta": "npm publish --tag beta",
20
20
  "set-husky": "node scripts/setHusky.js",
21
- "supabase:dev:env:update": "firebase --project=dev functions:secrets:set SUPABASE_ENV --data-file supabase/.env.dev",
22
- "supabase:dev:env:download": "firebase --project=dev functions:secrets:access SUPABASE_ENV > supabase/.env.dev",
23
- "supabase:prod:env:update": "firebase --project=production functions:secrets:set SUPABASE_ENV --data-file supabase/.env.prod",
24
- "supabase:prod:env:download": "firebase --project=production functions:secrets:access SUPABASE_ENV > supabase/.env.prod",
21
+ "supabase:dev:env:update": "firebase --project=dev functions:secrets:set SUPABASE_ENV --data-file supabase/.dev.env",
22
+ "supabase:dev:env:download": "firebase --project=dev functions:secrets:access SUPABASE_ENV > supabase/.dev.env",
23
+ "supabase:prod:env:update": "firebase --project=production functions:secrets:set SUPABASE_ENV --data-file supabase/.prod.env",
24
+ "supabase:prod:env:download": "firebase --project=production functions:secrets:access SUPABASE_ENV > supabase/.prod.env",
25
25
  "runtimeconfig:download": "firebase functions:secrets:access RUNTIMECONFIG > .runtimeconfig.json",
26
- "supabase:local": "if [ -f supabase/.env.local ]; then export $(grep -v '^#' supabase/.env.local | xargs); fi; supabase",
27
- "supabase:dev:link": "export $(grep -v '^#' supabase/.env.dev | xargs) && supabase link --project-ref=$SUPABASE_PROJECT_REF",
28
- "supabase:prod:link": "export $(grep -v '^#' supabase/.env.prod | xargs) && supabase link --project-ref=$SUPABASE_PROJECT_REF",
29
- "supabase:dev": "export $(grep -v '^#' supabase/.env.dev | xargs) && LINKED_REF=$(supabase projects list | grep '●' | awk -F '|' '{print $3}' | xargs) && [ \"$LINKED_REF\" != \"$SUPABASE_PROJECT_REF\" ] && npm run supabase:dev:link; supabase",
30
- "supabase:prod": "export $(grep -v '^#' supabase/.env.prod | xargs) && LINKED_REF=$(supabase projects list | grep '●' | awk -F '|' '{print $3}' | xargs) && [ \"$LINKED_REF\" != \"$SUPABASE_PROJECT_REF\" ] && npm run supabase:prod:link; supabase",
31
- "supabase:local:types": "npm run --silent supabase:local -- gen types typescript --local > src/types/supabase/generated.ts && prettier --write src/types/supabase/generated.ts",
26
+ "supabase:dev:link": "export $(grep -v '^#' supabase/.dev.env | xargs) && supabase link --project-ref=$SUPABASE_PROJECT_REF",
27
+ "supabase:prod:link": "export $(grep -v '^#' supabase/.prod.env | xargs) && supabase link --project-ref=$SUPABASE_PROJECT_REF",
28
+ "supabase:dev": "export $(grep -v '^#' supabase/.dev.env | xargs) && LINKED_REF=$(supabase projects list | grep '●' | awk -F '|' '{print $3}' | xargs) && [ \"$LINKED_REF\" != \"$SUPABASE_PROJECT_REF\" ] && npm run supabase:dev:link; supabase",
29
+ "supabase:prod": "export $(grep -v '^#' supabase/.prod.env | xargs) && LINKED_REF=$(supabase projects list | grep '●' | awk -F '|' '{print $3}' | xargs) && [ \"$LINKED_REF\" != \"$SUPABASE_PROJECT_REF\" ] && npm run supabase:prod:link; supabase",
30
+ "supabase:local:types": "supabase gen types typescript --local > src/types/supabase/generated.ts; prettier --write src/types/supabase/generated.ts",
32
31
  "supabase:prod:types": "supabase gen types typescript --project-id fqqdedotyiuyetimcflq > src/types/supabase/generated.ts; prettier --write src/types/supabase/generated.ts",
33
- "supabase:local:seed:autosave": "node scripts/autosave_local_db_seed.js",
34
- "supabase:local:seed:edit": "npm run supabase:local -- start && npm run supabase:local -- db reset && LOCAL_STATE_SUPABASE_SEED=supabase/seed.edit.sql node scripts/autosave_local_db_seed.js",
35
- "supabase:local:seed:save": "node scripts/save_local_db_seed.js",
36
32
  "test": "echo \"Error: no test specified\" && exit 1",
37
33
  "translation:download": "localazy download",
38
34
  "translation:upload": "localazy upload",
39
- "tsc": "find ./lib -mindepth 1 -delete 2>/dev/null; mkdir -p ./lib && cp package.json ./lib && tsc",
40
- "version": "npm run format && git add -A src && ./publish.sh"
35
+ "tsc": "cp package.json ./lib && tsc"
41
36
  },
42
37
  "author": "Glissandoo",
43
38
  "license": "ISC",
44
39
  "dependencies": {
45
- "@glissandoo/icons": "^1.9.5",
46
40
  "date-fns": "^3.6.0",
47
41
  "date-fns-tz": "^3.1.3",
48
42
  "lodash": "^4.17.21",
49
- "type-fest": "4.8.3"
43
+ "type-fest": "^4.8.3"
50
44
  },
51
45
  "devDependencies": {
52
- "@eslint/js": "^9.36.0",
53
46
  "@google-cloud/firestore": "^7.1.0",
54
47
  "@localazy/cli": "^1.6.5",
55
48
  "@types/lodash": "^4.14.168",
56
49
  "@types/node": "^14.18.42",
50
+ "@typescript-eslint/eslint-plugin": "^5.48.0",
51
+ "@typescript-eslint/parser": "^5.48.0",
57
52
  "dotenv-cli": "^8.0.0",
58
- "eslint": "^9.36.0",
59
- "eslint-config-prettier": "^10.1.8",
60
- "globals": "^16.4.0",
53
+ "eslint": "^7.24.0",
54
+ "eslint-config-prettier": "^8.2.0",
61
55
  "husky": "^8.0.1",
62
56
  "lint-staged": "^12.4.1",
63
- "prettier": "^3.6.2",
64
- "supabase": "2.102.0",
65
- "ts-node": "^10.9.2",
66
- "typescript": "^5.9.3",
67
- "typescript-eslint": "^8.45.0"
57
+ "prettier": "^2.2.1",
58
+ "supabase": "^2.104.0",
59
+ "typescript": "^4.9.4"
68
60
  },
69
61
  "lint-staged": {
70
62
  "*.{ts,json}": "npm run format:single --"
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ /// <reference types="node" />
16
17
  /**
17
18
  * Document data (for use with `DocumentReference.set()`) consists of fields
18
19
  * mapped to values.
@@ -54,4 +54,4 @@ var GrpcStatus;
54
54
  GrpcStatus[GrpcStatus["UNAVAILABLE"] = 14] = "UNAVAILABLE";
55
55
  GrpcStatus[GrpcStatus["DATA_LOSS"] = 15] = "DATA_LOSS";
56
56
  GrpcStatus[GrpcStatus["UNAUTHENTICATED"] = 16] = "UNAUTHENTICATED";
57
- })(GrpcStatus || (exports.GrpcStatus = GrpcStatus = {}));
57
+ })(GrpcStatus = exports.GrpcStatus || (exports.GrpcStatus = {}));
@@ -0,0 +1,126 @@
1
+ import { Timestamp } from '@google-cloud/firestore';
2
+ /**
3
+ * Shared types for the payout rules engine.
4
+ * Rules live at two levels:
5
+ * - Group level (templates, can be `pinned` to auto-apply to new events)
6
+ * - Event level (snapshot copied from the group when payout is initialized)
7
+ */
8
+ export declare enum PayoutRuleType {
9
+ EntityShare = "entityShare",
10
+ DefaultExpense = "defaultExpense",
11
+ PlayerMultiplier = "playerMultiplier",
12
+ PlayerBonus = "playerBonus",
13
+ PlayerFixed = "playerFixed",
14
+ PlayerExclude = "playerExclude"
15
+ }
16
+ export declare enum PayoutRuleConditionOperator {
17
+ Eq = "eq",
18
+ Neq = "neq",
19
+ Gt = "gt",
20
+ Gte = "gte",
21
+ Lt = "lt",
22
+ Lte = "lte",
23
+ In = "in",
24
+ Nin = "nin"
25
+ }
26
+ export type PayoutRuleConditionFieldKind = 'mainInstrument' | 'isGuest' | `custom.${string}`;
27
+ export type PayoutRuleConditionValue = string | number | boolean | string[] | number[] | null;
28
+ export interface PayoutRuleCondition {
29
+ field: PayoutRuleConditionFieldKind;
30
+ operator: PayoutRuleConditionOperator;
31
+ value: PayoutRuleConditionValue;
32
+ }
33
+ export declare enum PayoutRuleEntityShareMode {
34
+ Fixed = "fixed",
35
+ Percentage = "percentage"
36
+ }
37
+ export interface PayoutRuleEntityShareEffect {
38
+ mode: PayoutRuleEntityShareMode;
39
+ value: number;
40
+ }
41
+ export interface PayoutRuleDefaultExpenseEffect {
42
+ concept: string;
43
+ amount: number;
44
+ /**
45
+ * `null` = expense remains general (reduces the shared pot).
46
+ * Future: could materialize per-attendee expenses.
47
+ */
48
+ assignTo: null;
49
+ }
50
+ export interface PayoutRulePlayerMultiplierEffect {
51
+ multiplier: number;
52
+ }
53
+ export interface PayoutRulePlayerBonusEffect {
54
+ amount: number;
55
+ }
56
+ export interface PayoutRulePlayerFixedEffect {
57
+ amount: number;
58
+ }
59
+ export type PayoutRulePlayerExcludeEffect = Record<string, never>;
60
+ export type PayoutRuleEffect = {
61
+ type: PayoutRuleType.EntityShare;
62
+ data: PayoutRuleEntityShareEffect;
63
+ } | {
64
+ type: PayoutRuleType.DefaultExpense;
65
+ data: PayoutRuleDefaultExpenseEffect;
66
+ } | {
67
+ type: PayoutRuleType.PlayerMultiplier;
68
+ data: PayoutRulePlayerMultiplierEffect;
69
+ } | {
70
+ type: PayoutRuleType.PlayerBonus;
71
+ data: PayoutRulePlayerBonusEffect;
72
+ } | {
73
+ type: PayoutRuleType.PlayerFixed;
74
+ data: PayoutRulePlayerFixedEffect;
75
+ } | {
76
+ type: PayoutRuleType.PlayerExclude;
77
+ data: PayoutRulePlayerExcludeEffect;
78
+ };
79
+ /**
80
+ * Common shape stored in both group templates and event snapshots.
81
+ */
82
+ export interface PayoutRuleBaseData {
83
+ name: string;
84
+ description: string | null;
85
+ order: number;
86
+ conditions: PayoutRuleCondition[];
87
+ effect: PayoutRuleEffect;
88
+ createdAt: Timestamp;
89
+ createdBy: string;
90
+ editedAt: Timestamp | null;
91
+ editedBy: string | null;
92
+ }
93
+ /**
94
+ * Helper used by the pure rules engine. Holds the minimal data
95
+ * required to evaluate conditions against a player.
96
+ */
97
+ export interface PayoutRulePlayerInput {
98
+ id: string;
99
+ mainInstrument: string;
100
+ isGuest: boolean;
101
+ customFields: Record<string, string | number | boolean | null>;
102
+ }
103
+ export interface GroupPayoutRuleEntry {
104
+ id: string;
105
+ name: string;
106
+ order: number;
107
+ pinned: boolean;
108
+ conditions: PayoutRuleCondition[];
109
+ effect: PayoutRuleEffect;
110
+ createdAt: Timestamp;
111
+ createdBy: string;
112
+ editedAt: Timestamp | null;
113
+ editedBy: string | null;
114
+ }
115
+ export interface EventoPayoutRuleEntry {
116
+ id: string;
117
+ name: string;
118
+ order: number;
119
+ sourceGroupRuleId: string | null;
120
+ conditions: PayoutRuleCondition[];
121
+ effect: PayoutRuleEffect;
122
+ createdAt: Timestamp;
123
+ createdBy: string;
124
+ editedAt: Timestamp | null;
125
+ editedBy: string | null;
126
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayoutRuleEntityShareMode = exports.PayoutRuleConditionOperator = exports.PayoutRuleType = void 0;
4
+ /**
5
+ * Shared types for the payout rules engine.
6
+ * Rules live at two levels:
7
+ * - Group level (templates, can be `pinned` to auto-apply to new events)
8
+ * - Event level (snapshot copied from the group when payout is initialized)
9
+ */
10
+ var PayoutRuleType;
11
+ (function (PayoutRuleType) {
12
+ PayoutRuleType["EntityShare"] = "entityShare";
13
+ PayoutRuleType["DefaultExpense"] = "defaultExpense";
14
+ PayoutRuleType["PlayerMultiplier"] = "playerMultiplier";
15
+ PayoutRuleType["PlayerBonus"] = "playerBonus";
16
+ PayoutRuleType["PlayerFixed"] = "playerFixed";
17
+ PayoutRuleType["PlayerExclude"] = "playerExclude";
18
+ })(PayoutRuleType = exports.PayoutRuleType || (exports.PayoutRuleType = {}));
19
+ var PayoutRuleConditionOperator;
20
+ (function (PayoutRuleConditionOperator) {
21
+ PayoutRuleConditionOperator["Eq"] = "eq";
22
+ PayoutRuleConditionOperator["Neq"] = "neq";
23
+ PayoutRuleConditionOperator["Gt"] = "gt";
24
+ PayoutRuleConditionOperator["Gte"] = "gte";
25
+ PayoutRuleConditionOperator["Lt"] = "lt";
26
+ PayoutRuleConditionOperator["Lte"] = "lte";
27
+ PayoutRuleConditionOperator["In"] = "in";
28
+ PayoutRuleConditionOperator["Nin"] = "nin";
29
+ })(PayoutRuleConditionOperator = exports.PayoutRuleConditionOperator || (exports.PayoutRuleConditionOperator = {}));
30
+ var PayoutRuleEntityShareMode;
31
+ (function (PayoutRuleEntityShareMode) {
32
+ PayoutRuleEntityShareMode["Fixed"] = "fixed";
33
+ PayoutRuleEntityShareMode["Percentage"] = "percentage";
34
+ })(PayoutRuleEntityShareMode = exports.PayoutRuleEntityShareMode || (exports.PayoutRuleEntityShareMode = {}));
@@ -0,0 +1,132 @@
1
+ import { Timestamp } from '@google-cloud/firestore';
2
+
3
+ /**
4
+ * Shared types for the payout rules engine.
5
+ * Rules live at two levels:
6
+ * - Group level (templates, can be `pinned` to auto-apply to new events)
7
+ * - Event level (snapshot copied from the group when payout is initialized)
8
+ */
9
+
10
+ export enum PayoutRuleType {
11
+ EntityShare = 'entityShare',
12
+ DefaultExpense = 'defaultExpense',
13
+ PlayerMultiplier = 'playerMultiplier',
14
+ PlayerBonus = 'playerBonus',
15
+ PlayerFixed = 'playerFixed',
16
+ PlayerExclude = 'playerExclude',
17
+ }
18
+
19
+ export enum PayoutRuleConditionOperator {
20
+ Eq = 'eq',
21
+ Neq = 'neq',
22
+ Gt = 'gt',
23
+ Gte = 'gte',
24
+ Lt = 'lt',
25
+ Lte = 'lte',
26
+ In = 'in',
27
+ Nin = 'nin',
28
+ }
29
+
30
+ export type PayoutRuleConditionFieldKind = 'mainInstrument' | 'isGuest' | `custom.${string}`;
31
+
32
+ export type PayoutRuleConditionValue = string | number | boolean | string[] | number[] | null;
33
+
34
+ export interface PayoutRuleCondition {
35
+ field: PayoutRuleConditionFieldKind;
36
+ operator: PayoutRuleConditionOperator;
37
+ value: PayoutRuleConditionValue;
38
+ }
39
+
40
+ export enum PayoutRuleEntityShareMode {
41
+ Fixed = 'fixed',
42
+ Percentage = 'percentage',
43
+ }
44
+
45
+ export interface PayoutRuleEntityShareEffect {
46
+ mode: PayoutRuleEntityShareMode;
47
+ value: number;
48
+ }
49
+
50
+ export interface PayoutRuleDefaultExpenseEffect {
51
+ concept: string;
52
+ amount: number;
53
+ /**
54
+ * `null` = expense remains general (reduces the shared pot).
55
+ * Future: could materialize per-attendee expenses.
56
+ */
57
+ assignTo: null;
58
+ }
59
+
60
+ export interface PayoutRulePlayerMultiplierEffect {
61
+ multiplier: number;
62
+ }
63
+
64
+ export interface PayoutRulePlayerBonusEffect {
65
+ amount: number;
66
+ }
67
+
68
+ export interface PayoutRulePlayerFixedEffect {
69
+ amount: number;
70
+ }
71
+
72
+ export type PayoutRulePlayerExcludeEffect = Record<string, never>;
73
+
74
+ export type PayoutRuleEffect =
75
+ | { type: PayoutRuleType.EntityShare; data: PayoutRuleEntityShareEffect }
76
+ | { type: PayoutRuleType.DefaultExpense; data: PayoutRuleDefaultExpenseEffect }
77
+ | { type: PayoutRuleType.PlayerMultiplier; data: PayoutRulePlayerMultiplierEffect }
78
+ | { type: PayoutRuleType.PlayerBonus; data: PayoutRulePlayerBonusEffect }
79
+ | { type: PayoutRuleType.PlayerFixed; data: PayoutRulePlayerFixedEffect }
80
+ | { type: PayoutRuleType.PlayerExclude; data: PayoutRulePlayerExcludeEffect };
81
+
82
+ /**
83
+ * Common shape stored in both group templates and event snapshots.
84
+ */
85
+ export interface PayoutRuleBaseData {
86
+ name: string;
87
+ description: string | null;
88
+ order: number;
89
+ conditions: PayoutRuleCondition[];
90
+ effect: PayoutRuleEffect;
91
+ createdAt: Timestamp;
92
+ createdBy: string;
93
+ editedAt: Timestamp | null;
94
+ editedBy: string | null;
95
+ }
96
+
97
+ /**
98
+ * Helper used by the pure rules engine. Holds the minimal data
99
+ * required to evaluate conditions against a player.
100
+ */
101
+ export interface PayoutRulePlayerInput {
102
+ id: string;
103
+ mainInstrument: string;
104
+ isGuest: boolean;
105
+ customFields: Record<string, string | number | boolean | null>;
106
+ }
107
+
108
+ export interface GroupPayoutRuleEntry {
109
+ id: string;
110
+ name: string;
111
+ order: number;
112
+ pinned: boolean;
113
+ conditions: PayoutRuleCondition[];
114
+ effect: PayoutRuleEffect;
115
+ createdAt: Timestamp;
116
+ createdBy: string;
117
+ editedAt: Timestamp | null;
118
+ editedBy: string | null;
119
+ }
120
+
121
+ export interface EventoPayoutRuleEntry {
122
+ id: string;
123
+ name: string;
124
+ order: number;
125
+ sourceGroupRuleId: string | null;
126
+ conditions: PayoutRuleCondition[];
127
+ effect: PayoutRuleEffect;
128
+ createdAt: Timestamp;
129
+ createdBy: string;
130
+ editedAt: Timestamp | null;
131
+ editedBy: string | null;
132
+ }