mirror of
https://github.com/elyby/chrly.git
synced 2025-05-31 14:11:51 +05:30
Реализован функционал прослушивания RabbitMQ сообщений и соответствующие handlers для событий
This commit is contained in:
52
lib/worker/handlers.go
Normal file
52
lib/worker/handlers.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package worker
|
||||
|
||||
import (
|
||||
"elyby/minecraft-skinsystem/lib/data"
|
||||
"log"
|
||||
)
|
||||
|
||||
func handleChangeUsername(model usernameChanged) (bool) {
|
||||
if (model.OldUsername == "") {
|
||||
record := data.SkinItem{
|
||||
UserId: model.AccountId,
|
||||
Username: model.NewUsername,
|
||||
}
|
||||
|
||||
record.Save()
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
record, err := data.FindByUsername(model.OldUsername)
|
||||
if (err != nil) {
|
||||
log.Println("Exit by not found record")
|
||||
// TODO: я не уверен, что это валидное поведение
|
||||
// Суть в том, что здесь может возникнуть ошибка в том случае, если записи в базе нету
|
||||
// а значит его нужно, как минимум, зарегистрировать
|
||||
return true
|
||||
}
|
||||
|
||||
record.Username = model.NewUsername
|
||||
record.Save()
|
||||
|
||||
log.Println("all saved!")
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func handleSkinChanged(model skinChanged) (bool) {
|
||||
record, err := data.FindById(model.AccountId)
|
||||
if (err != nil) {
|
||||
return true
|
||||
}
|
||||
|
||||
record.SkinId = model.SkinId
|
||||
record.Hash = model.Hash
|
||||
record.Is1_8 = model.Is1_8
|
||||
record.IsSlim = model.IsSlim
|
||||
record.Url = model.Url
|
||||
|
||||
record.Save()
|
||||
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user