// // crud.go // Copyright (C) 2025 veypi // 2025-05-06 15:12 // Distributed under terms of the MIT license. // package role import ( "github.com/veypi/OneAuth/cfg" "github.com/veypi/OneAuth/models" "github.com/vyes-ai/vigo" ) type patchOpts struct { ID string `json:"id" parse:"path@id"` Status *string `json:"status" parse:"json"` } var _ = Router.Patch("/{id}", "更新用户角色", userRolePatch) func userRolePatch(x *vigo.X, opts *patchOpts) (any, error) { data := &models.UserRole{} err := cfg.DB().Where("id = ?", opts.ID).First(data).Error if err != nil { return nil, err } optsMap := make(map[string]any) if opts.Status != nil { optsMap["status"] = opts.Status } err = cfg.DB().Model(data).Updates(optsMap).Error return data, err }