diff --git a/pkg/model/nats.go b/pkg/model/nats.go index 7a69450..0808a89 100644 --- a/pkg/model/nats.go +++ b/pkg/model/nats.go @@ -17,6 +17,17 @@ type CreateMapfixRequest struct { TargetAssetID uint64 } + +type CheckSubmissionRequest struct{ + SubmissionID int64 + ModelID uint64 +} + +type CheckMapfixRequest struct{ + MapfixID int64 + ModelID uint64 +} + type ValidateSubmissionRequest struct { // submission_id is passed back in the response message SubmissionID int64 diff --git a/pkg/service/mapfixes.go b/pkg/service/mapfixes.go index 18207f2..20529fd 100644 --- a/pkg/service/mapfixes.go +++ b/pkg/service/mapfixes.go @@ -490,7 +490,7 @@ func (svc *Service) ActionMapfixTriggerSubmit(ctx context.Context, params api.Ac } // transaction - target_status := model.MapfixStatusSubmitted + target_status := model.MapfixStatusSubmitting smap := datastore.Optional() smap.Add("status_id", target_status) err = svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusUnderConstruction, model.MapfixStatusChangesRequested}, smap) @@ -498,6 +498,21 @@ func (svc *Service) ActionMapfixTriggerSubmit(ctx context.Context, params api.Ac return err } + validate_request := model.CheckMapfixRequest{ + MapfixID: mapfix.ID, + ModelID: mapfix.AssetID, + } + + j, err := json.Marshal(validate_request) + if err != nil { + return err + } + + _, err = svc.Nats.Publish("maptest.mapfixes.check", []byte(j)) + if err != nil { + return err + } + event_data := model.AuditEventDataAction{ TargetStatus: uint32(target_status), } diff --git a/pkg/service/submissions.go b/pkg/service/submissions.go index c81c24a..3487fac 100644 --- a/pkg/service/submissions.go +++ b/pkg/service/submissions.go @@ -511,7 +511,7 @@ func (svc *Service) ActionSubmissionTriggerSubmit(ctx context.Context, params ap } // transaction - target_status := model.SubmissionStatusSubmitted + target_status := model.SubmissionStatusSubmitting smap := datastore.Optional() smap.Add("status_id", target_status) err = svc.DB.Submissions().IfStatusThenUpdate(ctx, params.SubmissionID, []model.SubmissionStatus{model.SubmissionStatusUnderConstruction, model.SubmissionStatusChangesRequested}, smap) @@ -519,6 +519,21 @@ func (svc *Service) ActionSubmissionTriggerSubmit(ctx context.Context, params ap return err } + validate_request := model.CheckSubmissionRequest{ + SubmissionID: submission.ID, + ModelID: submission.AssetID, + } + + j, err := json.Marshal(validate_request) + if err != nil { + return err + } + + _, err = svc.Nats.Publish("maptest.submissions.check", []byte(j)) + if err != nil { + return err + } + event_data := model.AuditEventDataAction{ TargetStatus: uint32(target_status), }