submissions: Fix Maps.Update Date + Release Date Mixup #282

Merged
Quaternions merged 3 commits from staging into master 2025-09-29 02:14:52 +00:00
3 changed files with 16 additions and 9 deletions

11
Cargo.lock generated
View File

@@ -68,13 +68,13 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "async-nats"
version = "0.42.0"
version = "0.43.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08f6da6d49a956424ca4e28fe93656f790d748b469eaccbc7488fec545315180"
checksum = "351fc678084ed17ee61a56285eda9443b10452ed5ea611a35d06b28000bf07fd"
dependencies = [
"base64 0.22.1",
"bytes",
"futures",
"futures-util",
"memchr",
"nkeys",
"nuid",
@@ -95,6 +95,7 @@ dependencies = [
"time",
"tokio",
"tokio-rustls",
"tokio-stream",
"tokio-util",
"tokio-websockets",
"tracing",
@@ -1522,9 +1523,9 @@ dependencies = [
[[package]]
name = "rbx_asset"
version = "0.4.10"
version = "0.5.0"
source = "sparse+https://git.itzana.me/api/packages/strafesnet/cargo/"
checksum = "a711a8c43b4bbcd3c72832e51a680e407b3a062e1ddc66cb90e57b86c0e65f80"
checksum = "ec9ba978afc1d204d49e01691bcf65dfe84f9d7242307cf2cc61e28ba994ae8e"
dependencies = [
"bytes",
"chrono",

View File

@@ -2,6 +2,7 @@ package service
import (
"context"
"time"
"git.itzana.me/strafesnet/go-grpc/maps"
"git.itzana.me/strafesnet/maps-service/pkg/datastore"
@@ -26,7 +27,7 @@ func (update MapUpdate) SetGameID(game_id uint32) {
datastore.OptionalMap(update).Add("game_id", game_id)
}
func (update MapUpdate) SetDate(date int64) {
datastore.OptionalMap(update).Add("date", date)
datastore.OptionalMap(update).Add("date", time.Unix(date, 0))
}
func (update MapUpdate) SetSubmitter(submitter uint64) {
datastore.OptionalMap(update).Add("submitter", submitter)

View File

@@ -1065,6 +1065,9 @@ func (svc *Service) ReleaseSubmissions(ctx context.Context, request []api.Releas
return nil, err
}
// the submissions are not ordered the same as the idList!
id_to_submission := make(map[int64]*model.Submission, len(submissions))
// check each submission to make sure it is ready to release
for _,submission := range submissions{
if submission.StatusID != model.SubmissionStatusUploaded{
@@ -1073,14 +1076,16 @@ func (svc *Service) ReleaseSubmissions(ctx context.Context, request []api.Releas
if submission.UploadedAssetID == 0{
return nil, ErrReleaseNoUploadedAssetID
}
id_to_submission[submission.ID] = &submission
}
// construct batch release nats message
release_submissions := make([]model.ReleaseSubmissionRequest, len(request))
for i, submission := range submissions {
for i, release_info := range request {
// from request
release_submissions[i].ReleaseDate = request[i].Date.Unix()
release_submissions[i].SubmissionID = request[i].SubmissionID
release_submissions[i].ReleaseDate = release_info.Date.Unix()
release_submissions[i].SubmissionID = release_info.SubmissionID
submission := id_to_submission[release_info.SubmissionID]
// from submission
release_submissions[i].ModelID = submission.ValidatedAssetID
release_submissions[i].ModelVersion = submission.ValidatedAssetVersion