better-supabase 0.16.0 → 0.18.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.
- package/dist/{access-sql-B-MkVARa.js → access-sql-CNIgUqWf.js} +2 -0
- package/dist/{adapter-Dyks1lX1.js → adapter-CfuBICuG.js} +3 -1
- package/dist/{ai-schedules-BmkARmQ9.d.ts → ai-schedules-DzLh6BYI.d.ts} +1 -1
- package/dist/ai-sdk/agents/index.d.ts +2 -2
- package/dist/ai-sdk/memory/index.js +1 -1
- package/dist/{api-hHwieEfz.d.ts → api-B6zteBya.d.ts} +2 -2
- package/dist/{app-tables-D29Rahtg.js → app-tables-DyswUg6J.js} +11 -2
- package/dist/{app-tables-yMQ4ubyY.d.ts → app-tables-XwCviyhP.d.ts} +1 -1
- package/dist/astro/index.d.ts +5 -5
- package/dist/astro/index.js +5 -5
- package/dist/{attachments-aJYgdYtB.js → attachments-M-Dy79Ry.js} +9 -2
- package/dist/{authorization-HZdJCaVm.d.ts → authorization-IiE__z2m.d.ts} +187 -89
- package/dist/{automations-CIwRq7zm.js → automations-B5P6vTvk.js} +2 -2
- package/dist/{automations-CD1XlL2W.js → automations-BKjJpktQ.js} +1 -1
- package/dist/{automations-Bc2ue55V.js → automations-FCnWy387.js} +2 -2
- package/dist/better-result/index.d.ts +2 -2
- package/dist/{bind-JGCPGUJh.d.ts → bind-pu5TLrla.d.ts} +4 -4
- package/dist/{block-env-y65GF_px.d.ts → block-env-CA65ulTD.d.ts} +4 -4
- package/dist/blocks/access-requests/index.d.ts +1 -1
- package/dist/blocks/access-requests/index.js +1 -1
- package/dist/blocks/activities/index.d.ts +1 -1
- package/dist/blocks/activities/index.js +1 -1
- package/dist/blocks/agents/index.d.ts +1 -1
- package/dist/blocks/agents/index.js +1 -1
- package/dist/blocks/ai-cache/index.d.ts +1 -1
- package/dist/blocks/ai-cache/index.js +1 -1
- package/dist/blocks/ai-chat/index.d.ts +4 -4
- package/dist/blocks/ai-chat/index.js +1 -1
- package/dist/blocks/ai-files/index.d.ts +1 -1
- package/dist/blocks/ai-files/index.js +1 -1
- package/dist/blocks/ai-keys/index.d.ts +1 -1
- package/dist/blocks/ai-keys/index.js +1 -1
- package/dist/blocks/ai-schedules/index.d.ts +2 -2
- package/dist/blocks/ai-schedules/index.js +1 -1
- package/dist/blocks/announcements/index.d.ts +4 -4
- package/dist/blocks/announcements/index.js +1 -1
- package/dist/blocks/api-keys/index.d.ts +2 -2
- package/dist/blocks/api-keys/index.js +1 -1
- package/dist/blocks/approvals/index.d.ts +1 -1
- package/dist/blocks/approvals/index.js +1 -1
- package/dist/blocks/assets/index.d.ts +1 -1
- package/dist/blocks/assets/index.js +1 -1
- package/dist/blocks/assignment/index.d.ts +1 -1
- package/dist/blocks/attachments/index.d.ts +40 -4
- package/dist/blocks/attachments/index.js +42 -4
- package/dist/blocks/audit/index.d.ts +5 -5
- package/dist/blocks/audit/index.js +2 -2
- package/dist/blocks/automations/index.d.ts +3 -3
- package/dist/blocks/automations/index.js +1 -1
- package/dist/blocks/billable-time/index.d.ts +1 -1
- package/dist/blocks/billing/index.d.ts +3 -3
- package/dist/blocks/billing/index.js +1 -1
- package/dist/blocks/bookings/index.d.ts +2 -2
- package/dist/blocks/bookings/index.js +1 -1
- package/dist/blocks/bulk/index.d.ts +1 -1
- package/dist/blocks/bulk/index.js +1 -1
- package/dist/blocks/calendar/index.d.ts +2 -2
- package/dist/blocks/calendar/index.js +1 -1
- package/dist/blocks/catalog/index.d.ts +1 -1
- package/dist/blocks/catalog/index.js +1 -1
- package/dist/blocks/channels/index.d.ts +1 -1
- package/dist/blocks/collections/index.d.ts +1 -1
- package/dist/blocks/collections/index.js +1 -1
- package/dist/blocks/comments/index.d.ts +5 -5
- package/dist/blocks/comments/index.js +1 -1
- package/dist/blocks/compliance/index.d.ts +1 -1
- package/dist/blocks/compliance/index.js +1 -1
- package/dist/blocks/connectors/index.d.ts +1 -1
- package/dist/blocks/connectors/index.js +1 -1
- package/dist/blocks/contacts/index.d.ts +1 -1
- package/dist/blocks/contacts/index.js +1 -1
- package/dist/blocks/content/index.d.ts +2 -2
- package/dist/blocks/content/index.js +1 -1
- package/dist/blocks/contracts/index.d.ts +1 -1
- package/dist/blocks/contracts/index.js +1 -1
- package/dist/blocks/courses/index.d.ts +2 -2
- package/dist/blocks/courses/index.js +1 -1
- package/dist/blocks/created-by/index.d.ts +4 -3
- package/dist/blocks/created-by/index.js +2 -2
- package/dist/blocks/custom-fields/index.d.ts +1 -1
- package/dist/blocks/custom-fields/index.js +1 -1
- package/dist/blocks/data-lifecycle/index.d.ts +1 -1
- package/dist/blocks/data-lifecycle/index.js +1 -1
- package/dist/blocks/deals/index.d.ts +1 -1
- package/dist/blocks/deals/index.js +1 -1
- package/dist/blocks/dispatch/index.d.ts +2 -2
- package/dist/blocks/dispatch/index.js +1 -1
- package/dist/blocks/documents/index.d.ts +1 -1
- package/dist/blocks/documents/index.js +1 -1
- package/dist/blocks/domains/index.d.ts +1 -1
- package/dist/blocks/domains/index.js +1 -1
- package/dist/blocks/donations/index.d.ts +1 -1
- package/dist/blocks/donations/index.js +1 -1
- package/dist/blocks/drive/index.d.ts +1 -1
- package/dist/blocks/drive/index.js +2 -2
- package/dist/blocks/employees/index.d.ts +2 -2
- package/dist/blocks/employees/index.js +1 -1
- package/dist/blocks/enrichment/index.d.ts +1 -1
- package/dist/blocks/enrollments/index.d.ts +1 -1
- package/dist/blocks/enrollments/index.js +1 -1
- package/dist/blocks/entitlements/index.d.ts +3 -3
- package/dist/blocks/expenses/index.d.ts +1 -1
- package/dist/blocks/expenses/index.js +1 -1
- package/dist/blocks/field-history/index.d.ts +1 -1
- package/dist/blocks/flags/index.d.ts +1 -1
- package/dist/blocks/flags/index.js +1 -1
- package/dist/blocks/forecasts/index.d.ts +1 -1
- package/dist/blocks/forms/index.d.ts +2 -2
- package/dist/blocks/forms/index.js +1 -1
- package/dist/blocks/goals/index.d.ts +1 -1
- package/dist/blocks/goals/index.js +1 -1
- package/dist/blocks/guests/index.d.ts +1 -1
- package/dist/blocks/hiring/index.d.ts +1 -1
- package/dist/blocks/hiring/index.js +1 -1
- package/dist/blocks/identities/index.d.ts +1 -1
- package/dist/blocks/identities/index.js +1 -1
- package/dist/blocks/imports/index.d.ts +1 -1
- package/dist/blocks/inbox/index.d.ts +5 -5
- package/dist/blocks/inbox/index.js +1 -1
- package/dist/blocks/incidents/index.d.ts +1 -1
- package/dist/blocks/incidents/index.js +1 -1
- package/dist/blocks/index.d.ts +4 -4
- package/dist/blocks/index.js +1 -1
- package/dist/blocks/inventory/index.d.ts +1 -1
- package/dist/blocks/inventory/index.js +1 -1
- package/dist/blocks/invoices/index.d.ts +1 -1
- package/dist/blocks/invoices/index.js +1 -1
- package/dist/blocks/knowledge/index.d.ts +1 -1
- package/dist/blocks/knowledge/index.js +1 -1
- package/dist/blocks/lead-scoring/index.d.ts +2 -2
- package/dist/blocks/lead-scoring/index.js +1 -1
- package/dist/blocks/leases/index.d.ts +1 -1
- package/dist/blocks/leases/index.js +1 -1
- package/dist/blocks/leave/index.d.ts +1 -1
- package/dist/blocks/leave/index.js +1 -1
- package/dist/blocks/ledger/index.d.ts +1 -1
- package/dist/blocks/mail-sync/index.d.ts +2 -2
- package/dist/blocks/mail-sync/index.js +1 -1
- package/dist/blocks/memberships/index.d.ts +3 -3
- package/dist/blocks/memberships/index.js +1 -1
- package/dist/blocks/memory/index.d.ts +1 -1
- package/dist/blocks/memory/index.js +1 -1
- package/dist/blocks/messaging/index.d.ts +5 -5
- package/dist/blocks/messaging/index.js +1 -1
- package/dist/blocks/metrics/index.d.ts +1 -1
- package/dist/blocks/metrics/index.js +1 -1
- package/dist/blocks/mfa/index.d.ts +2 -2
- package/dist/blocks/moderation/index.d.ts +1 -1
- package/dist/blocks/moderation/index.js +1 -1
- package/dist/blocks/notifications/index.d.ts +17 -6
- package/dist/blocks/notifications/index.js +110 -40
- package/dist/blocks/numbering/index.d.ts +1 -1
- package/dist/blocks/numbering/index.js +1 -1
- package/dist/blocks/oauth-server/index.d.ts +1 -1
- package/dist/blocks/oauth-server/index.js +1 -1
- package/dist/blocks/onboarding/index.d.ts +2 -2
- package/dist/blocks/onboarding/index.js +1 -1
- package/dist/blocks/orders/index.d.ts +2 -2
- package/dist/blocks/orders/index.js +1 -1
- package/dist/blocks/organizations/index.d.ts +38 -3
- package/dist/blocks/organizations/index.js +50 -5
- package/dist/blocks/outbox/index.d.ts +1 -1
- package/dist/blocks/outbox/index.js +1 -1
- package/dist/blocks/passes/index.d.ts +2 -2
- package/dist/blocks/passes/index.js +1 -1
- package/dist/blocks/permissions/index.d.ts +4 -4
- package/dist/blocks/permissions/index.js +2 -2
- package/dist/blocks/pipelines/index.d.ts +1 -1
- package/dist/blocks/pipelines/index.js +1 -1
- package/dist/blocks/posts/index.d.ts +2 -2
- package/dist/blocks/posts/index.js +1 -1
- package/dist/blocks/profiles/index.d.ts +1 -1
- package/dist/blocks/profiles/index.js +1 -1
- package/dist/blocks/promotions/index.d.ts +1 -1
- package/dist/blocks/promotions/index.js +1 -1
- package/dist/blocks/push/index.d.ts +76 -10
- package/dist/blocks/push/index.js +172 -43
- package/dist/blocks/queue/index.d.ts +1 -1
- package/dist/blocks/queue/index.js +1 -1
- package/dist/blocks/quotes/index.d.ts +1 -1
- package/dist/blocks/quotes/index.js +1 -1
- package/dist/blocks/rank/index.d.ts +1 -1
- package/dist/blocks/reactions/index.d.ts +4 -4
- package/dist/blocks/reactions/index.js +1 -1
- package/dist/blocks/relations/index.d.ts +1 -1
- package/dist/blocks/relations/index.js +1 -1
- package/dist/blocks/reminders/index.d.ts +1 -1
- package/dist/blocks/reminders/index.js +1 -1
- package/dist/blocks/reviews/index.d.ts +1 -1
- package/dist/blocks/reviews/index.js +1 -1
- package/dist/blocks/saved-views/index.d.ts +3 -3
- package/dist/blocks/saved-views/index.js +1 -1
- package/dist/blocks/scores/index.d.ts +1 -1
- package/dist/blocks/scores/index.js +1 -1
- package/dist/blocks/search/index.d.ts +3 -3
- package/dist/blocks/search/index.js +1 -1
- package/dist/blocks/security-events/index.d.ts +1 -1
- package/dist/blocks/security-events/index.js +1 -1
- package/dist/blocks/segments/index.d.ts +2 -2
- package/dist/blocks/segments/index.js +1 -1
- package/dist/blocks/sequences/index.d.ts +2 -2
- package/dist/blocks/sequences/index.js +1 -1
- package/dist/blocks/service-accounts/index.d.ts +1 -1
- package/dist/blocks/service-accounts/index.js +1 -1
- package/dist/blocks/sessions/index.d.ts +2 -2
- package/dist/blocks/sessions/index.js +1 -1
- package/dist/blocks/settings/index.d.ts +2 -2
- package/dist/blocks/settings/index.js +1 -1
- package/dist/blocks/share-links/index.d.ts +1 -1
- package/dist/blocks/share-links/index.js +1 -1
- package/dist/blocks/shipments/index.d.ts +2 -2
- package/dist/blocks/shipments/index.js +1 -1
- package/dist/blocks/signatures/index.d.ts +2 -2
- package/dist/blocks/signatures/index.js +1 -1
- package/dist/blocks/signing-keys/index.d.ts +1 -1
- package/dist/blocks/signing-keys/index.js +1 -1
- package/dist/blocks/sla/index.d.ts +1 -1
- package/dist/blocks/sla/index.js +1 -1
- package/dist/blocks/sso/index.d.ts +1 -1
- package/dist/blocks/sso/index.js +1 -1
- package/dist/blocks/state-machine/index.d.ts +1 -1
- package/dist/blocks/state-machine/index.js +1 -1
- package/dist/blocks/subjects/index.d.ts +2 -2
- package/dist/blocks/tags/index.d.ts +2 -2
- package/dist/blocks/tags/index.js +1 -1
- package/dist/blocks/tasks/index.d.ts +2 -2
- package/dist/blocks/tasks/index.js +1 -1
- package/dist/blocks/teams/index.d.ts +1 -1
- package/dist/blocks/teams/index.js +1 -1
- package/dist/blocks/templates/index.d.ts +2 -2
- package/dist/blocks/templates/index.js +1 -1
- package/dist/blocks/time-tracking/index.d.ts +1 -1
- package/dist/blocks/time-tracking/index.js +1 -1
- package/dist/blocks/timeline/index.d.ts +3 -3
- package/dist/blocks/trash/index.d.ts +1 -1
- package/dist/blocks/trash/index.js +1 -1
- package/dist/blocks/undo/index.d.ts +2 -2
- package/dist/blocks/updated-at/index.d.ts +7 -4
- package/dist/blocks/updated-at/index.js +2 -2
- package/dist/blocks/usage/index.d.ts +2 -2
- package/dist/blocks/usage/index.js +1 -1
- package/dist/blocks/vercel-marketplace/index.d.ts +1 -1
- package/dist/blocks/vercel-marketplace/index.js +1 -1
- package/dist/blocks/versions/index.d.ts +1 -1
- package/dist/blocks/versions/index.js +1 -1
- package/dist/blocks/waitlist/index.d.ts +1 -1
- package/dist/blocks/waitlist/index.js +1 -1
- package/dist/blocks/webhooks/index.d.ts +2 -2
- package/dist/blocks/webhooks/index.js +1 -1
- package/dist/blocks/workflow-editor/index.d.ts +4 -4
- package/dist/blocks/workflow-editor/index.js +1 -1
- package/dist/blocks/workflows/index.d.ts +4 -4
- package/dist/{channel-BjvGO39m.d.ts → channel-JcMd5lNP.d.ts} +30 -2
- package/dist/cli/{add-D7TkPdco.js → add-B1S3yK4L.js} +20 -13
- package/dist/cli/add-BQPJnapO.js +1 -0
- package/dist/cli/{add-I8OW-qJH.js → add-D7YIXslp.js} +2 -2
- package/dist/cli/{backfill-DIz5DnlQ.js → backfill-BwkyNhlC.js} +4 -4
- package/dist/cli/bin.js +1 -1
- package/dist/cli/{blocks-Bp5RPoft.js → blocks-CBqENu3C.js} +1 -1
- package/dist/cli/{blocks-xk-SE8gS.js → blocks-DDm1Zc2S.js} +2 -2
- package/dist/cli/{cache-AznIssjI.js → cache-DE2IH1-C.js} +1 -1
- package/dist/cli/{codemod-Aewxza6i.js → codemod-OHKhVV-v.js} +4 -4
- package/dist/cli/{command-CQ61x6gN.js → command-BWEEXmtz.js} +20 -0
- package/dist/cli/{completion-Dlu5AdUW.js → completion-8EDK21xj.js} +1 -1
- package/dist/cli/{completion-BwI0_Ap5.js → completion-BfnKI4QZ.js} +2 -2
- package/dist/cli/{completion-2Y3D_eNu.js → completion-Bt7LMypX.js} +2 -2
- package/dist/cli/{config-9t5ec_N7.js → config-BJSqMi04.js} +20 -6
- package/dist/cli/{config-CBqkQjjN.js → config-BlfVh0IP.js} +1 -1
- package/dist/cli/{config-CPux9Wa7.js → config-WKDixoGK.js} +1 -1
- package/dist/cli/{content-mapper-DCrz6OIv.js → content-mapper-CaygHH_k.js} +2 -2
- package/dist/cli/{db-DrBI_HNv.js → db-DYU5hUcd.js} +3 -3
- package/dist/cli/{doctor-DkOSLPEQ.js → doctor-D_nrsd9E.js} +186 -143
- package/dist/cli/{env-BBl5L8Bf.js → env-BCgVZkcb.js} +1 -1
- package/dist/cli/env-xhwXk5Ri.js +1 -0
- package/dist/cli/{gen-CFkYUnWq.js → gen-D7gMEwvg.js} +22 -15
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +8 -8
- package/dist/cli/{init-CHj9ad4S.js → init-ch-HWJyp.js} +7 -7
- package/dist/cli/{keys-DGEpMbeB.js → keys-CbaL0lnw.js} +1 -1
- package/dist/cli/{live-DGdLR41j.js → live-B38ePuRS.js} +2 -2
- package/dist/cli/{mcp-BZno503V.js → mcp-P9RP2SJ3.js} +3 -3
- package/dist/cli/{metadata-BfgHMe4q.js → metadata-BTihErEc.js} +3 -3
- package/dist/cli/{migration-safety-BnnXPAro.js → migration-safety-DYo1vVWC.js} +2 -2
- package/dist/cli/{module-migration-O_IxewFs.js → migrations-BoIyGczt.js} +3 -113
- package/dist/cli/module-migration-DXvo0EqU.js +119 -0
- package/dist/cli/{moved-CsfDQcyk.js → moved-DVwgE8lV.js} +1 -1
- package/dist/cli/{parse-B9Iv_-Pf.js → parse-B079x40m.js} +1 -1
- package/dist/cli/powersync-D-0yV_L_.js +283 -0
- package/dist/cli/powersync-DXVsKkAu.js +1 -0
- package/dist/cli/{print-DosQIFSy.js → print-CRon4lXf.js} +2 -1
- package/dist/cli/{remove-DK2G_KHm.js → remove-D89s99ha.js} +6 -6
- package/dist/cli/{render-5y5a1QZr.js → render-BJF9ytUi.js} +15 -6
- package/dist/cli/{run-BXx6D1aR.js → run-DmOTMa44.js} +2 -2
- package/dist/cli/{run-Bs4OKdDI.js → run-jeplMBOK.js} +29 -10
- package/dist/cli/{run-MRET30vh.js → run-x9ZY4Tm0.js} +38 -37
- package/dist/cli/{seed-Cz8PcXeT.js → seed-D9mt8bnW.js} +3 -3
- package/dist/cli/seed-EPO6AvLG.js +1 -0
- package/dist/cli/{shared-BLqbvY2x.js → shared-B38Chjgd.js} +1 -1
- package/dist/cli/{skills-toUan_OV.js → skills-FXAVPLzp.js} +1 -1
- package/dist/cli/{snapshot-uTUlEzY2.js → snapshot-BXmU3IXN.js} +3 -3
- package/dist/cli/{source-args-IpJRJO5t.js → source-args-DlckPVje.js} +1 -1
- package/dist/cli/{source-D2gJHKwC.js → source-irttnsEb.js} +1 -1
- package/dist/cli/{spec-Cm2einTO.js → spec-CDxfokey.js} +3 -3
- package/dist/cli/{spec-DUjOtciN.js → spec-DzD5wMVF.js} +1 -1
- package/dist/cli/{sql-layout-lUWenjJw.js → sql-layout-D8QrNvt4.js} +2 -2
- package/dist/cli/{stack-CWEHdO0b.js → stack-DgASZP0K.js} +1 -1
- package/dist/cli/{sync-CZMRB3aU.js → sync-s1iKFIos.js} +3 -2
- package/dist/cli/{upgrade-BFEIMC7U.js → upgrade-B4FPlK-_.js} +4 -3
- package/dist/cli/{upgrade-fVsJniXm.js → upgrade-CluxP3JJ.js} +3 -3
- package/dist/cli/{version-B2Dr6VmJ.js → version-TgFM8sOd.js} +1 -1
- package/dist/client/index.d.ts +5 -5
- package/dist/client/native/index.d.ts +4 -4
- package/dist/{composite-CfYyU3vs.d.ts → composite-C-8A8qzi.d.ts} +4 -4
- package/dist/{composite-B3TIjId4.js → composite-D24L5RIY.js} +2 -2
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.js +4 -4
- package/dist/{config-CcehOvbz.js → config-CD2OGfCG.js} +2 -1
- package/dist/{config-DWGgUQCh.js → config-mbVyJwSc.js} +7 -6
- package/dist/{context-8kb8m5uO.d.ts → context-D24k1Cpc.d.ts} +36 -4
- package/dist/{controller-BW-5Opig.d.ts → controller-BR7CZ1R9.d.ts} +1 -1
- package/dist/{conversion-3iv2r7YC.d.ts → conversion-BgtOfTaS.d.ts} +1 -1
- package/dist/create/index.d.ts +2 -2
- package/dist/create/index.js +5 -5
- package/dist/{define-C5AcEkEJ.d.ts → define-Cgru0_kF.d.ts} +1 -1
- package/dist/{define-block-C1RHXz7L.d.ts → define-block-CJWiDWa5.d.ts} +11 -4
- package/dist/edge/index.d.ts +7 -7
- package/dist/edge/index.js +7 -7
- package/dist/elysia/index.d.ts +1 -1
- package/dist/elysia/index.js +1 -1
- package/dist/{email-tt2QqiSc.d.ts → email-B3YxEzwC.d.ts} +1 -1
- package/dist/{entitlements-sO977DO-.d.ts → entitlements-DHcNt1aF.d.ts} +1 -1
- package/dist/{events-SqJLbb8q.js → events-DuLhzjP6.js} +2 -0
- package/dist/{executor-BcNWcD-4.d.ts → executor-BWFfz0ik.d.ts} +2 -2
- package/dist/expo/index.d.ts +3 -3
- package/dist/expo/index.js +3 -3
- package/dist/{extension-B-lajjex.js → extension-DTaHjwdc.js} +3 -2
- package/dist/{extension-B0EjCYhO.js → extension-mGylYROs.js} +2 -10
- package/dist/{field-errors-Dt86dCKk.d.ts → field-errors-DucQdLl7.d.ts} +6 -6
- package/dist/{framework-BozTXRzt.js → framework-CNhTg0th.js} +1 -1
- package/dist/{framework-BGdZVyPL.d.ts → framework-x9Y4uB1q.d.ts} +5 -5
- package/dist/h3/index.d.ts +1 -1
- package/dist/h3/index.js +1 -1
- package/dist/h3/v1/index.d.ts +1 -1
- package/dist/h3/v1/index.js +1 -1
- package/dist/hono/index.d.ts +6 -6
- package/dist/hono/index.js +7 -6
- package/dist/{index-Cc4mIQS8.d.ts → index-4WT_uRRL.d.ts} +20 -4
- package/dist/{index-CENWq3zb.d.ts → index-BAcQz5DS.d.ts} +1 -1
- package/dist/{index-CTu-3fJB.d.ts → index-BH3NYExp.d.ts} +3 -3
- package/dist/{index-CcAmFNVi.d.ts → index-C0t-vNIt.d.ts} +2 -2
- package/dist/{index-DZKCc2WM.d.ts → index-C6ruLtyx.d.ts} +3 -3
- package/dist/{index-Craf712U.d.ts → index-XAyzdLns.d.ts} +9 -9
- package/dist/{index-BxYOB1Oc.d.ts → index-iRkFvJ7J.d.ts} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{instances-BHjCZoF8.js → instances-DDt7NdVl.js} +1 -1
- package/dist/{kit-DOwKpSkA.d.ts → kit-CVgQCIBO.d.ts} +1 -1
- package/dist/{kit-5l-o8RxL.js → kit-DhlB-vv_.js} +1 -1
- package/dist/list/index.d.ts +1 -1
- package/dist/{list-query-DYhgRTd5.d.ts → list-query-DxjuIHEL.d.ts} +1 -1
- package/dist/mapper/bin.js +7 -6
- package/dist/mcp/index.d.ts +11 -5
- package/dist/mcp/index.js +6 -6
- package/dist/mcp/sdk/index.d.ts +3 -3
- package/dist/mcp/sdk/index.js +2 -2
- package/dist/{methods-B3o7BFOW.js → methods-Cund9ZBe.js} +1 -1
- package/dist/nestjs/index.d.ts +2 -2
- package/dist/nestjs/index.js +1 -1
- package/dist/next/index.d.ts +16 -16
- package/dist/next/index.js +6 -6
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.js +1 -1
- package/dist/{operations-CSc_IsHO.d.ts → operations-CAjMgNr9.d.ts} +1 -1
- package/dist/{options-CK5WiFwG.js → options-3OYOU56e.js} +1 -1
- package/dist/{options-xD4_FRUq.js → options-56zYYXxc.js} +1 -1
- package/dist/{options-_F-enoBs.d.ts → options-5WvWOkAm.d.ts} +1 -1
- package/dist/{options-SViK_2x2.js → options-62woPFn3.js} +1 -1
- package/dist/{options-1GgseJq5.js → options-7ixoOoap.js} +1 -1
- package/dist/{options-BZsoPJGX.js → options-9dSU5RML.js} +2 -2
- package/dist/{options-y_-AkVCs.d.ts → options-B0YZtAkb.d.ts} +1 -1
- package/dist/{options-HLwOuF2H.js → options-B2Kz_tCx.js} +2 -2
- package/dist/{options-CEMawFrr.js → options-B685YSzQ.js} +1 -1
- package/dist/{options-DWbA9buW.js → options-B692WoK6.js} +2 -2
- package/dist/options-BHU1wc74.js +5 -0
- package/dist/{options-CPK2nQER.js → options-BHy0Z5Zd.js} +2 -2
- package/dist/{options-Fz6xqu-b.js → options-BKDxrPvE.js} +2 -2
- package/dist/{options-BVg58avP.js → options-BLfymS4s.js} +2 -2
- package/dist/{options-CYV4iZiQ.js → options-BOCRbzh3.js} +1 -1
- package/dist/{options-C-dQHH5-.js → options-BQWJqwHO.js} +3 -2
- package/dist/{options-Cl9Ag2Pt.js → options-BQunK6_Y.js} +2 -2
- package/dist/{options-CljDnQt2.js → options-BQyrZjwM.js} +4 -1
- package/dist/options-BR9xTHZW.js +5 -0
- package/dist/{options-D40CQzji.js → options-BRUdd5jY.js} +1 -1
- package/dist/{options-CsGl5BLH.d.ts → options-BTmaRzx2.d.ts} +13 -5
- package/dist/{options-Li1Dyu88.d.ts → options-BUCQYAeJ.d.ts} +2 -2
- package/dist/{options-DChZoVfs.d.ts → options-B_NrjVDt.d.ts} +1 -0
- package/dist/{options-B5BU2Yg7.js → options-BawzwlmC.js} +2 -2
- package/dist/{options-BlzSfWxC.d.ts → options-BbLDAp7G.d.ts} +2 -2
- package/dist/{options-DTDxFT6J.js → options-Bc4xz5jQ.js} +2 -2
- package/dist/options-BfFC4iFE.js +8 -0
- package/dist/{options-Br1Xi2Hw.js → options-BfPsL7E2.js} +1 -1
- package/dist/{options-DYBQ973I.js → options-Bfmwwc78.js} +1 -1
- package/dist/{options-c5WCsky5.js → options-BhsdveDk.js} +2 -2
- package/dist/{options-B5woz53h.js → options-BomoTH-8.js} +2 -2
- package/dist/{options-DeNejBtq.js → options-BtjkzIVh.js} +1 -1
- package/dist/options-Bvi9bl4H.js +5 -0
- package/dist/{options-IHPg8ZoA.js → options-BwKNmaJo.js} +2 -2
- package/dist/{options-CtUUU71w.js → options-BxpLtyk-.js} +4 -6
- package/dist/{options-D_bBVCXg.js → options-BzB2QxL3.js} +1 -1
- package/dist/{options-CmraJhd9.js → options-C078wBP0.js} +1 -1
- package/dist/options-C1-pwEqm.js +5 -0
- package/dist/{options-BZOliZvb.js → options-C3AdsFJ6.js} +2 -2
- package/dist/options-C7C5OhmL.d.ts +8 -0
- package/dist/{options-B2swWnJW.js → options-C87u6eSa.js} +3 -2
- package/dist/{options-CVSWgZpY.js → options-CBAEGxwS.js} +1 -1
- package/dist/{options-CM6-18FQ.d.ts → options-CDSCkYxu.d.ts} +1 -0
- package/dist/{options-9gvPo1BC.js → options-CDUr8zzX.js} +1 -1
- package/dist/{options-DMR68VAC.js → options-CFjGxfa8.js} +2 -2
- package/dist/{options-Bf96aVk5.js → options-CI6P0xhV.js} +1 -1
- package/dist/{options-B5VUf4IT.js → options-CJFMK9A_.js} +1 -1
- package/dist/{options-CRz8Ht_4.js → options-CLpgx7en.js} +3 -2
- package/dist/{options-BesyRBnM.js → options-CTXHj9zr.js} +2 -2
- package/dist/{options-D2d1fFuw.js → options-CTl8T88w.js} +1 -1
- package/dist/{options-C3RgtOLo.js → options-CTv-xmbA.js} +2 -2
- package/dist/{options-Bpl-WFPk.js → options-CUIOOv4z.js} +1 -1
- package/dist/{options-o2kfYU2x.js → options-CZDmtsbV.js} +2 -2
- package/dist/{options-CF7nRWXS.js → options-CZTscdPB.js} +1 -1
- package/dist/{options-BlncUmIc.js → options-CZdKndeo.js} +2 -2
- package/dist/{options-DplE18Ko.d.ts → options-C_7g9TTq.d.ts} +1 -1
- package/dist/{options-C_pb1Nd3.js → options-Cb2FOFj5.js} +1 -1
- package/dist/{options-t_O5ldT6.js → options-CbOstLa7.js} +2 -2
- package/dist/{options-Bt0bYMLl.js → options-CcXgWlvm.js} +2 -2
- package/dist/{options-BMjcVuaI.js → options-CfVPctAw.js} +7 -0
- package/dist/{options-DWpz3V3F.js → options-ChiL-4ZS.js} +2 -2
- package/dist/{options-E7KcmHQv.js → options-Cjgaf8ub.js} +2 -2
- package/dist/{options-DrSkIBCD.js → options-CoSPgWKy.js} +1 -1
- package/dist/{options-Bp7sgKvl.js → options-CpZ2HlSU.js} +5 -3
- package/dist/{options-CN7PHkhU.js → options-CsSe8Nba.js} +1 -1
- package/dist/{options-B9q8CROT.js → options-CsvJR-r2.js} +1 -1
- package/dist/{options-oeAq4Ho5.js → options-Cucv6sWP.js} +2 -2
- package/dist/{options-BOOEzor9.js → options-CyjL9lTf.js} +2 -2
- package/dist/{options-pOVWwbAK.d.ts → options-D-OOO9V2.d.ts} +1 -1
- package/dist/{options-nFzfgtA6.js → options-D0Y6ZMe8.js} +1 -1
- package/dist/{options-BnZS7IK-.js → options-D0sj5abR.js} +2 -2
- package/dist/{options-0qvUckqt.js → options-D2s7fT1s.js} +2 -2
- package/dist/{options-BjtrC7o6.js → options-D32-YxnO.js} +1 -1
- package/dist/{options-B0EJULm5.js → options-D610Fa6T.js} +2 -2
- package/dist/{options-BvtnxHfK.js → options-D96dScev.js} +1 -1
- package/dist/{options-DgQo80Xh.js → options-DFpyP1bg.js} +2 -2
- package/dist/{options-BYOtaF7w.js → options-DJEcS4DX.js} +1 -1
- package/dist/{options-DPgdAXO5.js → options-DJbN3bi9.js} +2 -2
- package/dist/{options-EsUh744F.js → options-DKoQoRCy.js} +2 -2
- package/dist/{options-CvD9vNvx.js → options-DM1qaMMQ.js} +1 -1
- package/dist/{options-eBPsk4WI.js → options-DNgSwhsm.js} +2 -2
- package/dist/{options-2EMA_x6_.js → options-DOIwzRXL.js} +2 -2
- package/dist/{options-D6as77gU.d.ts → options-DRIgHh4O.d.ts} +2 -2
- package/dist/{options-DDzggjN7.js → options-DRrZmJyI.js} +2 -2
- package/dist/{options-DJ-aYPVN.js → options-DUMUsvml.js} +2 -2
- package/dist/{options-Cp0HyUEk.js → options-DWwL5Kaz.js} +1 -1
- package/dist/{options-BCrqe3HH.js → options-DZHZYlpD.js} +1 -1
- package/dist/{options-BQIYfx9F.js → options-DZLkeqWn.js} +2 -2
- package/dist/{options-RKYdmIdV.js → options-DZRpXKQE.js} +1 -1
- package/dist/{options-D0G06Zm9.js → options-D_9Vxx7f.js} +2 -2
- package/dist/{options-BMGClqoa.js → options-DcHl59RC.js} +1 -1
- package/dist/{options-CW9wTqOk.js → options-Dcaql09y.js} +1 -1
- package/dist/{options-CXFz0xxS.js → options-DcnBNYmV.js} +1 -1
- package/dist/{options-21s0dpnX.js → options-DdpM-fiP.js} +2 -2
- package/dist/{options-BbnPv6p7.js → options-DhdazgTZ.js} +2 -2
- package/dist/{options-C239TLRF.js → options-Dpy-Ruo-.js} +1 -1
- package/dist/{options-DWVYM8P0.d.ts → options-DsVuVRH3.d.ts} +1 -1
- package/dist/{options-BlOPivzq.js → options-DtAJxfHS.js} +1 -1
- package/dist/{options-DXnBN2E7.js → options-Dz9Yo52Z.js} +2 -2
- package/dist/{options-DcOx8_3X.d.ts → options-HnfETSHr.d.ts} +1 -1
- package/dist/{options-CoX6VKGb.js → options-LqUXTpML.js} +1 -1
- package/dist/options-MsloEAIB.js +5 -0
- package/dist/{options-DCduTMST.js → options-P2FxqYpd.js} +2 -2
- package/dist/options-_1gAIMq7.d.ts +60 -0
- package/dist/{options-B0FcEKtH.js → options-aT89JqlB.js} +1 -1
- package/dist/{options-Cyu0hgmN.js → options-cVKZu9b0.js} +2 -2
- package/dist/options-fMxhtuVR.js +5 -0
- package/dist/{options-BxcFLL1G.js → options-fkShrmGQ.js} +2 -2
- package/dist/{options-Ctac2R0Q.js → options-gUvfr3no.js} +2 -2
- package/dist/{options-DNKyN5uq.js → options-hynwKWuf.js} +2 -2
- package/dist/{options-CkScQRJR.js → options-lsxJYfYx.js} +2 -2
- package/dist/{options-CyAhRKKm.d.ts → options-o5wCw8H7.d.ts} +2 -2
- package/dist/{options-DARkpk2P.js → options-p49DFg3H.js} +2 -2
- package/dist/{options-zkyhM3qi.js → options-pYNpXKcg.js} +1 -1
- package/dist/{options-Cqq2jUww.js → options-qtETCHzW.js} +2 -2
- package/dist/options-rnKlqYEr.js +5 -0
- package/dist/{options-KV84gAxl.js → options-sU_zGkiV.js} +2 -2
- package/dist/{options-BfLmA375.js → options-xq4MXG1M.js} +2 -2
- package/dist/{options-BA6jV6py.js → options-zzlznRA7.js} +2 -2
- package/dist/orpc/index.d.ts +21 -10
- package/dist/orpc/index.js +60 -31
- package/dist/otel/index.d.ts +1 -1
- package/dist/otel/index.js +5 -5
- package/dist/{ports-mObLgH1z.d.ts → ports-g0H1Kzwr.d.ts} +1 -1
- package/dist/powersync/index.d.ts +136 -3
- package/dist/powersync/index.js +333 -1
- package/dist/preset/index.d.ts +3 -3
- package/dist/preset/index.js +3 -3
- package/dist/{preset-CsHnIBJF.js → preset-B3CukUhu.js} +4 -4
- package/dist/{push-token-BSSvsWXZ.d.ts → push-token-Cl2EihRc.d.ts} +1 -1
- package/dist/query/index.d.ts +1 -1
- package/dist/react/index.d.ts +5 -5
- package/dist/react/native/index.d.ts +1 -1
- package/dist/react/server.d.ts +6 -6
- package/dist/react-router/index.d.ts +5 -5
- package/dist/react-router/index.js +5 -5
- package/dist/realtime/index.d.ts +3 -3
- package/dist/realtime/index.js +1 -1
- package/dist/{record-form-D9ILuVtA.d.ts → record-form-zMwz0Ayt.d.ts} +1 -1
- package/dist/records/index.d.ts +7 -7
- package/dist/{refusal-ByBZcm0V.js → refusal-D48CMqpQ.js} +2 -2
- package/dist/{refusal-CSntB_x8.d.ts → refusal-OrlI3g4H.d.ts} +1 -1
- package/dist/{resource-DV2GC2dB.js → resource-R3KToNze.js} +1 -1
- package/dist/{resource-execute-Cpnob1Vj.d.ts → resource-execute-CKBtGL8-.d.ts} +1 -1
- package/dist/{resource-types-pMeLs68X.d.ts → resource-types-8Q5Klkpa.d.ts} +2 -2
- package/dist/{resources-C02l_YBJ.js → resources-DqIwoQsP.js} +1 -1
- package/dist/{resources-7iq2-5_A.d.ts → resources-DxpqenZA.d.ts} +1 -1
- package/dist/{respond-C3CcOZlA.js → respond-3RKp6VgU.js} +8 -1
- package/dist/{respond-Dn1_YhC1.d.ts → respond-oZeJ342J.d.ts} +6 -0
- package/dist/server/index.d.ts +9 -9
- package/dist/server/index.js +6 -6
- package/dist/{server-types-CK8mUIUT.d.ts → server-types-gR4Q1aM0.d.ts} +1 -1
- package/dist/{session-DWmFv3vB.d.ts → session-Fcft5A39.d.ts} +2 -2
- package/dist/{sign-in-B64114O4.js → sign-in-BLkRU3lc.js} +1 -1
- package/dist/solid/index.d.ts +6 -6
- package/dist/solid-start/index.d.ts +5 -5
- package/dist/solid-start/index.js +5 -5
- package/dist/spec/index.d.ts +2 -2
- package/dist/spec/index.js +1 -1
- package/dist/{spec-pins-DIx95afw.d.ts → spec-pins-BZkKfwY8.d.ts} +2 -0
- package/dist/{spec-pins-C1Vm8OBl.js → spec-pins-D3zDek-u.js} +1 -0
- package/dist/sql/index.d.ts +5 -5
- package/dist/sql/index.js +5 -5
- package/dist/{sql-Dl3Alk43.js → sql-fHTjZGqR.js} +4445 -3211
- package/dist/sql-type-iUSZpaUu.js +34 -0
- package/dist/sqlite/index.d.ts +1 -1
- package/dist/ssr/index.d.ts +1 -1
- package/dist/{statuses-DMMDwXpZ.js → statuses-Alll5Ip6.js} +2 -2
- package/dist/storage/index.js +1 -1
- package/dist/svelte/index.d.ts +6 -6
- package/dist/sveltekit/index.d.ts +6 -6
- package/dist/sveltekit/index.js +5 -5
- package/dist/{tags-qvVk79pp.d.ts → tags-sM-CH9Mn.d.ts} +1 -1
- package/dist/tanstack-db/index.d.ts +1 -1
- package/dist/tanstack-start/index.d.ts +5 -5
- package/dist/tanstack-start/index.js +5 -5
- package/dist/{tenant-DOKIJI62.d.ts → tenant-DyoVYFfC.d.ts} +1 -1
- package/dist/testing/index.d.ts +9 -9
- package/dist/testing/index.js +8 -5
- package/dist/{timeline-CvTuXYvn.d.ts → timeline-CMmo0R7g.d.ts} +3 -3
- package/dist/{topic-ikV_pLTX.js → topic-J9I3yu6f.js} +1 -1
- package/dist/{topic-CZXHhZye.d.ts → topic-nQYxoTaU.d.ts} +2 -2
- package/dist/{verify-CjvNLY7N.d.ts → verify-DEqY__0N.d.ts} +1 -1
- package/dist/vue/index.d.ts +6 -6
- package/dist/{watch-topic-BAxoPKZx.d.ts → watch-topic-UGSEWAqR.d.ts} +1 -1
- package/dist/workflow-sdk/world/index.js +1 -1
- package/dist/{workflow-sdk-Bw6_u0ar.js → workflow-sdk-DELaQEp3.js} +2 -0
- package/dist/yjs/index.d.ts +1 -1
- package/dist/yjs/index.js +1 -1
- package/package.json +1 -1
- package/schemas/config-v1.json +471 -69
- package/schemas/doctor-report-v1.json +1 -0
- package/dist/cli/add-Bfb_ISrO.js +0 -1
- package/dist/cli/env-CAU1nknN.js +0 -1
- package/dist/cli/seed-D6XijwbR.js +0 -1
- package/dist/options-63AKQNv0.js +0 -5
- package/dist/options-B-cxGmRA.js +0 -5
- package/dist/options-BPDiwSa-.js +0 -5
- package/dist/options-C6rEL6U5.js +0 -8
- package/dist/options-CE93HOYi.d.ts +0 -7
- package/dist/options-CTZNpb2n.js +0 -5
- package/dist/options-CrC78Tee.js +0 -5
- package/dist/options-DINdgVih.d.ts +0 -9
- package/dist/options-DWML05Cp.js +0 -5
- package/dist/options-Q1Bzgqpr.js +0 -5
|
@@ -6,7 +6,7 @@ import { a as ok, r as err, s as toDbError, t as AsyncResult } from "../../resul
|
|
|
6
6
|
import { n as validate } from "../../standard-BA3mLh6w.js";
|
|
7
7
|
import { a as methodNotAllowed, o as problemResponse } from "../../problem-Bf0cJ7tk.js";
|
|
8
8
|
import { t as MAX_BATCH } from "../../batch-limit-DKVQDz4o.js";
|
|
9
|
-
import { t as notificationsSqlOptions } from "../../options-
|
|
9
|
+
import { t as notificationsSqlOptions } from "../../options-CcXgWlvm.js";
|
|
10
10
|
import { n as whileSignedIn, t as defineController } from "../../controller-BEliOBOv.js";
|
|
11
11
|
import { B as dbTransport, C as optionalText, E as readBodyCapped, H as rpcTransport, L as toBlockError, U as sqlTransport, c as chunksOf, f as errorText, i as batchResultsOf, n as applyTemporal, o as blockCall, s as budget, v as nullableInstant, w as pageOf, y as nullableText } from "../../block-helpers-CtBdjgO4.js";
|
|
12
12
|
import { i as wrapTransport, n as extendBlock, r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
@@ -70,7 +70,72 @@ function emailChannel(options) {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
//#endregion
|
|
73
|
+
//#region src/blocks/notifications/delivery-batch.ts
|
|
74
|
+
/**
|
|
75
|
+
* The data of `notification.delivered` and `notification.failed` for one
|
|
76
|
+
* delivery.
|
|
77
|
+
*/
|
|
78
|
+
const deliveryData = (message, channel) => {
|
|
79
|
+
const notification = message.notification;
|
|
80
|
+
return {
|
|
81
|
+
notificationId: notification.eventId,
|
|
82
|
+
organizationId: notification.tenant,
|
|
83
|
+
type: notification.type,
|
|
84
|
+
channel,
|
|
85
|
+
deliveryId: message.deliveryId,
|
|
86
|
+
subjectType: notification.subject?.type ?? "notification",
|
|
87
|
+
subjectId: notification.subject?.id ?? notification.eventId
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
function deliveryChannels(options) {
|
|
91
|
+
const channels = options.channels ?? [];
|
|
92
|
+
if (options.email === void 0) return channels;
|
|
93
|
+
if (channels.some((channel) => channel.name === "email")) throw new TypeError("createNotifications: `email` adds the \"email\" channel; remove the channel named \"email\" from `channels`");
|
|
94
|
+
return [...channels, emailChannel(options.email)];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The event a delivery's audience check sees: the notification, as its
|
|
98
|
+
* recipients read it.
|
|
99
|
+
*/
|
|
100
|
+
const subscriberEventOf = (notification) => ({
|
|
101
|
+
type: notification.type,
|
|
102
|
+
tenant: notification.tenant,
|
|
103
|
+
actorId: notification.actorId,
|
|
104
|
+
payload: notification.data,
|
|
105
|
+
subject: notification.subject ? `${notification.subject.type}/${notification.subject.id}` : null
|
|
106
|
+
});
|
|
107
|
+
/** Messages grouped by the recipient's locale, in claim order. */
|
|
108
|
+
const byLocale = (messages) => {
|
|
109
|
+
const groups = /* @__PURE__ */ new Map();
|
|
110
|
+
for (const message of messages) {
|
|
111
|
+
const group = groups.get(message.locale) ?? [];
|
|
112
|
+
group.push(message);
|
|
113
|
+
groups.set(message.locale, group);
|
|
114
|
+
}
|
|
115
|
+
return groups;
|
|
116
|
+
};
|
|
117
|
+
//#endregion
|
|
73
118
|
//#region src/blocks/notifications/rows.ts
|
|
119
|
+
function objectOrNull(value) {
|
|
120
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) ? Object.fromEntries(Object.entries(value)) : null;
|
|
121
|
+
}
|
|
122
|
+
function actionsOf(value) {
|
|
123
|
+
if (!Array.isArray(value)) return [];
|
|
124
|
+
return value.flatMap((entry) => {
|
|
125
|
+
const action = objectOrNull(entry);
|
|
126
|
+
const key = action?.["key"];
|
|
127
|
+
const label = action?.["label"];
|
|
128
|
+
if (typeof key !== "string" || typeof label !== "string") return [];
|
|
129
|
+
const operation = action?.["operation"];
|
|
130
|
+
const payload = objectOrNull(action?.["payload"]);
|
|
131
|
+
return [{
|
|
132
|
+
key,
|
|
133
|
+
label,
|
|
134
|
+
...typeof operation === "string" ? { operation } : {},
|
|
135
|
+
...payload === null ? {} : { payload }
|
|
136
|
+
}];
|
|
137
|
+
});
|
|
138
|
+
}
|
|
74
139
|
function toItem(row) {
|
|
75
140
|
const type = nullableText(row["subject_type"]);
|
|
76
141
|
const id = nullableText(row["subject_id"]);
|
|
@@ -89,10 +154,12 @@ function toItem(row) {
|
|
|
89
154
|
},
|
|
90
155
|
summary: nullableText(row["summary"]),
|
|
91
156
|
actionPath: nullableText(row["action_path"]),
|
|
157
|
+
actions: actionsOf(row["actions"]),
|
|
92
158
|
priority: nullableText(row["priority"]),
|
|
93
159
|
createdAt: nullableInstant(row["created_at"]) ?? temporal().Now.instant(),
|
|
94
160
|
readAt: nullableInstant(row["read_at"]),
|
|
95
161
|
resolvedAt: nullableInstant(row["resolved_at"]),
|
|
162
|
+
resolution: objectOrNull(row["resolution"]),
|
|
96
163
|
fields: rowFields(row["fields"])
|
|
97
164
|
};
|
|
98
165
|
}
|
|
@@ -198,39 +265,6 @@ const subjectDeliveryOf = (row) => ({
|
|
|
198
265
|
}];
|
|
199
266
|
})
|
|
200
267
|
});
|
|
201
|
-
/**
|
|
202
|
-
* The data of `notification.delivered` and `notification.failed` for one
|
|
203
|
-
* delivery.
|
|
204
|
-
*/
|
|
205
|
-
const deliveryData = (message, channel) => {
|
|
206
|
-
const notification = message.notification;
|
|
207
|
-
return {
|
|
208
|
-
notificationId: notification.eventId,
|
|
209
|
-
organizationId: notification.tenant,
|
|
210
|
-
type: notification.type,
|
|
211
|
-
channel,
|
|
212
|
-
deliveryId: message.deliveryId,
|
|
213
|
-
subjectType: notification.subject?.type ?? "notification",
|
|
214
|
-
subjectId: notification.subject?.id ?? notification.eventId
|
|
215
|
-
};
|
|
216
|
-
};
|
|
217
|
-
function deliveryChannels(options) {
|
|
218
|
-
const channels = options.channels ?? [];
|
|
219
|
-
if (options.email === void 0) return channels;
|
|
220
|
-
if (channels.some((channel) => channel.name === "email")) throw new TypeError("createNotifications: `email` adds the \"email\" channel; remove the channel named \"email\" from `channels`");
|
|
221
|
-
return [...channels, emailChannel(options.email)];
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* The event a delivery's audience check sees: the notification, as its
|
|
225
|
-
* recipients read it.
|
|
226
|
-
*/
|
|
227
|
-
const subscriberEventOf = (notification) => ({
|
|
228
|
-
type: notification.type,
|
|
229
|
-
tenant: notification.tenant,
|
|
230
|
-
actorId: notification.actorId,
|
|
231
|
-
payload: notification.data,
|
|
232
|
-
subject: notification.subject ? `${notification.subject.type}/${notification.subject.id}` : null
|
|
233
|
-
});
|
|
234
268
|
function createNotifications(options) {
|
|
235
269
|
applyTemporal(options);
|
|
236
270
|
const fields = blockFields(options.fields, "notification fields");
|
|
@@ -346,8 +380,8 @@ function createNotifications(options) {
|
|
|
346
380
|
attempts: Number(row["attempts"] ?? 1),
|
|
347
381
|
userId: String(row["user_id"]),
|
|
348
382
|
email: nullableText(row["email"]),
|
|
349
|
-
|
|
350
|
-
|
|
383
|
+
locale: nullableText(row["locale"]),
|
|
384
|
+
notification
|
|
351
385
|
},
|
|
352
386
|
suppressed: nullableText(row["suppressed"])
|
|
353
387
|
};
|
|
@@ -404,14 +438,48 @@ function createNotifications(options) {
|
|
|
404
438
|
continue;
|
|
405
439
|
}
|
|
406
440
|
const allowed = new Set(checked.allowed.map((subscriber) => subscriber.message));
|
|
407
|
-
for (const message of messages)
|
|
441
|
+
for (const message of messages) if (!allowed.has(message)) outcomes.push(await skip(message, "audience"));
|
|
442
|
+
for (const [locale, group] of byLocale(messages.filter((message) => allowed.has(message)))) {
|
|
443
|
+
const hydrated = await hydrateFor(group, locale);
|
|
444
|
+
for (const message of group) outcomes.push(await deliverOne(channel, message, maxAttempts, hydrated));
|
|
445
|
+
}
|
|
408
446
|
}
|
|
409
447
|
return outcomes;
|
|
410
448
|
}
|
|
411
|
-
|
|
449
|
+
/**
|
|
450
|
+
* `hydrate` once for a locale's messages. A throwing hydrate fails only those
|
|
451
|
+
* deliveries, inside `deliverOne`.
|
|
452
|
+
*/
|
|
453
|
+
const hydrateFor = async (messages, locale) => {
|
|
454
|
+
if (!options.hydrate) return {
|
|
455
|
+
ok: true,
|
|
456
|
+
value: void 0
|
|
457
|
+
};
|
|
458
|
+
try {
|
|
459
|
+
return {
|
|
460
|
+
ok: true,
|
|
461
|
+
value: await options.hydrate(messages.map((message) => message.notification), locale === null ? {} : { locale })
|
|
462
|
+
};
|
|
463
|
+
} catch (cause) {
|
|
464
|
+
return {
|
|
465
|
+
ok: false,
|
|
466
|
+
cause
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
async function deliverOne(channel, message, maxAttempts, hydration) {
|
|
412
471
|
const notification = message.notification;
|
|
413
472
|
try {
|
|
414
|
-
|
|
473
|
+
if (!hydration.ok) throw hydration.cause;
|
|
474
|
+
const text = options.render ? options.render(notification, {
|
|
475
|
+
...message.locale === null ? {} : { locale: message.locale },
|
|
476
|
+
...hydration.value === void 0 ? {} : { hydrated: hydration.value }
|
|
477
|
+
}) : void 0;
|
|
478
|
+
const result = await channel.send({
|
|
479
|
+
...message,
|
|
480
|
+
...text === void 0 ? {} : { text },
|
|
481
|
+
...hydration.value === void 0 ? {} : { hydrated: hydration.value }
|
|
482
|
+
});
|
|
415
483
|
const status = result?.status ?? "sent";
|
|
416
484
|
await call("complete_notification_delivery", {
|
|
417
485
|
delivery: message.deliveryId,
|
|
@@ -464,6 +532,7 @@ function createNotifications(options) {
|
|
|
464
532
|
subject_label: input.subject?.label,
|
|
465
533
|
summary: input.summary,
|
|
466
534
|
action_path: input.actionPath,
|
|
535
|
+
actions: input.actions,
|
|
467
536
|
priority: input.priority,
|
|
468
537
|
key: input.key,
|
|
469
538
|
channels: input.channels,
|
|
@@ -582,7 +651,8 @@ function createNotifications(options) {
|
|
|
582
651
|
type: input.type,
|
|
583
652
|
subject_type: input.subject.type,
|
|
584
653
|
subject_id: input.subject.id,
|
|
585
|
-
tenant: input.tenant ?? null
|
|
654
|
+
tenant: input.tenant ?? null,
|
|
655
|
+
...input.resolution === void 0 ? {} : { resolution: input.resolution }
|
|
586
656
|
}, updateOf);
|
|
587
657
|
},
|
|
588
658
|
subscribe(input) {
|
|
@@ -3,7 +3,7 @@ import { $ as SaasEventData, Ct as Events } from "../../events-vcqenSYU.js";
|
|
|
3
3
|
import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
4
4
|
import { t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
5
5
|
import { n as BlockHooks } from "../../block-hooks-DZN2w69m.js";
|
|
6
|
-
import { c as BlockOf } from "../../define-block-
|
|
6
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
7
7
|
//#region src/blocks/numbering/numbering.d.ts
|
|
8
8
|
interface NumberingOptions {
|
|
9
9
|
readonly transport: BlockTransport;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as numberingSqlOptions } from "../../options-
|
|
1
|
+
import { t as numberingSqlOptions } from "../../options-BzB2QxL3.js";
|
|
2
2
|
import { o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
3
3
|
import { r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
4
4
|
import { n as event, t as defineEvents } from "../../event-map-CtPFhcOp.js";
|
|
@@ -5,7 +5,7 @@ import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
|
5
5
|
import { n as BlockOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
6
6
|
import { s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
7
7
|
import { n as BlockHooks } from "../../block-hooks-DZN2w69m.js";
|
|
8
|
-
import { c as BlockOf } from "../../define-block-
|
|
8
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
9
9
|
//#region src/blocks/oauth-server/oauth-server.d.ts
|
|
10
10
|
declare const AUTH_METHODS: readonly ["none", "client_secret_basic", "client_secret_post"];
|
|
11
11
|
declare const GRANT_TYPES: readonly ["authorization_code", "refresh_token", "client_credentials", "urn:ietf:params:oauth:grant-type:device_code"];
|
|
@@ -2,7 +2,7 @@ import { n as dbError } from "../../errors-BVFgt8BZ.js";
|
|
|
2
2
|
import { t as temporal } from "../../temporal-required-Dy0GGD8E.js";
|
|
3
3
|
import { t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
4
4
|
import { a as toBase64Url } from "../../base64-B9Wlsdj7.js";
|
|
5
|
-
import { t as oauthServerSqlOptions } from "../../options-
|
|
5
|
+
import { t as oauthServerSqlOptions } from "../../options-B685YSzQ.js";
|
|
6
6
|
import { D as recordOf, F as stringsOf, I as textOf, N as sha256Hex, O as recordOrEmpty, T as randomToken, U as sqlTransport, d as enumOrThrow, h as instantOf, j as run, k as recordsOf, n as applyTemporal, o as blockCall, v as nullableInstant, y as nullableText } from "../../block-helpers-CtBdjgO4.js";
|
|
7
7
|
import { r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
8
8
|
import { n as event, t as defineEvents } from "../../event-map-CtPFhcOp.js";
|
|
@@ -4,8 +4,8 @@ import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
|
4
4
|
import { n as BlockOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
5
5
|
import { a as dbTransport, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
6
6
|
import { n as BlockHooks } from "../../block-hooks-DZN2w69m.js";
|
|
7
|
-
import { c as BlockOf } from "../../define-block-
|
|
8
|
-
import { n as Controller, t as AuthPort } from "../../controller-
|
|
7
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
8
|
+
import { n as Controller, t as AuthPort } from "../../controller-BR7CZ1R9.js";
|
|
9
9
|
//#region src/blocks/onboarding/onboarding.d.ts
|
|
10
10
|
type ChecklistScope = "user" | "organization";
|
|
11
11
|
/** One step. `events` completes it when the outbox records one of those types. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as onboardingSqlOptions } from "../../options-
|
|
1
|
+
import { t as onboardingSqlOptions } from "../../options-Cb2FOFj5.js";
|
|
2
2
|
import { n as whileSignedIn, t as defineController } from "../../controller-BEliOBOv.js";
|
|
3
3
|
import { B as dbTransport, C as optionalText, H as rpcTransport, I as textOf, S as optionalInstant, U as sqlTransport, k as recordsOf, n as applyTemporal, o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
4
4
|
import { r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
@@ -8,9 +8,9 @@ import { n as BlockOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
|
8
8
|
import { a as dbTransport, i as RpcClient, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
9
9
|
import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-DZN2w69m.js";
|
|
10
10
|
import { g as JobHandler } from "../../types-Czq9Xtpa.js";
|
|
11
|
-
import { Bt as Action, c as BlockOf } from "../../define-block-
|
|
11
|
+
import { Bt as Action, c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
12
12
|
import { n as Money } from "../../money-BNRdJQzA.js";
|
|
13
|
-
import { n as ConversionContext, t as ConversionClients } from "../../conversion-
|
|
13
|
+
import { n as ConversionContext, t as ConversionClients } from "../../conversion-BgtOfTaS.js";
|
|
14
14
|
import { r as WebhookInput } from "../../signatures-Dkx9OE8j.js";
|
|
15
15
|
import { i as PaymentEvent, n as Payment, o as PaymentProvider } from "../../payments-BYcN34Fp.js";
|
|
16
16
|
import { n as MetricDefinition } from "../../metric-definition-EAYI1r2n.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as dbError } from "../../errors-BVFgt8BZ.js";
|
|
2
2
|
import { n as isRecord } from "../../guards-6F2bCtQR.js";
|
|
3
3
|
import { a as ok, r as err, t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
4
|
-
import { t as ordersSqlOptions } from "../../options-
|
|
4
|
+
import { t as ordersSqlOptions } from "../../options-C3AdsFJ6.js";
|
|
5
5
|
import { r as defineMetric } from "../../metric-definition-BjxVn4R5.js";
|
|
6
6
|
import { A as requiredInstant, B as dbTransport, C as optionalText, D as recordOf, F as stringsOf, H as rpcTransport, I as textOf, S as optionalInstant, U as sqlTransport, d as enumOrThrow, k as recordsOf, m as instantArg, n as applyTemporal, o as blockCall, y as nullableText } from "../../block-helpers-CtBdjgO4.js";
|
|
7
7
|
import { i as wrapTransport, n as extendBlock, r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
@@ -7,8 +7,9 @@ import { Ct as Events, W as InvitationEventData, Z as OrganizationEventData, o a
|
|
|
7
7
|
import { r as BlockTemporalOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
8
8
|
import { a as dbTransport, i as RpcClient, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
9
9
|
import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-DZN2w69m.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { N as PlatformRolesOption } from "../../authorization-IiE__z2m.js";
|
|
11
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
12
|
+
import { n as Controller, t as AuthPort } from "../../controller-BR7CZ1R9.js";
|
|
12
13
|
//#region src/sql/modules/invitations-tables.d.ts
|
|
13
14
|
declare const INVITATION_ERRORS: {
|
|
14
15
|
readonly INVITATION_FORBIDDEN: "42501";
|
|
@@ -24,6 +25,8 @@ declare const INVITATION_ERRORS: {
|
|
|
24
25
|
readonly INVITATION_SELF: "42501";
|
|
25
26
|
readonly INVITATION_INVITER_REVOKED: "42501";
|
|
26
27
|
readonly INVITATION_SCOPE_UNSUPPORTED: "0A000";
|
|
28
|
+
readonly INVITATION_ON_ACCEPT_INVALID: "22023";
|
|
29
|
+
readonly INVITATION_TEAM_UNKNOWN: "23514";
|
|
27
30
|
};
|
|
28
31
|
type InvitationError = keyof typeof INVITATION_ERRORS;
|
|
29
32
|
//#endregion
|
|
@@ -59,6 +62,14 @@ interface InviteRequest<I extends object = Record<never, never>> {
|
|
|
59
62
|
* `options.invitationFields`.
|
|
60
63
|
*/
|
|
61
64
|
readonly fields?: Partial<I> & Readonly<Record<string, unknown>>;
|
|
65
|
+
/**
|
|
66
|
+
* Roles and teams granted on accept, with
|
|
67
|
+
* `blocks.invitations.options.onAccept`.
|
|
68
|
+
*/
|
|
69
|
+
readonly onAccept?: {
|
|
70
|
+
readonly roles?: readonly string[];
|
|
71
|
+
readonly teams?: readonly string[];
|
|
72
|
+
};
|
|
62
73
|
}
|
|
63
74
|
/**
|
|
64
75
|
* An invitation. `I` types the extra columns `options.invitationFields`
|
|
@@ -137,13 +148,18 @@ interface OrganizationMembership {
|
|
|
137
148
|
readonly name: string;
|
|
138
149
|
readonly slug?: string;
|
|
139
150
|
readonly role: string;
|
|
151
|
+
/** Every role, with `blocks.memberships.options.roles.many`. */
|
|
152
|
+
readonly roles?: readonly string[];
|
|
140
153
|
readonly disabledAt?: Temporal.Instant;
|
|
141
154
|
readonly [column: string]: unknown;
|
|
142
155
|
}
|
|
143
156
|
/** A row `list_members` returns. */
|
|
144
157
|
interface OrganizationMember {
|
|
145
158
|
readonly userId: string;
|
|
159
|
+
/** The highest-ranked role when a member holds several. */
|
|
146
160
|
readonly role: string;
|
|
161
|
+
/** Every role, with `blocks.memberships.options.roles.many`. */
|
|
162
|
+
readonly roles?: readonly string[];
|
|
147
163
|
readonly disabledAt?: Temporal.Instant;
|
|
148
164
|
}
|
|
149
165
|
/** An open invitation `list_organization_invitations` returns. */
|
|
@@ -230,6 +246,17 @@ interface Organizations<F extends object = Record<never, never>, I extends objec
|
|
|
230
246
|
/** Why a slug can't be used, or `undefined` when it can. */
|
|
231
247
|
slugProblem(slug: string, exceptOrganizationId?: string): AsyncResult<SlugProblem | undefined>;
|
|
232
248
|
updateMemberRole(organizationId: string, userId: string, role: string): AsyncResult<true>;
|
|
249
|
+
/**
|
|
250
|
+
* Adds a role to a member, with `blocks.memberships.options.roles.many`.
|
|
251
|
+
* `false` when they already held it.
|
|
252
|
+
*/
|
|
253
|
+
addMemberRole(organizationId: string, userId: string, role: string): AsyncResult<boolean>;
|
|
254
|
+
/**
|
|
255
|
+
* Removes one of a member's roles, with
|
|
256
|
+
* `blocks.memberships.options.roles.many`. `false` when they didn't hold it;
|
|
257
|
+
* the last role and the last owner are refused.
|
|
258
|
+
*/
|
|
259
|
+
removeMemberRole(organizationId: string, userId: string, role: string): AsyncResult<boolean>;
|
|
233
260
|
removeMember(organizationId: string, userId: string): AsyncResult<true>;
|
|
234
261
|
suspendMember(organizationId: string, userId: string): AsyncResult<boolean>;
|
|
235
262
|
resumeMember(organizationId: string, userId: string): AsyncResult<boolean>;
|
|
@@ -260,9 +287,15 @@ interface Organizations<F extends object = Record<never, never>, I extends objec
|
|
|
260
287
|
acceptInvitation(token: string): AsyncResult<{
|
|
261
288
|
readonly organizationId: string | null;
|
|
262
289
|
}>;
|
|
290
|
+
/**
|
|
291
|
+
* Emits `invitation.accepted` with the organization joined. The token calls
|
|
292
|
+
* don't know the invitation id, so they record the event only in the outbox,
|
|
293
|
+
* as `revokeInvitation` does for the organization id.
|
|
294
|
+
*/
|
|
263
295
|
acceptInvitationById(invitationId: string): AsyncResult<{
|
|
264
296
|
readonly organizationId: string | null;
|
|
265
297
|
}>;
|
|
298
|
+
/** Emits `invitation.declined` when the invitation was open. */
|
|
266
299
|
declineInvitationById(invitationId: string): AsyncResult<boolean>;
|
|
267
300
|
myInvitations(): AsyncResult<readonly Invitation<I>[]>;
|
|
268
301
|
}
|
|
@@ -281,6 +314,8 @@ type OrganizationsEvents = {
|
|
|
281
314
|
readonly "organization.member_suspended": OrganizationEventData;
|
|
282
315
|
readonly "organization.member_resumed": OrganizationEventData;
|
|
283
316
|
readonly "organization.role_changed": OrganizationEventData;
|
|
317
|
+
readonly "organization.role_added": OrganizationEventData;
|
|
318
|
+
readonly "organization.role_removed": OrganizationEventData;
|
|
284
319
|
readonly "organization.ownership_transferred": OrganizationEventData;
|
|
285
320
|
readonly "organization.switched": OrganizationEventData;
|
|
286
321
|
readonly "invitation.created": InvitationEventData;
|
|
@@ -477,4 +512,4 @@ export declare function createInvitationsController<T extends {
|
|
|
477
512
|
readonly id: string;
|
|
478
513
|
} = OrganizationInvitationRow>(options: InvitationsControllerOptions<T>): InvitationsController<T>;
|
|
479
514
|
//#endregion
|
|
480
|
-
export { type BlockHooks, type BlockTransport, type BlockTransportMiddleware, type CreateOrganizationOptions, type Invitation, type InvitationChange, type InvitationChanges, type InvitationDraft, type InvitationErrorHint, type InvitationPreview, type InvitationSent, type InvitationStatus, type InvitationsActions, type InvitationsController, type InvitationsControllerOptions, type InvitationsSnapshot, type InviteRequest, type MemberChange, type MembersActions, type MembersController, type MembersControllerOptions, type MembersSnapshot, type OrganizationAttributes, type OrganizationInvitationRow, type OrganizationMember, type OrganizationMembership, type OrganizationRowSource, type OrganizationSource, type Organizations, type OrganizationsActions, type OrganizationsController, type OrganizationsControllerOptions, type OrganizationsEvents, type OrganizationsOptions, type OrganizationsSnapshot, type RpcClient, type SlugProblem, type SwitchResult, dbTransport, extendBlock, rpcTransport, sqlTransport, withBlockHooks, wrapTransport };
|
|
515
|
+
export { type BlockHooks, type BlockTransport, type BlockTransportMiddleware, type CreateOrganizationOptions, type Invitation, type InvitationChange, type InvitationChanges, type InvitationDraft, type InvitationErrorHint, type InvitationPreview, type InvitationSent, type InvitationStatus, type InvitationsActions, type InvitationsController, type InvitationsControllerOptions, type InvitationsSnapshot, type InviteRequest, type MemberChange, type MembersActions, type MembersController, type MembersControllerOptions, type MembersSnapshot, type OrganizationAttributes, type OrganizationInvitationRow, type OrganizationMember, type OrganizationMembership, type OrganizationRowSource, type OrganizationSource, type Organizations, type OrganizationsActions, type OrganizationsController, type OrganizationsControllerOptions, type OrganizationsEvents, type OrganizationsOptions, type OrganizationsSnapshot, type PlatformRolesOption, type RpcClient, type SlugProblem, type SwitchResult, dbTransport, extendBlock, rpcTransport, sqlTransport, withBlockHooks, wrapTransport };
|
|
@@ -2,7 +2,7 @@ import { n as dbError } from "../../errors-BVFgt8BZ.js";
|
|
|
2
2
|
import { n as isRecord } from "../../guards-6F2bCtQR.js";
|
|
3
3
|
import { t as temporal } from "../../temporal-required-Dy0GGD8E.js";
|
|
4
4
|
import { a as ok, r as err, s as toDbError, t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
5
|
-
import { n as organizationsSqlOptions, t as invitationsSqlOptions } from "../../options-
|
|
5
|
+
import { n as organizationsSqlOptions, t as invitationsSqlOptions } from "../../options-CpZ2HlSU.js";
|
|
6
6
|
import { n as whileSignedIn, t as defineController } from "../../controller-BEliOBOv.js";
|
|
7
7
|
import { B as dbTransport, H as rpcTransport, U as sqlTransport, k as recordsOf, n as applyTemporal, o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
8
8
|
import { i as wrapTransport, n as extendBlock, r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
@@ -10,7 +10,7 @@ import { t as tenantOf } from "../../tenant-BgIiMQpo.js";
|
|
|
10
10
|
import { r as blockEmitter } from "../../block-events-pBXPzwnW.js";
|
|
11
11
|
import { a as readAllFields, n as blockFields, o as readFields, s as rowFields } from "../../block-fields-DE_FgpOU.js";
|
|
12
12
|
import { n as defineBlock } from "../../define-block-BGqOO8B3.js";
|
|
13
|
-
import { t as organizationsEvents } from "../../events-
|
|
13
|
+
import { t as organizationsEvents } from "../../events-DuLhzjP6.js";
|
|
14
14
|
//#region src/blocks/organizations/organizations.ts
|
|
15
15
|
const text = (value) => typeof value === "string" ? value : String(value);
|
|
16
16
|
const optionalText = (value) => value === null || value === void 0 ? null : text(value);
|
|
@@ -80,6 +80,10 @@ function previewFrom(row) {
|
|
|
80
80
|
extra: extraOf(row, PREVIEW_KEYS)
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
+
const rolesOf = (row) => {
|
|
84
|
+
const roles = row["roles"];
|
|
85
|
+
return Array.isArray(roles) ? { roles: roles.map((role) => text(role)) } : {};
|
|
86
|
+
};
|
|
83
87
|
const disabledAtOf = (row) => {
|
|
84
88
|
const disabledAt = optionalText(row["disabled_at"]);
|
|
85
89
|
return disabledAt === null ? {} : { disabledAt: temporal().Instant.from(disabledAt) };
|
|
@@ -226,6 +230,34 @@ function organizationsClient(options) {
|
|
|
226
230
|
return true;
|
|
227
231
|
});
|
|
228
232
|
},
|
|
233
|
+
addMemberRole(organizationId, userId, role) {
|
|
234
|
+
return run("organizations", "add_member_role", {
|
|
235
|
+
organization: organizationId,
|
|
236
|
+
member: userId,
|
|
237
|
+
role
|
|
238
|
+
}, (value) => {
|
|
239
|
+
if (value === true) organizationEvent("organization.role_added", {
|
|
240
|
+
organizationId,
|
|
241
|
+
userId,
|
|
242
|
+
role
|
|
243
|
+
});
|
|
244
|
+
return value === true;
|
|
245
|
+
});
|
|
246
|
+
},
|
|
247
|
+
removeMemberRole(organizationId, userId, role) {
|
|
248
|
+
return run("organizations", "remove_member_role", {
|
|
249
|
+
organization: organizationId,
|
|
250
|
+
member: userId,
|
|
251
|
+
role
|
|
252
|
+
}, (value) => {
|
|
253
|
+
if (value === true) organizationEvent("organization.role_removed", {
|
|
254
|
+
organizationId,
|
|
255
|
+
userId,
|
|
256
|
+
role
|
|
257
|
+
});
|
|
258
|
+
return value === true;
|
|
259
|
+
});
|
|
260
|
+
},
|
|
229
261
|
removeMember(organizationId, userId) {
|
|
230
262
|
return run("organizations", "remove_member", {
|
|
231
263
|
organization: organizationId,
|
|
@@ -314,6 +346,7 @@ function organizationsClient(options) {
|
|
|
314
346
|
name: text(row["name"]),
|
|
315
347
|
...slug === null ? {} : { slug },
|
|
316
348
|
role: text(row["role"]),
|
|
349
|
+
...rolesOf(row),
|
|
317
350
|
...disabledAtOf(row)
|
|
318
351
|
});
|
|
319
352
|
}
|
|
@@ -324,6 +357,7 @@ function organizationsClient(options) {
|
|
|
324
357
|
return run("organizations", "list_members", { organization: organizationId }, (value) => recordsOf(value, "list_members").map((row) => ({
|
|
325
358
|
userId: text(row["user_id"]),
|
|
326
359
|
role: text(row["role"]),
|
|
360
|
+
...rolesOf(row),
|
|
327
361
|
...disabledAtOf(row)
|
|
328
362
|
})));
|
|
329
363
|
},
|
|
@@ -349,7 +383,8 @@ function organizationsClient(options) {
|
|
|
349
383
|
invitee_role: request.role,
|
|
350
384
|
valid_for: request.validFor,
|
|
351
385
|
prefill: request.prefill,
|
|
352
|
-
fields: checked.data
|
|
386
|
+
fields: checked.data,
|
|
387
|
+
...request.onAccept === void 0 ? {} : { on_accept: request.onAccept }
|
|
353
388
|
}, (value) => sent(value, "invite_member", false));
|
|
354
389
|
});
|
|
355
390
|
},
|
|
@@ -392,13 +427,23 @@ function organizationsClient(options) {
|
|
|
392
427
|
return run("invitations", "accept_invitation", { token }, accepted);
|
|
393
428
|
},
|
|
394
429
|
acceptInvitationById(invitationId) {
|
|
395
|
-
return run("invitations", "accept_invitation_by_id", { invitation_id: invitationId },
|
|
430
|
+
return run("invitations", "accept_invitation_by_id", { invitation_id: invitationId }, (value) => {
|
|
431
|
+
const joined = accepted(value);
|
|
432
|
+
invitationEvent("invitation.accepted", {
|
|
433
|
+
invitationId,
|
|
434
|
+
...joined.organizationId === null ? {} : { organizationId: joined.organizationId }
|
|
435
|
+
});
|
|
436
|
+
return joined;
|
|
437
|
+
});
|
|
396
438
|
},
|
|
397
439
|
myInvitations() {
|
|
398
440
|
return run("invitations", "my_invitations", {}, (value) => (Array.isArray(value) ? value.filter(isRecord) : []).map(invitationFrom)).andThen((invitations) => readAllFields(invitationFields, invitations));
|
|
399
441
|
},
|
|
400
442
|
declineInvitationById(invitationId) {
|
|
401
|
-
return run("invitations", "decline_invitation_by_id", { invitation_id: invitationId }, (value) =>
|
|
443
|
+
return run("invitations", "decline_invitation_by_id", { invitation_id: invitationId }, (value) => {
|
|
444
|
+
if (value === true) invitationEvent("invitation.declined", { invitationId });
|
|
445
|
+
return value === true;
|
|
446
|
+
});
|
|
402
447
|
}
|
|
403
448
|
};
|
|
404
449
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as SqlClient } from "../../executor-hGjrop3A.js";
|
|
2
2
|
import { a as dbTransport, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
3
|
-
import { c as BlockOf } from "../../define-block-
|
|
3
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
4
4
|
import { a as OutboxEvent, c as OutboxPurgeOptions, d as RegisterOptions, f as RelayOptions, h as outboxCloudEvent, i as OutboxDeadLetter, l as OutboxRouteOptions, m as createOutbox, n as HistoryFilter, o as OutboxHandler, p as RelayResult, r as Outbox, s as OutboxOptions, t as EmitOptions, u as OutboxRouteResult } from "../../outbox-HxjZTfF6.js";
|
|
5
5
|
//#region src/blocks/outbox/manifest.d.ts
|
|
6
6
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as DbException } from "../../db-exception-Lngc1W49.js";
|
|
2
2
|
import { s as toDbError } from "../../result-ntFBW2p2.js";
|
|
3
|
-
import { t as outboxSqlOptions } from "../../options-
|
|
3
|
+
import { t as outboxSqlOptions } from "../../options-62woPFn3.js";
|
|
4
4
|
import { B as dbTransport, H as rpcTransport, R as toInstant, U as sqlTransport, j as run, n as applyTemporal, o as blockCall, r as asDbError, s as budget, w as pageOf, z as workerId } from "../../block-helpers-CtBdjgO4.js";
|
|
5
5
|
import { r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
6
6
|
import "../../cloud-event-XsM53POL.js";
|
|
@@ -6,8 +6,8 @@ import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
|
6
6
|
import { a as BlockTenantOptions, r as BlockTemporalOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
7
7
|
import { a as dbTransport, i as RpcClient, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
8
8
|
import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-DZN2w69m.js";
|
|
9
|
-
import { n as passesSqlOptions, t as PassesSqlOptions } from "../../options-
|
|
10
|
-
import { Sn as EntitySchema, c as BlockOf, ln as RecordBindingWrite, mn as RecordRowInput, rn as RecordBinding } from "../../define-block-
|
|
9
|
+
import { n as passesSqlOptions, t as PassesSqlOptions } from "../../options-HnfETSHr.js";
|
|
10
|
+
import { Sn as EntitySchema, c as BlockOf, ln as RecordBindingWrite, mn as RecordRowInput, rn as RecordBinding } from "../../define-block-CJWiDWa5.js";
|
|
11
11
|
import { n as Booking } from "../../bookings-Dox2rced.js";
|
|
12
12
|
import { n as Jwks } from "../../jws-D0toeQlA.js";
|
|
13
13
|
import { o as Signer } from "../../signing-keys-BNDUxpQL.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as dbError } from "../../errors-BVFgt8BZ.js";
|
|
2
2
|
import { t as temporal } from "../../temporal-required-Dy0GGD8E.js";
|
|
3
3
|
import { t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
4
|
-
import { t as passesSqlOptions } from "../../options-
|
|
4
|
+
import { t as passesSqlOptions } from "../../options-56zYYXxc.js";
|
|
5
5
|
import { A as requiredInstant, B as dbTransport, C as optionalText, D as recordOf, H as rpcTransport, I as textOf, S as optionalInstant, U as sqlTransport, d as enumOrThrow, k as recordsOf, m as instantArg, n as applyTemporal, o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
6
6
|
import { i as wrapTransport, n as extendBlock, r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
7
7
|
import { n as entitySchema } from "../../entity-schema-BDv6w-OQ.js";
|
|
@@ -3,9 +3,9 @@ import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
|
3
3
|
import { n as BlockOptions, o as BlockTenant } from "../../block-helpers-CRpAHrp_.js";
|
|
4
4
|
import { a as dbTransport, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
5
5
|
import { n as BlockHooks } from "../../block-hooks-DZN2w69m.js";
|
|
6
|
-
import { c as BlockOf } from "../../define-block-
|
|
7
|
-
import { B as PermissionFlags, H as can, U as permissionFlags, V as PermissionSet, W as permissionMatches } from "../../index-
|
|
8
|
-
import { n as Controller, t as AuthPort } from "../../controller-
|
|
6
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
7
|
+
import { B as PermissionFlags, H as can, U as permissionFlags, V as PermissionSet, W as permissionMatches } from "../../index-C0t-vNIt.js";
|
|
8
|
+
import { n as Controller, t as AuthPort } from "../../controller-BR7CZ1R9.js";
|
|
9
9
|
//#region src/blocks/permissions/permissions.d.ts
|
|
10
10
|
interface PermissionsOptions extends BlockOptions {
|
|
11
11
|
/** `withBlockHooks` hooks around the client's methods. */
|
|
@@ -45,7 +45,7 @@ interface Permissions<K extends string = string> {
|
|
|
45
45
|
export declare function createPermissions<K extends string = string>(options: PermissionsOptions): Permissions<K>;
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/blocks/permissions/manifest.d.ts
|
|
48
|
-
/** The `
|
|
48
|
+
/** The `permissions` block's manifest (ADR 0029). */
|
|
49
49
|
export declare const permissionsBlock: BlockOf<"permissions", typeof createPermissions>;
|
|
50
50
|
//#endregion
|
|
51
51
|
//#region src/blocks/permissions/client.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as ok, t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
2
|
-
import { t as permissionsSqlOptions } from "../../options-
|
|
2
|
+
import { t as permissionsSqlOptions } from "../../options-DM1qaMMQ.js";
|
|
3
3
|
import { t as currentTenant } from "../../tenant-source-bqWpSr86.js";
|
|
4
4
|
import { n as whileSignedIn, t as defineController } from "../../controller-BEliOBOv.js";
|
|
5
5
|
import { B as dbTransport, H as rpcTransport, U as sqlTransport, o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
@@ -36,7 +36,7 @@ function createPermissions(options) {
|
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
38
|
//#region src/blocks/permissions/manifest.ts
|
|
39
|
-
/** The `
|
|
39
|
+
/** The `permissions` block's manifest (ADR 0029). */
|
|
40
40
|
const permissionsBlock = defineBlock({
|
|
41
41
|
name: "permissions",
|
|
42
42
|
sql: ["permissions"],
|
|
@@ -8,7 +8,7 @@ import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
|
8
8
|
import { r as BlockTemporalOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
9
9
|
import { a as dbTransport, i as RpcClient, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
10
10
|
import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-DZN2w69m.js";
|
|
11
|
-
import { c as BlockOf } from "../../define-block-
|
|
11
|
+
import { c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
12
12
|
import { n as Money } from "../../money-BNRdJQzA.js";
|
|
13
13
|
import { t as RankNeighbors } from "../../rank-result-Bwe7igy-.js";
|
|
14
14
|
//#region src/blocks/pipelines/pipelines.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
2
|
-
import { t as pipelinesSqlOptions } from "../../options-
|
|
2
|
+
import { t as pipelinesSqlOptions } from "../../options-xq4MXG1M.js";
|
|
3
3
|
import { A as requiredInstant, B as dbTransport, C as optionalText, D as recordOf, H as rpcTransport, I as textOf, U as sqlTransport, d as enumOrThrow, k as recordsOf, m as instantArg, n as applyTemporal, o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
4
4
|
import { i as wrapTransport, n as extendBlock, r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
5
5
|
import { n as event, t as defineEvents } from "../../event-map-CtPFhcOp.js";
|
|
@@ -7,8 +7,8 @@ import { n as Logger } from "../../logger-DWVYUmwi.js";
|
|
|
7
7
|
import { n as BlockOptions } from "../../block-helpers-CRpAHrp_.js";
|
|
8
8
|
import { a as dbTransport, i as RpcClient, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-DWZSJrwN.js";
|
|
9
9
|
import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-DZN2w69m.js";
|
|
10
|
-
import { n as postsSqlOptions, t as PostsSqlOptions } from "../../options-
|
|
11
|
-
import { Sn as EntitySchema, c as BlockOf } from "../../define-block-
|
|
10
|
+
import { n as postsSqlOptions, t as PostsSqlOptions } from "../../options-DRIgHh4O.js";
|
|
11
|
+
import { Sn as EntitySchema, c as BlockOf } from "../../define-block-CJWiDWa5.js";
|
|
12
12
|
//#region src/blocks/posts/posts.d.ts
|
|
13
13
|
declare const BOARD_KINDS: readonly ["forum", "feedback"];
|
|
14
14
|
declare const POST_STATUSES: readonly ["open", "under_review", "planned", "in_progress", "done", "closed"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as isRecord } from "../../guards-6F2bCtQR.js";
|
|
2
2
|
import { t as AsyncResult } from "../../result-ntFBW2p2.js";
|
|
3
|
-
import { t as postsSqlOptions } from "../../options-
|
|
3
|
+
import { t as postsSqlOptions } from "../../options-cVKZu9b0.js";
|
|
4
4
|
import { A as requiredInstant, B as dbTransport, C as optionalText, D as recordOf, H as rpcTransport, I as textOf, S as optionalInstant, U as sqlTransport, d as enumOrThrow, k as recordsOf, n as applyTemporal, o as blockCall } from "../../block-helpers-CtBdjgO4.js";
|
|
5
5
|
import { i as wrapTransport, n as extendBlock, r as withBlockHooks } from "../../block-hooks-BfxX3682.js";
|
|
6
6
|
import { n as entitySchema } from "../../entity-schema-BDv6w-OQ.js";
|