Files
hackerspace.sh/lib/actions/index.ts
T
Moheeb Zara ab8c22ae1d Add notification preferences and alternate dues payment options
Notification preferences (migration 048):
- Per-member opt-out of muteable categories (bookings, classes, forms,
  admin alerts); billing is always-on. Opt-out model, default on.
- Dispatcher reads prefs and marks muted outbox rows 'skipped' instead
  of sending; pure isMuted logic, fail-open on a prefs lookup error.
- notification_preferences table (default-deny RLS); /me toggles and
  self-view via validated service-client actions.

Alternate dues payment methods (migration 049):
- Admin sets external pay-here URLs per platform (PayPal/Zeffy/Venmo)
  in /settings; members see active ones on /me and pay off-platform;
  the treasurer reconciles manually (platform pre-tagged). https-only.
- dues_payment_methods table (SELECT space member, write admin/board).

/me visual pass:
- Restore the chip/preset profile editor (skills/interests/willing-to/
  affiliations); promote ChipInput and presets to shared modules.
- Gate the Stripe pay-dues button on whether the space has Stripe
  configured; show external links or a contact-admin note otherwise.
2026-05-19 20:26:32 -07:00

77 lines
1.9 KiB
TypeScript

/**
* Barrel re-export for server actions.
*
* Client components and pages import action functions via `@/lib/actions`.
* Each domain lives in its own file in this directory; this barrel keeps
* the import path stable as the directory grows.
*
* Do NOT add `'use server'` here. The directive lives on the domain files
* themselves; re-exports preserve the marking.
*/
export * from './tasks'
export * from './projects'
export * from './members'
export * from './contacts'
export * from './payments'
export * from './knowledge-base'
export * from './secrets'
export * from './area-leads'
export * from './settings'
export * from './imports'
// Governance kernel (Tier 1)
export * from './proposals'
export * from './incidents'
export * from './policies'
// Per-space configurable taxonomies
export * from './areas'
// Forum and polymorphic comments
export * from './forum'
// User-creatable chat channels
export * from './comms'
// Custom tiers, custom roles, multi-code invites
export * from './tiers'
export * from './roles'
export * from './invites'
// Configurable member onboarding
export * from './onboarding'
// Customizable permissions, per-item Ops ACLs, area-lead roles
export * from './permissions'
// Custom forms and waivers
export * from './forms'
// Certifications + Instructor capability
export * from './certifications'
// Classes (offerings, sessions, signups)
export * from './classes'
// Equipment registry + reservations
export * from './equipment'
// Member access cards (Door epic)
export * from './member-cards'
// Door connections + executor (Door epic)
export * from './door'
// Presence & attendance (check-in / check-out / hosting)
export * from './presence'
// Stripe recurring dues (product spine Phase 1)
export * from './stripe'
// Transactional notifications outbox (product spine Phase 2)
export * from './notifications'
// Alternate dues payment methods (admin-configured external links)
export * from './dues-payments'