package model

// These represent the information needed in the nats message
// to perform the operation, they are encoded to json

// Requests are sent from maps-service to validator

type CreateSubmissionRequest struct {
	// operation_id is passed back in the response message
	OperationID    int32
	ModelID       uint64
}

type CreateMapfixRequest struct {
	OperationID    int32
	ModelID       uint64
	TargetAssetID uint64
}

type ValidateSubmissionRequest struct {
	// submission_id is passed back in the response message
	SubmissionID       int64
	ModelID           uint64
	ModelVersion      uint64
	ValidatedModelID *uint64 // optional value
}

type ValidateMapfixRequest struct {
	MapfixID           int64
	ModelID           uint64
	ModelVersion      uint64
	ValidatedModelID *uint64 // optional value
}

// Create a new map
type UploadSubmissionRequest struct {
	SubmissionID  int64
	ModelID      uint64
	ModelVersion uint64
	ModelName    string
}

type UploadMapfixRequest struct {
	MapfixID       int64
	ModelID       uint64
	ModelVersion  uint64
	TargetAssetID uint64
}