@dereekb/firebase-server 12.6.21 → 13.0.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 (332) hide show
  1. package/LICENSE +1 -1
  2. package/index.cjs.js +2937 -0
  3. package/index.esm.js +2775 -0
  4. package/mailgun/index.cjs.js +48 -0
  5. package/mailgun/index.esm.js +46 -0
  6. package/mailgun/package.json +26 -6
  7. package/model/index.cjs.js +5298 -0
  8. package/model/index.d.ts +1 -0
  9. package/model/index.esm.js +5161 -0
  10. package/model/package.json +31 -3
  11. package/model/src/lib/notification/notification.module.d.ts +10 -10
  12. package/model/src/lib/storagefile/storagefile.task.service.handler.d.ts +3 -14
  13. package/package.json +48 -27
  14. package/src/lib/auth/auth.context.d.ts +1 -1
  15. package/src/lib/auth/auth.service.d.ts +1 -1
  16. package/src/lib/function/assert.d.ts +2 -2
  17. package/src/lib/function/context.d.ts +1 -1
  18. package/src/lib/index.d.ts +1 -0
  19. package/src/lib/nest/app.d.ts +1 -1
  20. package/src/lib/nest/development/development.app.function.d.ts +1 -2
  21. package/src/lib/nest/function/call.d.ts +1 -1
  22. package/src/lib/nest/function/context.d.ts +0 -4
  23. package/src/lib/nest/function/index.d.ts +0 -1
  24. package/src/lib/nest/function/nest.d.ts +1 -1
  25. package/src/lib/nest/function/v2/blocking.d.ts +3 -2
  26. package/src/lib/nest/model/crud.assert.function.d.ts +0 -4
  27. package/src/lib/storage/storage.d.ts +1 -1
  28. package/src/lib/type.d.ts +9 -0
  29. package/test/index.cjs.js +1324 -0
  30. package/test/index.d.ts +1 -0
  31. package/test/index.esm.js +1247 -0
  32. package/test/package.json +34 -3
  33. package/test/src/lib/firebase/firebase.admin.auth.d.ts +22 -13
  34. package/test/src/lib/firebase/firebase.admin.collection.d.ts +6 -6
  35. package/test/src/lib/firebase/firebase.admin.d.ts +10 -10
  36. package/test/src/lib/firebase/firebase.admin.function.d.ts +9 -9
  37. package/test/src/lib/firebase/firebase.admin.nest.d.ts +8 -8
  38. package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +9 -9
  39. package/test/src/lib/firebase/firebase.test.d.ts +30 -0
  40. package/test/src/lib/firebase/index.d.ts +1 -1
  41. package/test/src/lib/firestore/firestore.admin.d.ts +3 -3
  42. package/test/src/lib/firestore/firestore.d.ts +2 -2
  43. package/test/src/lib/storage/storage.admin.d.ts +3 -3
  44. package/test/src/lib/storage/storage.d.ts +2 -2
  45. package/zoho/LICENSE +1 -1
  46. package/zoho/index.d.ts +1 -0
  47. package/zoho/index.esm.js +2 -2
  48. package/zoho/package.json +12 -8
  49. package/CHANGELOG.md +0 -2233
  50. package/mailgun/src/index.js +0 -5
  51. package/mailgun/src/index.js.map +0 -1
  52. package/mailgun/src/lib/auth.mailgun.js +0 -41
  53. package/mailgun/src/lib/auth.mailgun.js.map +0 -1
  54. package/mailgun/src/lib/index.js +0 -5
  55. package/mailgun/src/lib/index.js.map +0 -1
  56. package/model/src/index.js +0 -5
  57. package/model/src/index.js.map +0 -1
  58. package/model/src/lib/index.js +0 -7
  59. package/model/src/lib/index.js.map +0 -1
  60. package/model/src/lib/mailgun/index.js +0 -5
  61. package/model/src/lib/mailgun/index.js.map +0 -1
  62. package/model/src/lib/mailgun/notification.send.service.mailgun.js +0 -68
  63. package/model/src/lib/mailgun/notification.send.service.mailgun.js.map +0 -1
  64. package/model/src/lib/notification/index.js +0 -20
  65. package/model/src/lib/notification/index.js.map +0 -1
  66. package/model/src/lib/notification/notification.action.init.service.js +0 -230
  67. package/model/src/lib/notification/notification.action.init.service.js.map +0 -1
  68. package/model/src/lib/notification/notification.action.service.js +0 -1487
  69. package/model/src/lib/notification/notification.action.service.js.map +0 -1
  70. package/model/src/lib/notification/notification.config.js +0 -13
  71. package/model/src/lib/notification/notification.config.js.map +0 -1
  72. package/model/src/lib/notification/notification.config.service.js +0 -60
  73. package/model/src/lib/notification/notification.config.service.js.map +0 -1
  74. package/model/src/lib/notification/notification.create.run.js +0 -59
  75. package/model/src/lib/notification/notification.create.run.js.map +0 -1
  76. package/model/src/lib/notification/notification.error.js +0 -87
  77. package/model/src/lib/notification/notification.error.js.map +0 -1
  78. package/model/src/lib/notification/notification.expedite.service.js +0 -112
  79. package/model/src/lib/notification/notification.expedite.service.js.map +0 -1
  80. package/model/src/lib/notification/notification.module.js +0 -106
  81. package/model/src/lib/notification/notification.module.js.map +0 -1
  82. package/model/src/lib/notification/notification.send.js +0 -3
  83. package/model/src/lib/notification/notification.send.js.map +0 -1
  84. package/model/src/lib/notification/notification.send.service.js +0 -10
  85. package/model/src/lib/notification/notification.send.service.js.map +0 -1
  86. package/model/src/lib/notification/notification.send.service.notificationsummary.js +0 -104
  87. package/model/src/lib/notification/notification.send.service.notificationsummary.js.map +0 -1
  88. package/model/src/lib/notification/notification.send.service.text.js +0 -29
  89. package/model/src/lib/notification/notification.send.service.text.js.map +0 -1
  90. package/model/src/lib/notification/notification.task.service.handler.js +0 -65
  91. package/model/src/lib/notification/notification.task.service.handler.js.map +0 -1
  92. package/model/src/lib/notification/notification.task.service.js +0 -10
  93. package/model/src/lib/notification/notification.task.service.js.map +0 -1
  94. package/model/src/lib/notification/notification.task.service.util.js +0 -27
  95. package/model/src/lib/notification/notification.task.service.util.js.map +0 -1
  96. package/model/src/lib/notification/notification.task.subtask.handler.js +0 -256
  97. package/model/src/lib/notification/notification.task.subtask.handler.js.map +0 -1
  98. package/model/src/lib/notification/notification.util.js +0 -478
  99. package/model/src/lib/notification/notification.util.js.map +0 -1
  100. package/model/src/lib/storagefile/index.js +0 -12
  101. package/model/src/lib/storagefile/index.js.map +0 -1
  102. package/model/src/lib/storagefile/storagefile.action.init.service.js +0 -155
  103. package/model/src/lib/storagefile/storagefile.action.init.service.js.map +0 -1
  104. package/model/src/lib/storagefile/storagefile.action.server.js +0 -797
  105. package/model/src/lib/storagefile/storagefile.action.server.js.map +0 -1
  106. package/model/src/lib/storagefile/storagefile.error.js +0 -106
  107. package/model/src/lib/storagefile/storagefile.error.js.map +0 -1
  108. package/model/src/lib/storagefile/storagefile.module.js +0 -64
  109. package/model/src/lib/storagefile/storagefile.module.js.map +0 -1
  110. package/model/src/lib/storagefile/storagefile.task.service.handler.js +0 -287
  111. package/model/src/lib/storagefile/storagefile.task.service.handler.js.map +0 -1
  112. package/model/src/lib/storagefile/storagefile.upload.service.initializer.js +0 -180
  113. package/model/src/lib/storagefile/storagefile.upload.service.initializer.js.map +0 -1
  114. package/model/src/lib/storagefile/storagefile.upload.service.js +0 -10
  115. package/model/src/lib/storagefile/storagefile.upload.service.js.map +0 -1
  116. package/model/src/lib/storagefile/storagefile.util.js +0 -54
  117. package/model/src/lib/storagefile/storagefile.util.js.map +0 -1
  118. package/src/index.js +0 -5
  119. package/src/index.js.map +0 -1
  120. package/src/lib/auth/auth.context.js +0 -13
  121. package/src/lib/auth/auth.context.js.map +0 -1
  122. package/src/lib/auth/auth.service.error.js +0 -34
  123. package/src/lib/auth/auth.service.error.js.map +0 -1
  124. package/src/lib/auth/auth.service.js +0 -427
  125. package/src/lib/auth/auth.service.js.map +0 -1
  126. package/src/lib/auth/auth.util.js +0 -23
  127. package/src/lib/auth/auth.util.js.map +0 -1
  128. package/src/lib/auth/index.js +0 -8
  129. package/src/lib/auth/index.js.map +0 -1
  130. package/src/lib/env/env.service.js +0 -7
  131. package/src/lib/env/env.service.js.map +0 -1
  132. package/src/lib/env/index.js +0 -5
  133. package/src/lib/env/index.js.map +0 -1
  134. package/src/lib/firestore/array.js +0 -34
  135. package/src/lib/firestore/array.js.map +0 -1
  136. package/src/lib/firestore/driver.accessor.batch.js +0 -93
  137. package/src/lib/firestore/driver.accessor.batch.js.map +0 -1
  138. package/src/lib/firestore/driver.accessor.default.js +0 -62
  139. package/src/lib/firestore/driver.accessor.default.js.map +0 -1
  140. package/src/lib/firestore/driver.accessor.js +0 -50
  141. package/src/lib/firestore/driver.accessor.js.map +0 -1
  142. package/src/lib/firestore/driver.accessor.transaction.js +0 -96
  143. package/src/lib/firestore/driver.accessor.transaction.js.map +0 -1
  144. package/src/lib/firestore/driver.js +0 -14
  145. package/src/lib/firestore/driver.js.map +0 -1
  146. package/src/lib/firestore/driver.query.js +0 -55
  147. package/src/lib/firestore/driver.query.js.map +0 -1
  148. package/src/lib/firestore/firestore.js +0 -10
  149. package/src/lib/firestore/firestore.js.map +0 -1
  150. package/src/lib/firestore/increment.js +0 -17
  151. package/src/lib/firestore/increment.js.map +0 -1
  152. package/src/lib/firestore/index.js +0 -9
  153. package/src/lib/firestore/index.js.map +0 -1
  154. package/src/lib/function/assert.js +0 -68
  155. package/src/lib/function/assert.js.map +0 -1
  156. package/src/lib/function/context.js +0 -14
  157. package/src/lib/function/context.js.map +0 -1
  158. package/src/lib/function/error.auth.js +0 -25
  159. package/src/lib/function/error.auth.js.map +0 -1
  160. package/src/lib/function/error.js +0 -221
  161. package/src/lib/function/error.js.map +0 -1
  162. package/src/lib/function/index.js +0 -9
  163. package/src/lib/function/index.js.map +0 -1
  164. package/src/lib/function/type.js +0 -3
  165. package/src/lib/function/type.js.map +0 -1
  166. package/src/lib/index.js +0 -11
  167. package/src/lib/index.js.map +0 -1
  168. package/src/lib/nest/app.js +0 -114
  169. package/src/lib/nest/app.js.map +0 -1
  170. package/src/lib/nest/auth/auth.module.js +0 -60
  171. package/src/lib/nest/auth/auth.module.js.map +0 -1
  172. package/src/lib/nest/auth/auth.util.js +0 -72
  173. package/src/lib/nest/auth/auth.util.js.map +0 -1
  174. package/src/lib/nest/auth/index.js +0 -6
  175. package/src/lib/nest/auth/index.js.map +0 -1
  176. package/src/lib/nest/development/development.app.function.js +0 -38
  177. package/src/lib/nest/development/development.app.function.js.map +0 -1
  178. package/src/lib/nest/development/development.assert.function.js +0 -3
  179. package/src/lib/nest/development/development.assert.function.js.map +0 -1
  180. package/src/lib/nest/development/development.function.js +0 -41
  181. package/src/lib/nest/development/development.function.js.map +0 -1
  182. package/src/lib/nest/development/development.schedule.function.error.js +0 -35
  183. package/src/lib/nest/development/development.schedule.function.error.js.map +0 -1
  184. package/src/lib/nest/development/development.schedule.function.js +0 -54
  185. package/src/lib/nest/development/development.schedule.function.js.map +0 -1
  186. package/src/lib/nest/development/index.js +0 -9
  187. package/src/lib/nest/development/index.js.map +0 -1
  188. package/src/lib/nest/env/env.service.js +0 -19
  189. package/src/lib/nest/env/env.service.js.map +0 -1
  190. package/src/lib/nest/env/env.util.js +0 -12
  191. package/src/lib/nest/env/env.util.js.map +0 -1
  192. package/src/lib/nest/env/index.js +0 -6
  193. package/src/lib/nest/env/index.js.map +0 -1
  194. package/src/lib/nest/firebase/firebase.module.js +0 -17
  195. package/src/lib/nest/firebase/firebase.module.js.map +0 -1
  196. package/src/lib/nest/firebase/index.js +0 -5
  197. package/src/lib/nest/firebase/index.js.map +0 -1
  198. package/src/lib/nest/firestore/firestore.module.js +0 -86
  199. package/src/lib/nest/firestore/firestore.module.js.map +0 -1
  200. package/src/lib/nest/firestore/index.js +0 -5
  201. package/src/lib/nest/firestore/index.js.map +0 -1
  202. package/src/lib/nest/function/call.js +0 -46
  203. package/src/lib/nest/function/call.js.map +0 -1
  204. package/src/lib/nest/function/context.js +0 -79
  205. package/src/lib/nest/function/context.js.map +0 -1
  206. package/src/lib/nest/function/index.js +0 -10
  207. package/src/lib/nest/function/index.js.map +0 -1
  208. package/src/lib/nest/function/nest.js +0 -17
  209. package/src/lib/nest/function/nest.js.map +0 -1
  210. package/src/lib/nest/function/schedule.js +0 -8
  211. package/src/lib/nest/function/schedule.js.map +0 -1
  212. package/src/lib/nest/function/v1/call.d.ts +0 -59
  213. package/src/lib/nest/function/v1/call.js +0 -55
  214. package/src/lib/nest/function/v1/call.js.map +0 -1
  215. package/src/lib/nest/function/v1/event.d.ts +0 -80
  216. package/src/lib/nest/function/v1/event.js +0 -52
  217. package/src/lib/nest/function/v1/event.js.map +0 -1
  218. package/src/lib/nest/function/v1/index.d.ts +0 -3
  219. package/src/lib/nest/function/v1/index.js +0 -7
  220. package/src/lib/nest/function/v1/index.js.map +0 -1
  221. package/src/lib/nest/function/v1/schedule.d.ts +0 -47
  222. package/src/lib/nest/function/v1/schedule.js +0 -68
  223. package/src/lib/nest/function/v1/schedule.js.map +0 -1
  224. package/src/lib/nest/function/v2/blocking.js +0 -38
  225. package/src/lib/nest/function/v2/blocking.js.map +0 -1
  226. package/src/lib/nest/function/v2/call.js +0 -31
  227. package/src/lib/nest/function/v2/call.js.map +0 -1
  228. package/src/lib/nest/function/v2/event.js +0 -25
  229. package/src/lib/nest/function/v2/event.js.map +0 -1
  230. package/src/lib/nest/function/v2/index.js +0 -9
  231. package/src/lib/nest/function/v2/index.js.map +0 -1
  232. package/src/lib/nest/function/v2/schedule.js +0 -56
  233. package/src/lib/nest/function/v2/schedule.js.map +0 -1
  234. package/src/lib/nest/function/v2/taskqueue.js +0 -26
  235. package/src/lib/nest/function/v2/taskqueue.js.map +0 -1
  236. package/src/lib/nest/index.js +0 -15
  237. package/src/lib/nest/index.js.map +0 -1
  238. package/src/lib/nest/middleware/appcheck.decorator.js +0 -12
  239. package/src/lib/nest/middleware/appcheck.decorator.js.map +0 -1
  240. package/src/lib/nest/middleware/appcheck.js +0 -3
  241. package/src/lib/nest/middleware/appcheck.js.map +0 -1
  242. package/src/lib/nest/middleware/appcheck.middleware.js +0 -74
  243. package/src/lib/nest/middleware/appcheck.middleware.js.map +0 -1
  244. package/src/lib/nest/middleware/appcheck.module.js +0 -21
  245. package/src/lib/nest/middleware/appcheck.module.js.map +0 -1
  246. package/src/lib/nest/middleware/globalprefix.js +0 -11
  247. package/src/lib/nest/middleware/globalprefix.js.map +0 -1
  248. package/src/lib/nest/middleware/index.js +0 -10
  249. package/src/lib/nest/middleware/index.js.map +0 -1
  250. package/src/lib/nest/middleware/rawbody.middleware.js +0 -16
  251. package/src/lib/nest/middleware/rawbody.middleware.js.map +0 -1
  252. package/src/lib/nest/middleware/webhook.js +0 -24
  253. package/src/lib/nest/middleware/webhook.js.map +0 -1
  254. package/src/lib/nest/model/call.model.function.js +0 -73
  255. package/src/lib/nest/model/call.model.function.js.map +0 -1
  256. package/src/lib/nest/model/create.model.function.js +0 -27
  257. package/src/lib/nest/model/create.model.function.js.map +0 -1
  258. package/src/lib/nest/model/crud.assert.function.js +0 -3
  259. package/src/lib/nest/model/crud.assert.function.js.map +0 -1
  260. package/src/lib/nest/model/delete.model.function.js +0 -27
  261. package/src/lib/nest/model/delete.model.function.js.map +0 -1
  262. package/src/lib/nest/model/index.js +0 -11
  263. package/src/lib/nest/model/index.js.map +0 -1
  264. package/src/lib/nest/model/permission.error.js +0 -24
  265. package/src/lib/nest/model/permission.error.js.map +0 -1
  266. package/src/lib/nest/model/read.model.function.js +0 -27
  267. package/src/lib/nest/model/read.model.function.js.map +0 -1
  268. package/src/lib/nest/model/specifier.function.js +0 -35
  269. package/src/lib/nest/model/specifier.function.js.map +0 -1
  270. package/src/lib/nest/model/update.model.function.js +0 -27
  271. package/src/lib/nest/model/update.model.function.js.map +0 -1
  272. package/src/lib/nest/nest.provider.js +0 -89
  273. package/src/lib/nest/nest.provider.js.map +0 -1
  274. package/src/lib/nest/storage/index.js +0 -5
  275. package/src/lib/nest/storage/index.js.map +0 -1
  276. package/src/lib/nest/storage/storage.module.js +0 -112
  277. package/src/lib/nest/storage/storage.module.js.map +0 -1
  278. package/src/lib/storage/driver.accessor.js +0 -299
  279. package/src/lib/storage/driver.accessor.js.map +0 -1
  280. package/src/lib/storage/driver.js +0 -12
  281. package/src/lib/storage/driver.js.map +0 -1
  282. package/src/lib/storage/index.js +0 -8
  283. package/src/lib/storage/index.js.map +0 -1
  284. package/src/lib/storage/storage.js +0 -20
  285. package/src/lib/storage/storage.js.map +0 -1
  286. package/src/lib/storage/storage.service.js +0 -26
  287. package/src/lib/storage/storage.service.js.map +0 -1
  288. package/test/src/index.js +0 -5
  289. package/test/src/index.js.map +0 -1
  290. package/test/src/lib/firebase/firebase.admin.auth.js +0 -260
  291. package/test/src/lib/firebase/firebase.admin.auth.js.map +0 -1
  292. package/test/src/lib/firebase/firebase.admin.collection.js +0 -108
  293. package/test/src/lib/firebase/firebase.admin.collection.js.map +0 -1
  294. package/test/src/lib/firebase/firebase.admin.function.js +0 -132
  295. package/test/src/lib/firebase/firebase.admin.function.js.map +0 -1
  296. package/test/src/lib/firebase/firebase.admin.js +0 -174
  297. package/test/src/lib/firebase/firebase.admin.js.map +0 -1
  298. package/test/src/lib/firebase/firebase.admin.nest.function.callable.context.js +0 -42
  299. package/test/src/lib/firebase/firebase.admin.nest.function.callable.context.js.map +0 -1
  300. package/test/src/lib/firebase/firebase.admin.nest.function.cloud.context.js +0 -40
  301. package/test/src/lib/firebase/firebase.admin.nest.function.cloud.context.js.map +0 -1
  302. package/test/src/lib/firebase/firebase.admin.nest.function.js +0 -64
  303. package/test/src/lib/firebase/firebase.admin.nest.function.js.map +0 -1
  304. package/test/src/lib/firebase/firebase.admin.nest.js +0 -107
  305. package/test/src/lib/firebase/firebase.admin.nest.js.map +0 -1
  306. package/test/src/lib/firebase/firebase.admin.test.server.js +0 -37
  307. package/test/src/lib/firebase/firebase.admin.test.server.js.map +0 -1
  308. package/test/src/lib/firebase/firebase.function.js +0 -58
  309. package/test/src/lib/firebase/firebase.function.js.map +0 -1
  310. package/test/src/lib/firebase/firebase.jest.d.ts +0 -21
  311. package/test/src/lib/firebase/firebase.jest.js +0 -45
  312. package/test/src/lib/firebase/firebase.jest.js.map +0 -1
  313. package/test/src/lib/firebase/firebase.js +0 -74
  314. package/test/src/lib/firebase/firebase.js.map +0 -1
  315. package/test/src/lib/firebase/index.js +0 -15
  316. package/test/src/lib/firebase/index.js.map +0 -1
  317. package/test/src/lib/firestore/firestore.admin.js +0 -21
  318. package/test/src/lib/firestore/firestore.admin.js.map +0 -1
  319. package/test/src/lib/firestore/firestore.js +0 -57
  320. package/test/src/lib/firestore/firestore.js.map +0 -1
  321. package/test/src/lib/firestore/index.js +0 -6
  322. package/test/src/lib/firestore/index.js.map +0 -1
  323. package/test/src/lib/index.js +0 -7
  324. package/test/src/lib/index.js.map +0 -1
  325. package/test/src/lib/storage/index.js +0 -6
  326. package/test/src/lib/storage/index.js.map +0 -1
  327. package/test/src/lib/storage/storage.admin.js +0 -21
  328. package/test/src/lib/storage/storage.admin.js.map +0 -1
  329. package/test/src/lib/storage/storage.js +0 -59
  330. package/test/src/lib/storage/storage.js.map +0 -1
  331. /package/{zoho/index.cjs.d.ts → index.d.ts} +0 -0
  332. /package/{zoho/index.esm.d.ts → mailgun/index.d.ts} +0 -0
