本文整理汇总了Golang中github.com/tmaiaroto/discfg/config.ResponseObject.PrevItem方法的典型用法代码示例。如果您正苦于以下问题:Golang ResponseObject.PrevItem方法的具体用法?Golang ResponseObject.PrevItem怎么用?Golang ResponseObject.PrevItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/tmaiaroto/discfg/config.ResponseObject
的用法示例。
在下文中一共展示了ResponseObject.PrevItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: SetKey
// SetKey sets a key value for a given configuration
func SetKey(opts config.Options) config.ResponseObject {
resp := config.ResponseObject{
Action: "set",
}
// Do not allow empty values to be set
if opts.Value == nil {
resp.Error = ValueRequiredMsg
return resp
}
if opts.CfgName == "" {
resp.Error = MissingCfgNameMsg
return resp
}
key, keyErr := formatKeyName(opts.Key)
if keyErr == nil {
opts.Key = key
storageResponse, err := storage.Update(opts)
if err != nil {
resp.Error = err.Error()
resp.Message = "Error updating key value"
} else {
resp.Item.Key = key
resp.Item.Value = opts.Value
resp.Item.Version = 1
// Only set PrevItem if there was a previous value
if storageResponse.Value != nil {
resp.PrevItem = storageResponse
resp.PrevItem.Key = key
// Update the current item's value if there was a previous version
resp.Item.Version = resp.PrevItem.Version + 1
}
}
} else {
resp.Error = keyErr.Error()
}
return resp
}