| 173 | UpdateOrg(name string, updates configstore.Org) (*configstore.Org, bool, error) |
| 174 | DeleteOrg(name string) (bool, error) |
| 175 | |
| 176 | // Org teams. CreateOrgTeam is create-only (the admin surface never |
| 177 | // overwrites an existing row); it returns errOrgTeamExists / |
| 178 | // configstore.ErrOrgTeamSchemaConflict for the two conflict shapes, |
| 179 | // gorm.ErrRecordNotFound for an unknown org. UpdateOrgTeam applies the |
| 180 | // presence-aware orgTeamUpdate (every column is editable — operator |
| 181 | // break-glass); it returns the row as it was BEFORE the update alongside |
| 182 | // the stored result so the handler can audit old → new per field. A |
| 183 | // schema_name change that collides with another team in the org returns |
| 184 | // configstore.ErrOrgTeamSchemaConflict. Per-org list and delete are |