From 7f63d3ad7cd5eeb3414f28d10f3c1bb5af2c3710 Mon Sep 17 00:00:00 2001 From: aiae Date: Sat, 10 Oct 2026 19:32:49 +0300 Subject: [PATCH 1/2] Update ES when we rank clan map --- db/elasticsearch_mapsets.go | 20 ++++++++++++++++++++ db/maps.go | 12 +++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/db/elasticsearch_mapsets.go b/db/elasticsearch_mapsets.go index a208f92..348477e 100644 --- a/db/elasticsearch_mapsets.go +++ b/db/elasticsearch_mapsets.go @@ -280,6 +280,26 @@ func UpdateElasticSearchMapDifficulty(id int, md5 string, difficultyRating float return nil } +// UpdateElasticSearchMapClanRanked Updates the clan ranking fields of a difficulty document. +func UpdateElasticSearchMapClanRanked(id int, clanRanked bool, dateClanRanked int64) error { + data, err := json.Marshal(map[string]interface{}{ + "doc": map[string]interface{}{ + "is_clan_ranked": clanRanked, + "date_clan_ranked": time.UnixMilli(dateClanRanked), + }, + }) + if err != nil { + return err + } + + resp, err := ElasticSearch.Update(elasticMapSearchIndex, strconv.Itoa(id), bytes.NewReader(data), ElasticSearch.Update.WithRetryOnConflict(3)) + if err != nil { + return err + } + resp.Body.Close() + return nil +} + // DeleteElasticSearchMapset Deletes an individual mapset in elastic func DeleteElasticSearchMapset(id int) error { queryMap := map[string]interface{}{ diff --git a/db/maps.go b/db/maps.go index 3a455b7..a9b56c5 100644 --- a/db/maps.go +++ b/db/maps.go @@ -171,12 +171,18 @@ func UpdateMapDifficultyRating(id int, md5 string, difficultyRating float64) err // UpdateMapClanRanked Updates the clan ranked status of a map func UpdateMapClanRanked(id int, clanRanked bool) error { + dateClanRanked := time.Now().UnixMilli() result := SQL.Model(&MapQua{}). Where("id = ?", id). - Update("clan_ranked", clanRanked). - Update("date_clan_ranked", time.Now().UnixMilli()) + Updates(map[string]interface{}{ + "clan_ranked": clanRanked, + "date_clan_ranked": dateClanRanked, + }) - return result.Error + if result.Error != nil { + return result.Error + } + return UpdateElasticSearchMapClanRanked(id, clanRanked, dateClanRanked) } func GetBundledMapMd5s() ([]string, error) { From a90a291f366fb7b36f2142d9781a7eebdbca4d18 Mon Sep 17 00:00:00 2001 From: aiae Date: Sat, 10 Oct 2026 19:33:51 +0300 Subject: [PATCH 2/2] Better comment --- db/elasticsearch_mapsets.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/elasticsearch_mapsets.go b/db/elasticsearch_mapsets.go index 348477e..eaf6f35 100644 --- a/db/elasticsearch_mapsets.go +++ b/db/elasticsearch_mapsets.go @@ -280,7 +280,7 @@ func UpdateElasticSearchMapDifficulty(id int, md5 string, difficultyRating float return nil } -// UpdateElasticSearchMapClanRanked Updates the clan ranking fields of a difficulty document. +// UpdateElasticSearchMapClanRanked Updates the map to set clan ranked status and date func UpdateElasticSearchMapClanRanked(id int, clanRanked bool, dateClanRanked int64) error { data, err := json.Marshal(map[string]interface{}{ "doc": map[string]interface{}{