feat: runtime manager
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user