diff --git a/pkg/service_internal/operations.go b/pkg/service_internal/operations.go new file mode 100644 index 0000000..2deeffd --- /dev/null +++ b/pkg/service_internal/operations.go @@ -0,0 +1,21 @@ +package service_internal + +import ( + "context" + + "git.itzana.me/strafesnet/maps-service/pkg/datastore" + internal "git.itzana.me/strafesnet/maps-service/pkg/internal" + "git.itzana.me/strafesnet/maps-service/pkg/model" +) + +// ActionOperationFailed implements actionOperationFailed operation. +// +// Fail the specified OperationID with a StatusMessage. +// +// POST /operations/{OperationID}/failed +func (svc *Service) ActionOperationFailed(ctx context.Context, params internal.ActionOperationFailedParams) (error) { + pmap := datastore.Optional() + pmap.Add("status_id", model.OperationStatusFailed) + pmap.Add("status_message", params.StatusMessage) + return svc.DB.Operations().Update(ctx, params.OperationID, pmap) +}