@@ -1,478 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeNewNotificationSummaryTemplate = makeNewNotificationSummaryTemplate;
4
- exports.expandNotificationRecipients = expandNotificationRecipients;
5
- exports.updateNotificationUserNotificationBoxRecipientConfig = updateNotificationUserNotificationBoxRecipientConfig;
6
- const firebase_1 = require("@dereekb/firebase");
7
- const util_1 = require("@dereekb/util");
8
- const notification_error_1 = require("./notification.error");
9
- // MARK: Create NotificationSummary
10
- function makeNewNotificationSummaryTemplate(model) {
11
- return {
12
- cat: new Date(),
13
- m: model,
14
- o: (0, firebase_1.firestoreDummyKey)(),
15
- s: true,
16
- n: []
17
- };
18
- }
19
- /**
20
- * "Expands" the input into recipients for emails, texts, etc.
21
- *
22
- * Recipients may come from the NotificationBox, Notification or from the global recipients.
23
- *
24
- * Recipients are each configurable and may be defined with as little info as a single contact info, or have multiple contact info pieces associated with them.
25
- *
26
- * @param input
27
- * @returns
28
- */
29
- async function expandNotificationRecipients(input) {
30
- const { notificationUserAccessor, authService, notification, notificationBox, globalRecipients: inputGlobalRecipients, recipientFlagOverride, notificationSummaryIdForUid: inputNotificationSummaryIdForUid, onlySendToExplicitlyEnabledRecipients: inputOnlySendToExplicitlyEnabledRecipients, onlyTextExplicitlyEnabledRecipients: inputOnlyTextExplicitlyEnabledRecipients } = input;
31
- const notificationBoxId = notificationBox?.id;
32
- const notificationSummaryIdForUid = inputNotificationSummaryIdForUid ?? (() => undefined);
33
- const notificationTemplateType = notification.n.t || firebase_1.DEFAULT_NOTIFICATION_TEMPLATE_TYPE;
34
- const recipientFlag = recipientFlagOverride ?? notification.rf ?? firebase_1.NotificationRecipientSendFlag.NORMAL;
35
- const onlyTextExplicitlyEnabledRecipients = inputOnlyTextExplicitlyEnabledRecipients !== false; // defaults to true
36
- const onlySendToExplicitlyEnabledRecipients = inputOnlySendToExplicitlyEnabledRecipients === true; // defaults to false
37
- const onlyEmailExplicitlyEnabledRecipients = onlySendToExplicitlyEnabledRecipients;
38
- const onlySendPushNotificationExplicitlyEnabledRecipients = onlySendToExplicitlyEnabledRecipients;
39
- const onlySendNotificationSummaryExplicitlyEnabledRecipients = onlySendToExplicitlyEnabledRecipients;
40
- const { canSendToGlobalRecipients, canSendToBoxRecipients, canSendToExplicitRecipients } = (0, firebase_1.allowedNotificationRecipients)(recipientFlag);
41
- const initialExplicitRecipients = canSendToExplicitRecipients ? notification.r : [];
42
- const initialGlobalRecipients = canSendToGlobalRecipients && inputGlobalRecipients ? inputGlobalRecipients : [];
43
- const explicitRecipients = initialExplicitRecipients.map((x) => ({
44
- ...x,
45
- ...(0, firebase_1.effectiveNotificationBoxRecipientTemplateConfig)(x)
46
- }));
47
- const globalRecipients = initialGlobalRecipients.map((x) => ({
48
- ...x,
49
- ...(0, firebase_1.effectiveNotificationBoxRecipientTemplateConfig)(x)
50
- }));
51
- const explicitAndGlobalRecipients = [...explicitRecipients, ...globalRecipients];
52
- const allBoxRecipientConfigs = canSendToBoxRecipients && notificationBox ? notificationBox.r : [];
53
- const recipientUids = new Set();
54
- const relevantBoxRecipientConfigs = [];
55
- // find all recipients in the NotificationBox with the target template type flagged for them.
56
- allBoxRecipientConfigs.forEach((x) => {
57
- // ignore opt-out flagged recipients and excluded recipients
58
- if (!x.f && !x.x) {
59
- const relevantConfig = x.c[notificationTemplateType];
60
- const effectiveTemplateConfig = relevantConfig ? (0, firebase_1.effectiveNotificationBoxRecipientTemplateConfig)(relevantConfig) : undefined;
61
- if (!effectiveTemplateConfig || effectiveTemplateConfig.st || effectiveTemplateConfig.se || effectiveTemplateConfig.sp || effectiveTemplateConfig.st) {
62
- relevantBoxRecipientConfigs.push({
63
- recipient: x,
64
- effectiveTemplateConfig
65
- });
66
- if (x.uid) {
67
- recipientUids.add(x.uid);
68
- }
69
- }
70
- }
71
- });
72
- // add other recipients to the map
73
- const nonNotificationBoxUidRecipientConfigs = new Map();
74
- explicitAndGlobalRecipients.forEach((x) => {
75
- const { uid } = x;
76
- if (uid && !recipientUids.has(uid)) {
77
- // if already in recipientUids then they are a box recipient and we don't have to try and load them.
78
- nonNotificationBoxUidRecipientConfigs.set(uid, x);
79
- }
80
- });
81
- const otherNotificationUserUidOptOuts = new Set();
82
- const otherNotificationUserUidSendExclusions = new Set();
83
- const notificationUserRecipientConfigs = new Map();
84
- if (nonNotificationBoxUidRecipientConfigs.size > 0) {
85
- const nonNotificationBoxRecipientUids = Array.from(nonNotificationBoxUidRecipientConfigs.keys());
86
- const notificationUserDocuments = (0, firebase_1.loadDocumentsForIds)(notificationUserAccessor, nonNotificationBoxRecipientUids);
87
- // Attempt to load the NotificationUser for each uid.
88
- // Not guranteed to exist, but those that do we want to their configurations to decide opt-in/opt-out, as well as override the input recipient configuration for the Notification.
89
- const notificationUsers = await (0, firebase_1.getDocumentSnapshotDataPairsWithData)(notificationUserDocuments);
90
- notificationUsers.forEach((x) => {
91
- const { data: notificationUser } = x;
92
- const { x: exclusions, dc, gc } = notificationUser;
93
- const canSendNotification = (0, firebase_1.notificationSendExclusionCanSendFunction)(exclusions);
94
- const effectiveConfig = (0, firebase_1.mergeNotificationUserDefaultNotificationBoxRecipientConfig)(dc, gc);
95
- const uid = x.document.id;
96
- notificationUserRecipientConfigs.set(uid, effectiveConfig);
97
- // check if flagged for opt out on the global/default config
98
- if (effectiveConfig.f) {
99
- // if flagged for opt out, add to set
100
- otherNotificationUserUidOptOuts.add(uid);
101
- }
102
- const isAllowedToSend = notificationBoxId ? canSendNotification(notificationBoxId) : true;
103
- if (!isAllowedToSend) {
104
- otherNotificationUserUidSendExclusions.add(uid);
105
- }
106
- });
107
- }
108
- /**
109
- * Other NotificationRecipientWithConfig
110
- */
111
- const otherRecipientConfigs = new Map();
112
- const explicitOtherRecipientEmailAddresses = new Map();
113
- const explicitOtherRecipientTextNumbers = new Map();
114
- const explicitOtherRecipientNotificationSummaryIds = new Map();
115
- explicitAndGlobalRecipients.forEach((x) => {
116
- const uid = x.uid;
117
- if (uid) {
118
- if (otherNotificationUserUidOptOuts.has(uid) || otherNotificationUserUidSendExclusions.has(uid)) {
119
- return; // do not add to the recipients at all, user has opted out or send is excluded
120
- }
121
- const notificationUserRecipientConfig = notificationUserRecipientConfigs.get(uid);
122
- if (notificationUserRecipientConfig != null) {
123
- const userTemplateTypeConfig = notificationUserRecipientConfig.c[notificationTemplateType] ?? {};
124
- const templateConfig = (0, firebase_1.mergeNotificationBoxRecipientTemplateConfigs)((0, firebase_1.effectiveNotificationBoxRecipientTemplateConfig)(userTemplateTypeConfig), x);
125
- // replace the input NotificationRecipientWithConfig with the user's config
126
- x = {
127
- ...notificationUserRecipientConfig,
128
- ...(0, firebase_1.effectiveNotificationBoxRecipientTemplateConfig)(templateConfig),
129
- uid
130
- };
131
- }
132
- recipientUids.add(uid);
133
- otherRecipientConfigs.set(uid, x);
134
- }
135
- if (x.e) {
136
- explicitOtherRecipientEmailAddresses.set(x.e.toLowerCase(), x);
137
- }
138
- if (x.t) {
139
- explicitOtherRecipientTextNumbers.set(x.t, x);
140
- }
141
- if (x.s) {
142
- explicitOtherRecipientNotificationSummaryIds.set(x.s, x);
143
- }
144
- });
145
- // load user details from auth service
146
- const allUserDetails = await Promise.all(Array.from(recipientUids).map((uid) => authService
147
- .userContext(uid)
148
- .loadDetails()
149
- .then((details) => [uid, details])
150
- .catch(() => [uid, undefined])));
151
- const userDetailsMap = new Map(allUserDetails);
152
- const _internal = {
153
- userDetailsMap,
154
- explicitRecipients,
155
- globalRecipients,
156
- allBoxRecipientConfigs,
157
- relevantBoxRecipientConfigs,
158
- recipientUids,
159
- otherRecipientConfigs,
160
- explicitOtherRecipientEmailAddresses,
161
- explicitOtherRecipientTextNumbers,
162
- explicitOtherRecipientNotificationSummaryIds,
163
- otherNotificationUserUidOptOuts,
164
- otherNotificationUserUidSendExclusions,
165
- nonNotificationBoxUidRecipientConfigs,
166
- notificationUserRecipientConfigs
167
- };
168
- // make all email recipients
169
- const emails = [];
170
- const emailUidsSet = new Set();
171
- function checkShouldSendEmail(sendEmailEnabled) {
172
- return (!onlyEmailExplicitlyEnabledRecipients && sendEmailEnabled !== false) || (onlyEmailExplicitlyEnabledRecipients && sendEmailEnabled === true);
173
- }
174
- // start with all box recipients
175
- relevantBoxRecipientConfigs.forEach((x) => {
176
- const { recipient } = x;
177
- const { uid, e: overrideRecipientEmail, n: overrideRecipientName } = recipient;
178
- const userDetails = uid ? userDetailsMap.get(uid) : undefined;
179
- const otherRecipientForUser = uid ? otherRecipientConfigs.get(uid) : undefined;
180
- const sendEmailEnabled = x.effectiveTemplateConfig?.se;
181
- const shouldSendEmail = checkShouldSendEmail(sendEmailEnabled);
182
- if (shouldSendEmail && !emailUidsSet.has(uid ?? '')) {
183
- const e = overrideRecipientEmail ?? userDetails?.email; // use override email or the default email
184
- if (e) {
185
- const n = overrideRecipientName ?? userDetails?.displayName;
186
- const emailAddress = e.toLowerCase();
187
- explicitOtherRecipientEmailAddresses.delete(emailAddress); // don't double-send to the same email
188
- const emailRecipient = {
189
- emailAddress,
190
- name: n,
191
- boxRecipient: x,
192
- otherRecipient: otherRecipientForUser
193
- };
194
- emails.push(emailRecipient);
195
- if (uid) {
196
- emailUidsSet.add(uid);
197
- }
198
- }
199
- }
200
- });
201
- otherRecipientConfigs.forEach((x, uid) => {
202
- // add users who existing in the system at this step, then other recipients in the next step
203
- const userDetails = userDetailsMap.get(uid);
204
- if (userDetails) {
205
- const { email: userEmailAddress, displayName } = userDetails;
206
- const sendEmailEnabled = x.se;
207
- const shouldSendEmail = checkShouldSendEmail(sendEmailEnabled);
208
- if (userEmailAddress && shouldSendEmail && !emailUidsSet.has(uid)) {
209
- const emailAddress = userEmailAddress.toLowerCase();
210
- const name = displayName || x.n;
211
- const emailRecipient = {
212
- emailAddress,
213
- name,
214
- otherRecipient: x
215
- };
216
- emails.push(emailRecipient);
217
- emailUidsSet.add(uid);
218
- explicitOtherRecipientEmailAddresses.delete(emailAddress);
219
- }
220
- }
221
- });
222
- explicitOtherRecipientEmailAddresses.forEach((x, emailAddress) => {
223
- const sendEmailEnabled = x.se;
224
- const shouldSendEmail = checkShouldSendEmail(sendEmailEnabled);
225
- if (shouldSendEmail) {
226
- const emailRecipient = {
227
- emailAddress: emailAddress,
228
- name: x.n,
229
- otherRecipient: x
230
- };
231
- emails.push(emailRecipient);
232
- }
233
- });
234
- // make all text recipients
235
- // text recipients should be explicitly enabled, or marked true
236
- const texts = [];
237
- const textUidsSet = new Set();
238
- function checkShouldSendText(sendTextEnabled) {
239
- return (onlyTextExplicitlyEnabledRecipients && sendTextEnabled === true) || (!onlyTextExplicitlyEnabledRecipients && sendTextEnabled !== false);
240
- }
241
- relevantBoxRecipientConfigs.forEach((x) => {
242
- const { recipient } = x;
243
- const { uid } = recipient;
244
- const userDetails = uid ? userDetailsMap.get(uid) : undefined;
245
- const otherRecipientForUser = uid ? otherRecipientConfigs.get(uid) : undefined;
246
- // only send a text if explicitly enabled
247
- const sendTextEnabled = x.effectiveTemplateConfig?.st;
248
- const shouldSendText = checkShouldSendText(sendTextEnabled);
249
- if (shouldSendText && !textUidsSet.has(uid ?? '')) {
250
- const t = x.recipient.t ?? userDetails?.phoneNumber; // use override phoneNumber or the default phone
251
- if (t) {
252
- const name = userDetails?.displayName ?? x.recipient.n;
253
- const phoneNumber = t;
254
- explicitOtherRecipientTextNumbers.delete(phoneNumber); // don't double-send to the same text phone number
255
- const textRecipient = {
256
- phoneNumber,
257
- name,
258
- boxRecipient: x,
259
- otherRecipient: otherRecipientForUser
260
- };
261
- texts.push(textRecipient);
262
- if (uid) {
263
- textUidsSet.add(uid);
264
- }
265
- }
266
- }
267
- });
268
- otherRecipientConfigs.forEach((x, uid) => {
269
- // add users who existing in the system at this step, then other recipients in the next step
270
- const userDetails = userDetailsMap.get(uid);
271
- if (userDetails) {
272
- const { phoneNumber, displayName } = userDetails;
273
- const sendTextEnabled = x.st;
274
- const sendText = checkShouldSendText(sendTextEnabled);
275
- if (phoneNumber != null && sendText && !textUidsSet.has(uid)) {
276
- const name = displayName || x.n;
277
- const textRecipient = {
278
- phoneNumber: phoneNumber,
279
- name,
280
- otherRecipient: x
281
- };
282
- texts.push(textRecipient);
283
- textUidsSet.add(uid);
284
- explicitOtherRecipientTextNumbers.delete(phoneNumber); // don't double-send to the same text phone number
285
- }
286
- }
287
- });
288
- explicitOtherRecipientTextNumbers.forEach((x, t) => {
289
- const sendTextEnabled = x.st;
290
- const shouldSendText = checkShouldSendText(sendTextEnabled);
291
- if (shouldSendText) {
292
- const textRecipient = {
293
- phoneNumber: t,
294
- name: x.n,
295
- otherRecipient: x
296
- };
297
- texts.push(textRecipient);
298
- }
299
- });
300
- // TODO: Add push notification details...
301
- // make all notification summary recipients
302
- const notificationSummaries = [];
303
- const notificationSummaryKeysSet = new Set();
304
- const notificationSummaryUidsSet = new Set();
305
- function checkShouldSendNotificationSummary(sendNotificationSummaryEnabled) {
306
- return (!onlySendNotificationSummaryExplicitlyEnabledRecipients && sendNotificationSummaryEnabled !== false) || (onlySendNotificationSummaryExplicitlyEnabledRecipients && sendNotificationSummaryEnabled === true);
307
- }
308
- relevantBoxRecipientConfigs.forEach((x) => {
309
- const { recipient } = x;
310
- const { uid } = recipient;
311
- const userDetails = uid ? userDetailsMap.get(uid) : undefined;
312
- const otherRecipientForUser = uid ? otherRecipientConfigs.get(uid) : undefined;
313
- const sendNotificationSummaryEnabled = x.effectiveTemplateConfig?.sn;
314
- const shouldSendNotificationSummary = checkShouldSendNotificationSummary(sendNotificationSummaryEnabled);
315
- if (shouldSendNotificationSummary) {
316
- let notificationSummaryId;
317
- if (uid) {
318
- // only use the uid (and ignore recipient config) if uid is defined
319
- notificationSummaryId = notificationSummaryIdForUid(uid);
320
- notificationSummaryUidsSet.add(uid);
321
- }
322
- else if (x.recipient.s) {
323
- notificationSummaryId = x.recipient.s;
324
- }
325
- if (notificationSummaryId) {
326
- const name = userDetails?.displayName ?? x.recipient.n;
327
- notificationSummaries.push({
328
- notificationSummaryId,
329
- boxRecipient: x,
330
- otherRecipient: otherRecipientForUser,
331
- name
332
- });
333
- explicitOtherRecipientNotificationSummaryIds.delete(notificationSummaryId); // don't double send
334
- }
335
- }
336
- });
337
- otherRecipientConfigs.forEach((x, uid) => {
338
- const userDetails = userDetailsMap.get(uid);
339
- if (userDetails) {
340
- const { displayName } = userDetails;
341
- const sendNotificationSummaryEnabled = x.sn;
342
- const shouldSendNotificationSummary = checkShouldSendNotificationSummary(sendNotificationSummaryEnabled);
343
- if (shouldSendNotificationSummary && !notificationSummaryUidsSet.has(uid ?? '')) {
344
- let notificationSummaryId;
345
- if (uid) {
346
- notificationSummaryId = notificationSummaryIdForUid(uid);
347
- notificationSummaryUidsSet.add(uid);
348
- }
349
- else if (x.s) {
350
- notificationSummaryId = x.s;
351
- }
352
- if (notificationSummaryId) {
353
- if (!notificationSummaryKeysSet.has(notificationSummaryId)) {
354
- const name = displayName || x.n;
355
- const notificationSummary = {
356
- notificationSummaryId,
357
- otherRecipient: x,
358
- name
359
- };
360
- notificationSummaries.push(notificationSummary);
361
- explicitOtherRecipientNotificationSummaryIds.delete(notificationSummaryId);
362
- }
363
- }
364
- }
365
- }
366
- });
367
- explicitOtherRecipientNotificationSummaryIds.forEach((x, notificationSummaryId) => {
368
- const sendNotificationSummaryEnabled = x.sn;
369
- const shouldSendNotificationSummary = checkShouldSendNotificationSummary(sendNotificationSummaryEnabled);
370
- if (shouldSendNotificationSummary) {
371
- const notificationSummary = {
372
- notificationSummaryId,
373
- otherRecipient: x,
374
- name: x.n
375
- };
376
- notificationSummaries.push(notificationSummary);
377
- }
378
- });
379
- // results
380
- const result = {
381
- _internal,
382
- emails,
383
- texts,
384
- notificationSummaries
385
- };
386
- return result;
387
- }
388
- function updateNotificationUserNotificationBoxRecipientConfig(input) {
389
- const { notificationBoxId, notificationUserId, notificationUser, insertingRecipientIntoNotificationBox, removeRecipientFromNotificationBox, notificationBoxRecipient } = input;
390
- const currentNotificationUserBoxIndex = notificationUser.bc.findIndex((x) => x.nb === notificationBoxId);
391
- const currentNotificationUserBoxIndexExists = currentNotificationUserBoxIndex !== -1;
392
- const currentNotificationUserBoxGlobalConfig = notificationUser.gc;
393
- const currentNotificationUserBoxConfig = notificationUser.bc[currentNotificationUserBoxIndex] ?? {};
394
- /**
395
- * If bc is updated then the user should be updated too
396
- */
397
- let updatedBc;
398
- let updatedNotificationBoxRecipient;
399
- if (removeRecipientFromNotificationBox) {
400
- // flag as removed in the NotificationUser details if not already flagged as such
401
- if (currentNotificationUserBoxIndexExists && currentNotificationUserBoxConfig.rm !== true) {
402
- updatedBc = [...notificationUser.bc];
403
- updatedBc[currentNotificationUserBoxIndex] = {
404
- ...currentNotificationUserBoxConfig,
405
- nb: notificationBoxId, // set the NotificationBox id
406
- c: currentNotificationUserBoxConfig.c ?? {},
407
- i: util_1.UNSET_INDEX_NUMBER, // index should be cleared and set to -1
408
- ns: false, // sync'd
409
- rm: true
410
- };
411
- }
412
- }
413
- else if (notificationBoxRecipient != null) {
414
- const { ns: currentConfigNeedsSync, lk: lockedFromChanges, bk: blockedFromAdd } = {
415
- ns: currentNotificationUserBoxConfig.ns,
416
- lk: currentNotificationUserBoxGlobalConfig.lk ?? currentNotificationUserBoxConfig.lk,
417
- bk: currentNotificationUserBoxGlobalConfig.bk ?? currentNotificationUserBoxConfig.bk
418
- };
419
- // if we're re-inserting, then take the prevous config and restore as it was and remove the rm tag
420
- let updateWithNotificationBoxRecipient;
421
- if (insertingRecipientIntoNotificationBox) {
422
- // does not exist in the NotificationBox currently
423
- if (blockedFromAdd) {
424
- throw (0, notification_error_1.notificationUserBlockedFromBeingAddedToRecipientsError)(notificationUserId);
425
- }
426
- else if (lockedFromChanges) {
427
- // ignored the notificationBoxRecipient's updates
428
- updateWithNotificationBoxRecipient = currentNotificationUserBoxConfig;
429
- }
430
- else {
431
- updateWithNotificationBoxRecipient = (0, firebase_1.mergeNotificationBoxRecipients)(notificationBoxRecipient, currentNotificationUserBoxConfig);
432
- }
433
- }
434
- else {
435
- // if locked from changes, throw error
436
- if (lockedFromChanges) {
437
- throw (0, notification_error_1.notificationUserLockedConfigFromBeingUpdatedError)(notificationUserId);
438
- }
439
- else if (currentConfigNeedsSync) {
440
- // if needs sync, then merge changes from the config into the notificationBoxRecipient
441
- updateWithNotificationBoxRecipient = (0, firebase_1.mergeNotificationBoxRecipients)(notificationBoxRecipient, currentNotificationUserBoxConfig);
442
- }
443
- else {
444
- // use as-is
445
- updateWithNotificationBoxRecipient = notificationBoxRecipient;
446
- }
447
- }
448
- const updatedNotificationUserBoxEntry = (0, firebase_1.mergeNotificationUserNotificationBoxRecipientConfigs)({
449
- ...currentNotificationUserBoxConfig,
450
- i: notificationBoxRecipient.i,
451
- c: currentNotificationUserBoxConfig.c ?? {},
452
- nb: notificationBoxId, // set the NotificationBox id
453
- rm: false // remove/clear the removed flag
454
- }, updateWithNotificationBoxRecipient);
455
- updatedBc = [...notificationUser.bc];
456
- if (currentNotificationUserBoxIndexExists) {
457
- updatedBc[currentNotificationUserBoxIndex] = updatedNotificationUserBoxEntry;
458
- }
459
- else {
460
- updatedBc.push(updatedNotificationUserBoxEntry);
461
- }
462
- // re-apply exclusions to the updated config(s)
463
- const withExclusions = (0, firebase_1.applyExclusionsToNotificationUserNotificationBoxRecipientConfigs)({
464
- notificationUser,
465
- bc: updatedBc,
466
- recalculateNs: false
467
- });
468
- updatedBc = withExclusions.bc;
469
- // sync index with input NotificationBoxRecipient
470
- updatedNotificationUserBoxEntry.i = notificationBoxRecipient.i;
471
- updatedNotificationBoxRecipient = updatedNotificationUserBoxEntry;
472
- }
473
- return {
474
- updatedBc,
475
- updatedNotificationBoxRecipient
476
- };
477
- }
478
- //# sourceMappingURL=notification.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification.util.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/model/src/lib/notification/notification.util.ts"],"names":[],"mappings":";;AAuCA,gFAQC;AA+GD,oEA2cC;AAoCD,oHAsGC;AAnvBD,gDAiC2B;AAE3B,wCAAyI;AACzI,6DAAiJ;AAEjJ,mCAAmC;AACnC,SAAgB,kCAAkC,CAAC,KAAe;IAChE,OAAO;QACL,GAAG,EAAE,IAAI,IAAI,EAAE;QACf,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,IAAA,4BAAiB,GAAE;QACtB,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,EAAE;KACN,CAAC;AACJ,CAAC;AAqGD;;;;;;;;;GASG;AACI,KAAK,UAAU,4BAA4B,CAAC,KAAwC;IACzF,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,qCAAqC,EAAE,0CAA0C,EAAE,mCAAmC,EAAE,wCAAwC,EAAE,GAAG,KAAK,CAAC;IAExX,MAAM,iBAAiB,GAAG,eAAe,EAAE,EAAE,CAAC;IAC9C,MAAM,2BAA2B,GAAG,gCAAgC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1F,MAAM,wBAAwB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,6CAAkC,CAAC;IACxF,MAAM,aAAa,GAAG,qBAAqB,IAAI,YAAY,CAAC,EAAE,IAAI,wCAA6B,CAAC,MAAM,CAAC;IAEvG,MAAM,mCAAmC,GAAG,wCAAwC,KAAK,KAAK,CAAC,CAAC,mBAAmB;IAEnH,MAAM,qCAAqC,GAAG,0CAA0C,KAAK,IAAI,CAAC,CAAC,oBAAoB;IACvH,MAAM,oCAAoC,GAAG,qCAAqC,CAAC;IACnF,MAAM,mDAAmD,GAAG,qCAAqC,CAAC;IAClG,MAAM,sDAAsD,GAAG,qCAAqC,CAAC;IAErG,MAAM,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,GAAG,IAAA,wCAA6B,EAAC,aAAa,CAAC,CAAC;IAExI,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,uBAAuB,GAAG,yBAAyB,IAAI,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhH,MAAM,kBAAkB,GAAsC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClG,GAAG,CAAC;QACJ,GAAG,IAAA,0DAA+C,EAAC,CAAC,CAAC;KACtD,CAAC,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAsC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9F,GAAG,CAAC;QACJ,GAAG,IAAA,0DAA+C,EAAC,CAAC,CAAC;KACtD,CAAC,CAAC,CAAC;IAEJ,MAAM,2BAA2B,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAEjF,MAAM,sBAAsB,GAA+B,sBAAsB,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9H,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IACpD,MAAM,2BAA2B,GAA0C,EAAE,CAAC;IAE9E,6FAA6F;IAC7F,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC,4DAA4D;QAC5D,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;YACrD,MAAM,uBAAuB,GAAG,cAAc,CAAC,CAAC,CAAC,IAAA,0DAA+C,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE7H,IAAI,CAAC,uBAAuB,IAAI,uBAAuB,CAAC,EAAE,IAAI,uBAAuB,CAAC,EAAE,IAAI,uBAAuB,CAAC,EAAE,IAAI,uBAAuB,CAAC,EAAE,EAAE,CAAC;gBACrJ,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,SAAS,EAAE,CAAC;oBACZ,uBAAuB;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACV,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,qCAAqC,GAAG,IAAI,GAAG,EAAuD,CAAC;IAE7G,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAElB,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,oGAAoG;YACpG,qCAAqC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,+BAA+B,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtE,MAAM,sCAAsC,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7E,MAAM,gCAAgC,GAAG,IAAI,GAAG,EAA6E,CAAC;IAE9H,IAAI,qCAAqC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,+BAA+B,GAAG,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,yBAAyB,GAAG,IAAA,8BAAmB,EAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAC;QAEjH,qDAAqD;QACrD,kLAAkL;QAClL,MAAM,iBAAiB,GAAG,MAAM,IAAA,+CAAoC,EAAC,yBAAyB,CAAC,CAAC;QAEhG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAAC;YAEnD,MAAM,mBAAmB,GAAG,IAAA,mDAAwC,EAAC,UAAU,CAAC,CAAC;YACjF,MAAM,eAAe,GAAG,IAAA,qEAA0D,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE1B,gCAAgC,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAE3D,4DAA4D;YAC5D,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC;gBACtB,qCAAqC;gBACrC,+BAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE1F,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,sCAAsC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuD,CAAC;IAE7F,MAAM,oCAAoC,GAAG,IAAI,GAAG,EAAiD,CAAC;IACtG,MAAM,iCAAiC,GAAG,IAAI,GAAG,EAAgD,CAAC;IAClG,MAAM,4CAA4C,GAAG,IAAI,GAAG,EAA0D,CAAC;IAEvH,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAElB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,+BAA+B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,sCAAsC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChG,OAAO,CAAC,8EAA8E;YACxF,CAAC;YAED,MAAM,+BAA+B,GAAG,gCAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAElF,IAAI,+BAA+B,IAAI,IAAI,EAAE,CAAC;gBAC5C,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;gBACjG,MAAM,cAAc,GAA2C,IAAA,uDAA4C,EAAC,IAAA,0DAA+C,EAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAExL,2EAA2E;gBAC3E,CAAC,GAAG;oBACF,GAAG,+BAA+B;oBAClC,GAAG,IAAA,0DAA+C,EAAC,cAAc,CAAC;oBAClE,GAAG;iBACJ,CAAC;YACJ,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,oCAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACR,4CAA4C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpC,WAAW;SACR,WAAW,CAAC,GAAG,CAAC;SAChB,WAAW,EAAE;SACb,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAA8C,CAAC;SAC9E,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAA8C,CAAC,CAC9E,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAA0C,cAAc,CAAC,CAAC;IAExF,MAAM,SAAS,GAAyC;QACtD,cAAc;QACd,kBAAkB;QAClB,gBAAgB;QAChB,sBAAsB;QACtB,2BAA2B;QAC3B,aAAa;QACb,qBAAqB;QACrB,oCAAoC;QACpC,iCAAiC;QACjC,4CAA4C;QAC5C,+BAA+B;QAC/B,sCAAsC;QACtC,qCAAqC;QACrC,gCAAgC;KACjC,CAAC;IAEF,4BAA4B;IAC5B,MAAM,MAAM,GAAyC,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEnD,SAAS,oBAAoB,CAAC,gBAAgC;QAC5D,OAAO,CAAC,CAAC,oCAAoC,IAAI,gBAAgB,KAAK,KAAK,CAAC,IAAI,CAAC,oCAAoC,IAAI,gBAAgB,KAAK,IAAI,CAAC,CAAC;IACtJ,CAAC;IAED,gCAAgC;IAChC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;QAE/E,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/E,MAAM,gBAAgB,GAAG,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACvD,MAAM,eAAe,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAE/D,IAAI,eAAe,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,sBAAsB,IAAI,WAAW,EAAE,KAAK,CAAC,CAAC,0CAA0C;YAElG,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,CAAC,GAAG,qBAAqB,IAAI,WAAW,EAAE,WAAW,CAAC;gBAC5D,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBACrC,oCAAoC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,sCAAsC;gBAEjG,MAAM,cAAc,GAAuC;oBACzD,YAAY;oBACZ,IAAI,EAAE,CAAC;oBACP,YAAY,EAAE,CAAC;oBACf,cAAc,EAAE,qBAAqB;iBACtC,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAE5B,IAAI,GAAG,EAAE,CAAC;oBACR,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvC,4FAA4F;QAC5F,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;YAE7D,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,eAAe,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YAE/D,IAAI,gBAAgB,IAAI,eAAe,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBAEpD,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,cAAc,GAAuC;oBACzD,YAAY;oBACZ,IAAI;oBACJ,cAAc,EAAE,CAAC;iBAClB,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,oCAAoC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oCAAoC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE;QAC/D,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAE/D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,cAAc,GAAuC;gBACzD,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,CAAC,CAAC;gBACT,cAAc,EAAE,CAAC;aAClB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,+DAA+D;IAC/D,MAAM,KAAK,GAAwC,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAElD,SAAS,mBAAmB,CAAC,eAA+B;QAC1D,OAAO,CAAC,mCAAmC,IAAI,eAAe,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,mCAAmC,IAAI,eAAe,KAAK,KAAK,CAAC,CAAC;IAClJ,CAAC;IAED,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;QAE1B,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/E,yCAAyC;QACzC,MAAM,eAAe,GAAG,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAE5D,IAAI,cAAc,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,WAAW,EAAE,WAAW,CAAC,CAAC,gDAAgD;YAErG,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,IAAI,GAAG,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvD,MAAM,WAAW,GAAG,CAAoB,CAAC;gBACzC,iCAAiC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,kDAAkD;gBAEzG,MAAM,aAAa,GAAsC;oBACvD,WAAW;oBACX,IAAI;oBACJ,YAAY,EAAE,CAAC;oBACf,cAAc,EAAE,qBAAqB;iBACtC,CAAC;gBAEF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAE1B,IAAI,GAAG,EAAE,CAAC;oBACR,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvC,4FAA4F;QAC5F,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;YAEjD,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAEtD,IAAI,WAAW,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,aAAa,GAAsC;oBACvD,WAAW,EAAE,WAA8B;oBAC3C,IAAI;oBACJ,cAAc,EAAE,CAAC;iBAClB,CAAC;gBAEF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,iCAAiC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,kDAAkD;YAC3G,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAE5D,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,aAAa,GAAsC;gBACvD,WAAW,EAAE,CAAoB;gBACjC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACT,cAAc,EAAE,CAAC;aAClB,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yCAAyC;IAEzC,2CAA2C;IAC3C,MAAM,qBAAqB,GAAuD,EAAE,CAAC;IACrF,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEjE,SAAS,kCAAkC,CAAC,8BAA8C;QACxF,OAAO,CAAC,CAAC,sDAAsD,IAAI,8BAA8B,KAAK,KAAK,CAAC,IAAI,CAAC,sDAAsD,IAAI,8BAA8B,KAAK,IAAI,CAAC,CAAC;IACtN,CAAC;IAED,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;QAE1B,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/E,MAAM,8BAA8B,GAAG,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACrE,MAAM,6BAA6B,GAAG,kCAAkC,CAAC,8BAA8B,CAAC,CAAC;QAEzG,IAAI,6BAA6B,EAAE,CAAC;YAClC,IAAI,qBAAmD,CAAC;YAExD,IAAI,GAAG,EAAE,CAAC;gBACR,mEAAmE;gBACnE,qBAAqB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBACzD,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACzB,qBAAqB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAEvD,qBAAqB,CAAC,IAAI,CAAC;oBACzB,qBAAqB;oBACrB,YAAY,EAAE,CAAC;oBACf,cAAc,EAAE,qBAAqB;oBACrC,IAAI;iBACL,CAAC,CAAC;gBAEH,4CAA4C,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB;YAClG,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;YAEpC,MAAM,8BAA8B,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,6BAA6B,GAAG,kCAAkC,CAAC,8BAA8B,CAAC,CAAC;YAEzG,IAAI,6BAA6B,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChF,IAAI,qBAAmD,CAAC;gBAExD,IAAI,GAAG,EAAE,CAAC;oBACR,qBAAqB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBACzD,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACf,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBAED,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBAC3D,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,mBAAmB,GAAqD;4BAC5E,qBAAqB;4BACrB,cAAc,EAAE,CAAC;4BACjB,IAAI;yBACL,CAAC;wBAEF,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAChD,4CAA4C,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,EAAE;QAChF,MAAM,8BAA8B,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,6BAA6B,GAAG,kCAAkC,CAAC,8BAA8B,CAAC,CAAC;QAEzG,IAAI,6BAA6B,EAAE,CAAC;YAClC,MAAM,mBAAmB,GAAqD;gBAC5E,qBAAqB;gBACrB,cAAc,EAAE,CAAC;gBACjB,IAAI,EAAE,CAAC,CAAC,CAAC;aACV,CAAC;YAEF,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU;IACV,MAAM,MAAM,GAAuC;QACjD,SAAS;QACT,MAAM;QACN,KAAK;QACL,qBAAqB;KACtB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAoCD,SAAgB,oDAAoD,CAAC,KAAgE;IACnI,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qCAAqC,EAAE,kCAAkC,EAAE,wBAAwB,EAAE,GAAG,KAAK,CAAC;IAE/K,MAAM,+BAA+B,GAAG,gBAAgB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;IAEzG,MAAM,qCAAqC,GAAG,+BAA+B,KAAK,CAAC,CAAC,CAAC;IACrF,MAAM,sCAAsC,GAAmE,gBAAgB,CAAC,EAAE,CAAC;IACnI,MAAM,gCAAgC,GAA4D,gBAAgB,CAAC,EAAE,CAAC,+BAA+B,CAAC,IAAI,EAAE,CAAC;IAE7J;;OAEG;IACH,IAAI,SAAkE,CAAC;IACvE,IAAI,+BAAgE,CAAC;IAErE,IAAI,kCAAkC,EAAE,CAAC;QACvC,iFAAiF;QACjF,IAAI,qCAAqC,IAAI,gCAAgC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC1F,SAAS,GAAG,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrC,SAAS,CAAC,+BAA+B,CAAC,GAAG;gBAC3C,GAAI,gCAAmF;gBACvF,EAAE,EAAE,iBAAiB,EAAE,6BAA6B;gBACpD,CAAC,EAAE,gCAAgC,CAAC,CAAC,IAAI,EAAE;gBAC3C,CAAC,EAAE,yBAAkB,EAAE,wCAAwC;gBAC/D,EAAE,EAAE,KAAK,EAAE,SAAS;gBACpB,EAAE,EAAE,IAAI;aACT,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,wBAAwB,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,EACJ,EAAE,EAAE,sBAAsB,EAC1B,EAAE,EAAE,iBAAiB,EACrB,EAAE,EAAE,cAAc,EACnB,GAAG;YACF,EAAE,EAAE,gCAAgC,CAAC,EAAE;YACvC,EAAE,EAAE,sCAAsC,CAAC,EAAE,IAAI,gCAAgC,CAAC,EAAE;YACpF,EAAE,EAAE,sCAAsC,CAAC,EAAE,IAAI,gCAAgC,CAAC,EAAE;SACrF,CAAC;QAEF,kGAAkG;QAClG,IAAI,kCAAqE,CAAC;QAE1E,IAAI,qCAAqC,EAAE,CAAC;YAC1C,kDAAkD;YAClD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAA,2EAAsD,EAAC,kBAAkB,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,iBAAiB,EAAE,CAAC;gBAC7B,iDAAiD;gBACjD,kCAAkC,GAAG,gCAAgC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,kCAAkC,GAAG,IAAA,yCAA8B,EAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAAC;YAClI,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,IAAA,sEAAiD,EAAC,kBAAkB,CAAC,CAAC;YAC9E,CAAC;iBAAM,IAAI,sBAAsB,EAAE,CAAC;gBAClC,sFAAsF;gBACtF,kCAAkC,GAAG,IAAA,yCAA8B,EAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAAC;YAClI,CAAC;iBAAM,CAAC;gBACN,YAAY;gBACZ,kCAAkC,GAAG,wBAAwB,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,+BAA+B,GAAG,IAAA,+DAAoD,EAC1F;YACE,GAAG,gCAAgC;YACnC,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAC7B,CAAC,EAAE,gCAAgC,CAAC,CAAC,IAAI,EAAE;YAC3C,EAAE,EAAE,iBAAiB,EAAE,6BAA6B;YACpD,EAAE,EAAE,KAAK,CAAC,gCAAgC;SAC3C,EACD,kCAAkC,CACnC,CAAC;QAEF,SAAS,GAAG,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,qCAAqC,EAAE,CAAC;YAC1C,SAAS,CAAC,+BAA+B,CAAC,GAAG,+BAA+B,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QAED,+CAA+C;QAC/C,MAAM,cAAc,GAAG,IAAA,2EAAgE,EAAC;YACtF,gBAAgB;YAChB,EAAE,EAAE,SAAS;YACb,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;QAE9B,iDAAiD;QACjD,+BAA+B,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC;QAC/D,+BAA+B,GAAG,+BAA+B,CAAC;IACpE,CAAC;IAED,OAAO;QACL,SAAS;QACT,+BAA+B;KAChC,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./storagefile.action.server"), exports);
5
- tslib_1.__exportStar(require("./storagefile.action.init.service"), exports);
6
- tslib_1.__exportStar(require("./storagefile.error"), exports);
7
- tslib_1.__exportStar(require("./storagefile.module"), exports);
8
- tslib_1.__exportStar(require("./storagefile.task.service.handler"), exports);
9
- tslib_1.__exportStar(require("./storagefile.upload.service"), exports);
10
- tslib_1.__exportStar(require("./storagefile.upload.service.initializer"), exports);
11
- tslib_1.__exportStar(require("./storagefile.util"), exports);
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/model/src/lib/storagefile/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4C;AAC5C,4EAAkD;AAClD,8DAAoC;AACpC,+DAAqC;AACrC,6EAAmD;AACnD,uEAA6C;AAC7C,mFAAyD;AACzD,6DAAmC"}