submissions: implement internal validated model

This commit is contained in:
Quaternions 2025-03-18 14:16:12 -07:00
parent d77bf02185
commit 57d714fdd7

@ -8,18 +8,18 @@ import (
"git.itzana.me/strafesnet/maps-service/pkg/model" "git.itzana.me/strafesnet/maps-service/pkg/model"
) )
// UpdateSubmissionModel implements patchSubmissionModel operation. // UpdateSubmissionValidatedModel implements patchSubmissionModel operation.
// //
// Update model following role restrictions. // Update model following role restrictions.
// //
// POST /submissions/{SubmissionID}/model // POST /submissions/{SubmissionID}/validated-model
func (svc *Service) UpdateSubmissionModel(ctx context.Context, params internal.UpdateSubmissionModelParams) error { func (svc *Service) UpdateSubmissionValidatedModel(ctx context.Context, params internal.UpdateSubmissionValidatedModelParams) error {
// check if Status is ChangesRequested|Submitted|UnderConstruction // check if Status is ChangesRequested|Submitted|UnderConstruction
pmap := datastore.Optional() pmap := datastore.Optional()
pmap.AddNotNil("asset_id", params.ModelID) pmap.AddNotNil("validated_asset_id", params.ValidatedModelID)
pmap.AddNotNil("asset_version", params.VersionID) pmap.AddNotNil("validated_asset_version", params.VersionID)
//always reset completed when model changes // DO NOT reset completed when validated model is updated
pmap.Add("completed", false) // pmap.Add("completed", false)
return svc.DB.Submissions().IfStatusThenUpdate(ctx, params.SubmissionID, []model.Status{model.StatusValidating}, pmap) return svc.DB.Submissions().IfStatusThenUpdate(ctx, params.SubmissionID, []model.Status{model.StatusValidating}, pmap)
} }