mirror of
https://github.com/ergochat/ergo.git
synced 2025-12-20 02:00:11 -08:00
refactor
This commit is contained in:
parent
8e67ecd6c8
commit
5da2ddbc07
1 changed files with 20 additions and 20 deletions
|
|
@ -3122,21 +3122,21 @@ func metadataHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
||||||
target = client.Nick()
|
target = client.Nick()
|
||||||
}
|
}
|
||||||
|
|
||||||
targetClient := server.clients.Get(target)
|
var targetObj MetadataHaver
|
||||||
targetChannel := server.channels.Get(target)
|
var targetClient *Client
|
||||||
if !metadataCanISeeThisTarget(client, target) {
|
var targetChannel *Channel
|
||||||
invalidTarget()
|
if strings.HasPrefix(target, "#") {
|
||||||
return
|
targetChannel = server.channels.Get(target)
|
||||||
|
if targetChannel != nil {
|
||||||
|
targetObj = targetChannel
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
targetClient = server.clients.Get(target)
|
||||||
|
if targetClient != nil {
|
||||||
|
targetObj = targetClient
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if targetObj == nil {
|
||||||
var t MetadataHaver
|
|
||||||
if targetClient != nil {
|
|
||||||
t = targetClient
|
|
||||||
}
|
|
||||||
if targetChannel != nil {
|
|
||||||
t = targetChannel
|
|
||||||
}
|
|
||||||
if t == nil {
|
|
||||||
invalidTarget()
|
invalidTarget()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -3172,20 +3172,20 @@ func metadataHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
||||||
maxKeys := server.Config().Metadata.MaxKeys
|
maxKeys := server.Config().Metadata.MaxKeys
|
||||||
isSelf := targetClient != nil && client == targetClient
|
isSelf := targetClient != nil && client == targetClient
|
||||||
|
|
||||||
if isSelf && maxKeys > 0 && t.CountMetadata() >= maxKeys {
|
if isSelf && maxKeys > 0 && targetObj.CountMetadata() >= maxKeys {
|
||||||
rb.Add(nil, server.name, "FAIL", "METADATA", "LIMIT_REACHED", client.nick, client.t("You have too many keys set on yourself"))
|
rb.Add(nil, server.name, "FAIL", "METADATA", "LIMIT_REACHED", client.nick, client.t("You have too many keys set on yourself"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
server.logger.Debug("metadata", "setting", key, value, "on", target)
|
server.logger.Debug("metadata", "setting", key, value, "on", target)
|
||||||
|
|
||||||
t.SetMetadata(key, value)
|
targetObj.SetMetadata(key, value)
|
||||||
notifySubscribers(server, rb.session, target, key, value)
|
notifySubscribers(server, rb.session, target, key, value)
|
||||||
|
|
||||||
rb.Add(nil, server.name, RPL_KEYVALUE, client.Nick(), originalTarget, key, "*", value)
|
rb.Add(nil, server.name, RPL_KEYVALUE, client.Nick(), originalTarget, key, "*", value)
|
||||||
} else {
|
} else {
|
||||||
server.logger.Debug("metadata", "deleting", key, "on", target)
|
server.logger.Debug("metadata", "deleting", key, "on", target)
|
||||||
t.DeleteMetadata(key)
|
targetObj.DeleteMetadata(key)
|
||||||
notifySubscribers(server, rb.session, target, key, "")
|
notifySubscribers(server, rb.session, target, key, "")
|
||||||
|
|
||||||
rb.Add(nil, server.name, RPL_KEYNOTSET, client.Nick(), target, key, client.t("Key deleted"))
|
rb.Add(nil, server.name, RPL_KEYNOTSET, client.Nick(), target, key, client.t("Key deleted"))
|
||||||
|
|
@ -3201,7 +3201,7 @@ func metadataHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
val, ok := t.GetMetadata(key)
|
val, ok := targetObj.GetMetadata(key)
|
||||||
if !ok {
|
if !ok {
|
||||||
rb.Add(nil, server.name, RPL_KEYNOTSET, client.Nick(), target, key, client.t("Key is not set"))
|
rb.Add(nil, server.name, RPL_KEYNOTSET, client.Nick(), target, key, client.t("Key is not set"))
|
||||||
continue
|
continue
|
||||||
|
|
@ -3212,7 +3212,7 @@ func metadataHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
||||||
}
|
}
|
||||||
|
|
||||||
case "list":
|
case "list":
|
||||||
values := t.ListMetadata()
|
values := targetObj.ListMetadata()
|
||||||
|
|
||||||
batchId := rb.StartNestedBatch("metadata")
|
batchId := rb.StartNestedBatch("metadata")
|
||||||
defer rb.EndNestedBatch(batchId)
|
defer rb.EndNestedBatch(batchId)
|
||||||
|
|
@ -3229,7 +3229,7 @@ func metadataHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
values := t.ClearMetadata()
|
values := targetObj.ClearMetadata()
|
||||||
|
|
||||||
batchId := rb.StartNestedBatch("metadata")
|
batchId := rb.StartNestedBatch("metadata")
|
||||||
defer rb.EndNestedBatch(batchId)
|
defer rb.EndNestedBatch(batchId)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue