21 lines
1.4 KiB
Go
21 lines
1.4 KiB
Go
package ports
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.cin.su/m/Assistant/contracts/continuity"
|
|
"git.cin.su/m/Assistant/contracts/identity"
|
|
)
|
|
|
|
type Repository interface {
|
|
Save(context.Context, continuity.ProspectiveItem) error
|
|
Load(context.Context, continuity.ProspectiveItemID) (continuity.ProspectiveItem, error)
|
|
DueArmed(context.Context, int64, int) ([]continuity.ProspectiveItem, error)
|
|
ClaimDueReminder(context.Context, continuity.ProspectiveItemID, continuity.ProspectiveRevision, continuity.AttentionItemID, int64) (continuity.ProspectiveItem, continuity.AttentionItem, error)
|
|
PendingAttention(context.Context, int) ([]continuity.AttentionItem, error)
|
|
MarkAttentionDelivering(context.Context, continuity.AttentionItemID, continuity.AttentionRevision) (continuity.AttentionItem, error)
|
|
MarkAttentionDelivered(context.Context, continuity.AttentionItemID, continuity.AttentionRevision, continuity.CommittedActionIntentID, continuity.CommittedAuthorizedActionID, continuity.CommittedActionAttemptID, string, int64) (continuity.AttentionItem, error)
|
|
MarkAttentionFailed(context.Context, continuity.AttentionItemID, continuity.AttentionRevision, continuity.CommittedActionIntentID, continuity.CommittedAuthorizedActionID, continuity.CommittedActionAttemptID, string) (continuity.AttentionItem, error)
|
|
AttentionByOwner(context.Context, identity.PrincipalID, int) ([]continuity.AttentionItem, error)
|
|
}
|