compensation

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package compensation provides HTTP handlers for compensation operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CompensateHandler

type CompensateHandler struct {
	// contains filtered or unexported fields
}

CompensateHandler handles compensation-related API requests.

func NewCompensateHandler

func NewCompensateHandler(temporalClient client.Client, repo repository.CompensationRepository) *CompensateHandler

NewCompensateHandler creates a new CompensateHandler.

func (*CompensateHandler) HandleCompensateActivity

func (h *CompensateHandler) HandleCompensateActivity(w http.ResponseWriter, r *http.Request)

HandleCompensateActivity triggers compensation for a specific activity. POST /api/v1/workflows/:id/compensation/:activityName

func (*CompensateHandler) HandleGetCompensationHistory

func (h *CompensateHandler) HandleGetCompensationHistory(w http.ResponseWriter, r *http.Request)

HandleGetCompensationHistory retrieves compensation history for a workflow. GET /api/v1/workflows/:id/compensation-history

func (*CompensateHandler) HandleGetCompensationRecord

func (h *CompensateHandler) HandleGetCompensationRecord(w http.ResponseWriter, r *http.Request)

HandleGetCompensationRecord gets a specific compensation record. GET /api/v1/compensations/:id

func (*CompensateHandler) HandleListCompensations

func (h *CompensateHandler) HandleListCompensations(w http.ResponseWriter, r *http.Request)

HandleListCompensations lists compensation records with filtering. GET /api/v1/compensations

func (*CompensateHandler) HandleTriggerCompensation

func (h *CompensateHandler) HandleTriggerCompensation(w http.ResponseWriter, r *http.Request)

HandleTriggerCompensation triggers manual compensation for a workflow. POST /api/v1/workflows/:id/compensate

func (*CompensateHandler) RegisterRoutes

func (h *CompensateHandler) RegisterRoutes(r chi.Router)

RegisterRoutes registers compensation routes on the given router.

type CompensationHistoryResponse

type CompensationHistoryResponse struct {
	WorkflowID string                          `json:"workflowId"`
	Records    []repository.CompensationRecord `json:"records"`
	Summary    *repository.CompensationSummary `json:"summary,omitempty"`
}

CompensationHistoryResponse is the response for compensation history.

type TriggerCompensationRequest

type TriggerCompensationRequest struct {
	Reason        string            `json:"reason,omitempty"`
	ActivityNames []string          `json:"activityNames,omitempty"` // If empty, compensate all
	Metadata      map[string]string `json:"metadata,omitempty"`
}

TriggerCompensationRequest is the request body for triggering compensation.

type TriggerCompensationResponse

type TriggerCompensationResponse struct {
	Status    string `json:"status"`
	Message   string `json:"message"`
	RequestID string `json:"requestId,omitempty"`
}

TriggerCompensationResponse is the response for triggering compensation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL