mirror of
https://github.com/elyby/chrly.git
synced 2024-12-02 11:40:56 +05:30
60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
package worker
|
||
|
||
import (
|
||
"elyby/minecraft-skinsystem/lib/data"
|
||
"elyby/minecraft-skinsystem/lib/services"
|
||
)
|
||
|
||
func handleChangeUsername(model usernameChanged) (bool) {
|
||
if (model.OldUsername == "") {
|
||
services.Logger.IncCounter("worker.change_username.empty_old_username", 1)
|
||
record := data.SkinItem{
|
||
UserId: model.AccountId,
|
||
Username: model.NewUsername,
|
||
}
|
||
|
||
record.Save()
|
||
|
||
return true
|
||
}
|
||
|
||
record, err := data.FindSkinByUsername(model.OldUsername)
|
||
if (err != nil) {
|
||
services.Logger.IncCounter("worker.change_username.username_not_found", 1)
|
||
// TODO: я не уверен, что это валидное поведение
|
||
// Суть в том, что здесь может возникнуть ошибка в том случае, если записи в базе нету
|
||
// а значит его нужно, как минимум, зарегистрировать
|
||
return true
|
||
}
|
||
|
||
record.Username = model.NewUsername
|
||
record.Save()
|
||
|
||
services.Logger.IncCounter("worker.change_username.processed", 1)
|
||
|
||
return true
|
||
}
|
||
|
||
func handleSkinChanged(model skinChanged) (bool) {
|
||
record, err := data.FindSkinById(model.AccountId)
|
||
if (err != nil) {
|
||
services.Logger.IncCounter("worker.skin_changed.id_not_found", 1)
|
||
return true
|
||
}
|
||
|
||
record.Uuid = model.Uuid
|
||
record.SkinId = model.SkinId
|
||
record.Hash = model.Hash
|
||
record.Is1_8 = model.Is1_8
|
||
record.IsSlim = model.IsSlim
|
||
record.Url = model.Url
|
||
record.MojangTextures = model.MojangTextures
|
||
record.MojangSignature = model.MojangSignature
|
||
|
||
record.Save()
|
||
|
||
services.Logger.IncCounter("worker.skin_changed.processed", 1)
|
||
|
||
return true
|
||
}
|