MCPcopy Index your code
hub / github.com/coder/coder / userPreferenceSettings

Method userPreferenceSettings

coderd/users.go:1283–1343  ·  view source on GitHub ↗

@Summary Get user preference settings @ID get-user-preference-settings @Security CoderSessionToken @Produce json @Tags Users @Param user path string true "User ID, name, or me" @Success 200 {object} codersdk.UserPreferenceSettings @Router /api/v2/users/{user}/preferences [get]

(rw http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

1281// @Success 200 {object} codersdk.UserPreferenceSettings
1282// @Router /api/v2/users/{user}/preferences [get]
1283func (api *API) userPreferenceSettings(rw http.ResponseWriter, r *http.Request) {
1284 var (
1285 ctx = r.Context()
1286 user = httpmw.UserParam(r)
1287 )
1288
1289 taskAlertDismissed, err := api.Database.GetUserTaskNotificationAlertDismissed(ctx, user.ID)
1290 if err != nil {
1291 if !errors.Is(err, sql.ErrNoRows) {
1292 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1293 Message: "Error reading user preference settings.",
1294 Detail: err.Error(),
1295 })
1296 return
1297 }
1298 }
1299
1300 thinkingMode, err := api.Database.GetUserThinkingDisplayMode(ctx, user.ID)
1301 if err != nil && !errors.Is(err, sql.ErrNoRows) {
1302 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1303 Message: "Error reading user preference settings.",
1304 Detail: err.Error(),
1305 })
1306 return
1307 }
1308
1309 shellToolMode, err := api.Database.GetUserShellToolDisplayMode(ctx, user.ID)
1310 if err != nil && !errors.Is(err, sql.ErrNoRows) {
1311 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1312 Message: "Error reading user preference settings.",
1313 Detail: err.Error(),
1314 })
1315 return
1316 }
1317
1318 codeDiffMode, err := api.Database.GetUserCodeDiffDisplayMode(ctx, user.ID)
1319 if err != nil && !errors.Is(err, sql.ErrNoRows) {
1320 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1321 Message: "Error reading user preference settings.",
1322 Detail: err.Error(),
1323 })
1324 return
1325 }
1326
1327 agentChatSendShortcut, err := api.Database.GetUserAgentChatSendShortcut(ctx, user.ID)
1328 if err != nil && !errors.Is(err, sql.ErrNoRows) {
1329 httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
1330 Message: "Error reading user preference settings.",
1331 Detail: err.Error(),
1332 })
1333 return
1334 }
1335
1336 httpapi.Write(ctx, rw, http.StatusOK, codersdk.UserPreferenceSettings{
1337 TaskNotificationAlertDismissed: taskAlertDismissed,
1338 ThinkingDisplayMode: sanitizeThinkingDisplayMode(thinkingMode),
1339 ShellToolDisplayMode: sanitizeAgentDisplayMode(shellToolMode),
1340 CodeDiffDisplayMode: sanitizeAgentDisplayMode(codeDiffMode),

Callers

nothing calls this directly

Calls 13

UserParamFunction · 0.92
WriteFunction · 0.92
sanitizeAgentDisplayModeFunction · 0.85
ContextMethod · 0.65
IsMethod · 0.45

Tested by

no test coverage detected