Account history endpoints, real member rows, an all-members directory

FeatureSecurityService
Shipped
12 Agosti 2026, 22:13 UTC
Author
Kamo
Commit
c7cdd49

The account view can now say what has happened to an account and who is on it. - Every mutation on the account surface records history: create, field edits, soft delete, merge (which moves the loser's timeline onto the survivor rather than dropping it), addresses, notes, and the member add/remove/primary paths. GET customers/{uid}/history and /history/filters mirror the lead endpoints request for request, because one component in the internal site reads both. - getCustomerMembers returns what a member row needs to be rendered: the display name, avatar, job title, and isTeamMember. Both kinds of person belong on an account — the one paying is frequently not on the payroll — and without the flag the two read identically. - updateCustomerMembers accepts ids as strings (a unique_rowid() past MAX_SAFE_INTEGER arrives rounded otherwise), clears the primary member when the row being removed is theirs, and no longer mutates the orphanRemoval-mapped collection alongside the repository writes. - The directory search takes scope=all, over every member of the org rather than the staff list, and every row says which kind it is. The endpoint ratchet learns denyUnless: it loads the session and returns 401 without one, or 403 without the right, so a handler that opens with it has done strictly more than resolve a caller. Twenty baseline entries were only listed because the scan could not see the guard that was already there.

All changes

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei