submissions nats

This commit is contained in:
2025-07-16 19:29:35 -07:00
parent 79d6dc84d9
commit fd280efde8
2 changed files with 162 additions and 94 deletions

View File

@@ -101,22 +101,15 @@ func (svc *Service) CreateSubmission(ctx context.Context, request *api.Submissio
return nil, err
}
create_request := model.CreateSubmissionRequest{
OperationID: operation.ID,
ModelID: ModelID,
DisplayName: request.DisplayName,
Creator: request.Creator,
GameID: uint32(request.GameID),
Status: uint32(model.SubmissionStatusUnderConstruction),
Roles: uint32(RolesEmpty),
}
j, err := json.Marshal(create_request)
if err != nil {
return nil, err
}
_, err = svc.Nats.Publish("maptest.submissions.create", []byte(j))
err = svc.inner.NatsCreateSubmission(
operation.ID,
ModelID,
request.DisplayName,
request.Creator,
uint32(request.GameID),
uint32(model.SubmissionStatusUnderConstruction),
uint32(RolesEmpty),
)
if err != nil {
return nil, err
}
@@ -177,22 +170,15 @@ func (svc *Service) CreateSubmissionAdmin(ctx context.Context, request *api.Subm
return nil, err
}
create_request := model.CreateSubmissionRequest{
OperationID: operation.ID,
ModelID: ModelID,
DisplayName: request.DisplayName,
Creator: request.Creator,
GameID: uint32(request.GameID),
Status: uint32(model.SubmissionStatusChangesRequested),
Roles: uint32(roles),
}
j, err := json.Marshal(create_request)
if err != nil {
return nil, err
}
_, err = svc.Nats.Publish("maptest.submissions.create", []byte(j))
err = svc.inner.NatsCreateSubmission(
operation.ID,
ModelID,
request.DisplayName,
request.Creator,
uint32(request.GameID),
uint32(model.SubmissionStatusChangesRequested),
uint32(roles),
)
if err != nil {
return nil, err
}
@@ -649,18 +635,11 @@ func (svc *Service) ActionSubmissionTriggerSubmitUnchecked(ctx context.Context,
return err
}
validate_request := model.CheckSubmissionRequest{
SubmissionID: submission.ID,
ModelID: submission.AssetID,
SkipChecks: true,
}
j, err := json.Marshal(validate_request)
if err != nil {
return err
}
_, err = svc.Nats.Publish("maptest.submissions.check", []byte(j))
err = svc.inner.NatsCheckSubmission(
submission.ID,
submission.AssetID,
true,
)
if err != nil {
return err
}
@@ -773,20 +752,13 @@ func (svc *Service) ActionSubmissionTriggerUpload(ctx context.Context, params ap
// sentinel value because we are not using rust
if submission.UploadedAssetID == 0 {
// this is a new map
upload_new_request := model.UploadSubmissionRequest{
SubmissionID: submission.ID,
ModelID: submission.ValidatedAssetID,
ModelVersion: submission.ValidatedAssetVersion,
// upload as displayname, whatever
ModelName: submission.DisplayName,
}
j, err := json.Marshal(upload_new_request)
if err != nil {
return err
}
_, err = svc.Nats.Publish("maptest.submissions.upload", []byte(j))
err = svc.inner.NatsUploadSubmission(
submission.ID,
submission.ValidatedAssetID,
submission.ValidatedAssetVersion,
// upload ModelName as displayname, whatever
submission.DisplayName,
)
if err != nil {
return err
}
@@ -915,24 +887,12 @@ func (svc *Service) ActionSubmissionTriggerValidate(ctx context.Context, params
return err
}
validate_request := model.ValidateSubmissionRequest{
SubmissionID: submission.ID,
ModelID: submission.AssetID,
ModelVersion: submission.AssetVersion,
ValidatedModelID: nil,
}
// sentinel values because we're not using rust
if submission.ValidatedAssetID != 0 {
validate_request.ValidatedModelID = &submission.ValidatedAssetID
}
j, err := json.Marshal(validate_request)
if err != nil {
return err
}
_, err = svc.Nats.Publish("maptest.submissions.validate", []byte(j))
err = svc.inner.NatsValidateSubmission(
submission.ID,
submission.AssetID,
submission.AssetVersion,
submission.ValidatedAssetID,
)
if err != nil {
return err
}
@@ -986,24 +946,12 @@ func (svc *Service) ActionSubmissionRetryValidate(ctx context.Context, params ap
return err
}
validate_request := model.ValidateSubmissionRequest{
SubmissionID: submission.ID,
ModelID: submission.AssetID,
ModelVersion: submission.AssetVersion,
ValidatedModelID: nil,
}
// sentinel values because we're not using rust
if submission.ValidatedAssetID != 0 {
validate_request.ValidatedModelID = &submission.ValidatedAssetID
}
j, err := json.Marshal(validate_request)
if err != nil {
return err
}
_, err = svc.Nats.Publish("maptest.submissions.validate", []byte(j))
err = svc.inner.NatsValidateSubmission(
submission.ID,
submission.AssetID,
submission.AssetVersion,
submission.ValidatedAssetID,
)
if err != nil {
return err
}

View File

@@ -0,0 +1,120 @@
package service_inner
import (
"encoding/json"
"git.itzana.me/strafesnet/maps-service/pkg/model"
)
func (svc *Service) NatsCreateSubmission(
OperationID int32,
ModelID uint64,
DisplayName string,
Creator string,
GameID uint32,
Status uint32,
Roles uint32,
) error {
create_request := model.CreateSubmissionRequest{
OperationID: OperationID,
ModelID: ModelID,
DisplayName: DisplayName,
Creator: Creator,
GameID: GameID,
Status: Status,
Roles: Roles,
}
j, err := json.Marshal(create_request)
if err != nil {
return err
}
_, err = svc.nats.Publish("maptest.submissions.create", []byte(j))
if err != nil {
return err
}
return nil
}
func (svc *Service) NatsCheckSubmission(
SubmissionID int64,
ModelID uint64,
SkipChecks bool,
) error {
validate_request := model.CheckSubmissionRequest{
SubmissionID: SubmissionID,
ModelID: ModelID,
SkipChecks: SkipChecks,
}
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
}
return nil
}
func (svc *Service) NatsUploadSubmission(
SubmissionID int64,
ModelID uint64,
ModelVersion uint64,
ModelName string,
) error {
upload_new_request := model.UploadSubmissionRequest{
SubmissionID: SubmissionID,
ModelID: ModelID,
ModelVersion: ModelVersion,
ModelName: ModelName,
}
j, err := json.Marshal(upload_new_request)
if err != nil {
return err
}
_, err = svc.nats.Publish("maptest.submissions.upload", []byte(j))
if err != nil {
return err
}
return nil
}
func (svc *Service) NatsValidateSubmission(
SubmissionID int64,
ModelID uint64,
ModelVersion uint64,
ValidatedModelID uint64,
) error {
validate_request := model.ValidateSubmissionRequest{
SubmissionID: SubmissionID,
ModelID: ModelID,
ModelVersion: ModelVersion,
ValidatedModelID: nil,
}
// sentinel values because we're not using rust
if ValidatedModelID != 0 {
validate_request.ValidatedModelID = &ValidatedModelID
}
j, err := json.Marshal(validate_request)
if err != nil {
return err
}
_, err = svc.nats.Publish("maptest.submissions.validate", []byte(j))
if err != nil {
return err
}
return nil
}