23971 Proposed API and schema changes (#25013)

## For #25034

### API changes:
[this PR diff](https://github.com/fleetdm/fleet/pull/25013/files)
("available_teams" change is adding missing documentation for current
API behavior)

### schema changes:
- new col in `users` table, `settings`, type `json`. Defaults to `{}`.
New setting, `hidden_host_columns`, added or updated on first relevant
API call per user.

### semantics

- **null** `"hidden_host_columns"` field means "not yet set, use
defaults": `{"settings":{"hidden_host_columns": null}}`
- **included and empty** `"hidden_host_columns"` field means "no columns
hidden, show all columns in the UI":
`{"settings":{"hidden_host_columns": []}}`

### Updates 1/7/25 per discussion with @rachaelshaw @lucasmrod
@sgress454:
- Optional query param `include_ui_settings=true` included with `GET`s
to `/me` or `/users/:id` will trigger considering the API call to be a
contributor API call, giving more flexibility for future changes. Note
that this is the first time we have one endpoint that can be
conditionally considered a contributor endpoint depending on how it is
called.

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
This commit is contained in:
jacobshandling
2025-03-10 10:17:57 -07:00
committed by GitHub
co-authored by Jacob Shandling
parent 13003cf5fc
commit 1268036c1f
2 changed files with 107 additions and 1 deletions
+8 -1
View File
@@ -321,7 +321,14 @@ Retrieves the user data for the authenticated user.
"gravatar_url": "",
"sso_enabled": false,
"teams": []
}
},
"available_teams" : [
{
"id": 1,
"name": "Workstations",
"description": "Employee workstations"
}
],
}
```