Files
galaxy-game/rtmanager/internal/ports/operationlogstore.go
T
2026-04-28 20:39:18 +02:00

24 lines
907 B
Go

package ports
import (
"context"
"galaxy/rtmanager/internal/domain/operation"
)
// OperationLogStore stores append-only audit entries for every
// lifecycle operation Runtime Manager performed against a game's
// runtime. Adapters must persist entry verbatim and return the
// generated bigserial id from Append.
type OperationLogStore interface {
// Append inserts entry into the operation log and returns the
// generated bigserial id. Adapters validate entry through
// operation.OperationEntry.Validate before touching the store.
Append(ctx context.Context, entry operation.OperationEntry) (id int64, err error)
// ListByGame returns the most recent entries for gameID, ordered by
// started_at descending and capped by limit. A non-positive limit
// is rejected as invalid input by adapters.
ListByGame(ctx context.Context, gameID string, limit int) ([]operation.OperationEntry, error)
}