| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Copyright 2021 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package user
-
- import (
- "net/http"
-
- "code.gitea.io/gitea/modules/optional"
- api "code.gitea.io/gitea/modules/structs"
- "code.gitea.io/gitea/modules/web"
- "code.gitea.io/gitea/services/context"
- "code.gitea.io/gitea/services/convert"
- user_service "code.gitea.io/gitea/services/user"
- )
-
- // GetUserSettings returns user settings
- func GetUserSettings(ctx *context.APIContext) {
- // swagger:operation GET /user/settings user getUserSettings
- // ---
- // summary: Get user settings
- // produces:
- // - application/json
- // responses:
- // "200":
- // "$ref": "#/responses/UserSettings"
- ctx.JSON(http.StatusOK, convert.User2UserSettings(ctx.Doer))
- }
-
- // UpdateUserSettings returns user settings
- func UpdateUserSettings(ctx *context.APIContext) {
- // swagger:operation PATCH /user/settings user updateUserSettings
- // ---
- // summary: Update user settings
- // parameters:
- // - name: body
- // in: body
- // schema:
- // "$ref": "#/definitions/UserSettingsOptions"
- // produces:
- // - application/json
- // responses:
- // "200":
- // "$ref": "#/responses/UserSettings"
-
- form := web.GetForm(ctx).(*api.UserSettingsOptions)
-
- opts := &user_service.UpdateOptions{
- FullName: optional.FromPtr(form.FullName),
- Description: optional.FromPtr(form.Description),
- Website: optional.FromPtr(form.Website),
- Location: optional.FromPtr(form.Location),
- Language: optional.FromPtr(form.Language),
- Theme: optional.FromPtr(form.Theme),
- DiffViewStyle: optional.FromPtr(form.DiffViewStyle),
- KeepEmailPrivate: optional.FromPtr(form.HideEmail),
- KeepActivityPrivate: optional.FromPtr(form.HideActivity),
- }
- if err := user_service.UpdateUser(ctx, ctx.Doer, opts); err != nil {
- ctx.APIErrorInternal(err)
- return
- }
-
- ctx.JSON(http.StatusOK, convert.User2UserSettings(ctx.Doer))
- }
|