feat: complete remaining Go backend modules

This commit is contained in:
zn-admin committed 2026-08-14 00:02:43 +08:00
1 parent cea2751dc5
commit aef5a97165
145 files changed
+18376 -199

No files matched your search

+24
View File
@@ -141,6 +141,30 @@ type UpdateAccountInput struct {
Password *string
ClearLoginLock bool
}
// AccountUpdate is the storage intent for an account PATCH. Implementations
// must only mutate fields whose pointers/flags are present. In particular,
// security state that is not part of this intent must remain database-owned so
// a concurrent password change or login attempt cannot be overwritten by a
// stale account snapshot.
type AccountUpdate struct {
Actor Actor
DisplayName *string
Role *Role
OrganizationID *string
Status *Status
PasswordHash *PasswordHash
ClearLoginLock bool
IncrementSessionVersion bool
UpdatedAt time.Time
}
// AtomicAccountUpdater is an optional deep storage seam for implementations
// that can apply AccountUpdate atomically. Store remains backward compatible
// for process-local/test adapters; durable stores should implement this seam.
type AtomicAccountUpdater interface {
ApplyAccountUpdate(context.Context, string, AccountUpdate) (Account, error)
}
type UpdateOrganizationInput struct {
Name *string
Status *Status