Commit Graph

2 Commits

Author SHA1 Message Date
Víctor Falcón ecd1a07a0b fix(spaces): resolve inviter name without a non-null relation assumption
Larastan treats the invitedBy belongsTo as always present, so the nullsafe
access read as unnecessary. Resolve the inviter name via a scalar query keyed on
the nullable invited_by_id instead — correct when the inviter's account was
deleted (nullOnDelete) and Larastan-clean. Drops the unused invitation view key.
2026-07-09 12:48:01 +02:00
Víctor Falcón 7df967c487 feat(spaces): invitations, members and owner-scoped feature gates
Add the collaboration layer for Business spaces: owners invite people by email
(seat-capped per subscription), invitees accept via a tokened link to join as
members, and owners can remove members while members can leave. Paid-feature
gates (subscription middleware, open-banking) now resolve against the active
space's owner, so a member of a Business space gets its features without a plan
of their own. Members management and invitations live on the spaces settings
page.
2026-07-09 12:48:01 +02:00