39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
package continuity
|
|
|
|
import (
|
|
"git.cin.su/m/Assistant/contracts/authority"
|
|
"git.cin.su/m/Assistant/contracts/identity"
|
|
"git.cin.su/m/Assistant/contracts/work"
|
|
"git.cin.su/m/Assistant/platform/ids"
|
|
)
|
|
|
|
type CommitmentID ids.ID
|
|
type ProspectiveItemID ids.ID
|
|
type ProspectiveRevision uint64
|
|
|
|
type ProspectiveState string
|
|
|
|
const (
|
|
ProspectiveRegistered ProspectiveState = "REGISTERED"
|
|
ProspectiveArmed ProspectiveState = "ARMED"
|
|
ProspectiveTriggered ProspectiveState = "TRIGGERED"
|
|
ProspectiveRevalidating ProspectiveState = "REVALIDATING"
|
|
ProspectiveDelivered ProspectiveState = "DELIVERED"
|
|
ProspectiveSatisfied ProspectiveState = "SATISFIED"
|
|
ProspectiveSuppressed ProspectiveState = "SUPPRESSED"
|
|
ProspectiveExpired ProspectiveState = "EXPIRED"
|
|
)
|
|
|
|
// ProspectiveItem is canonical future relevance. TriggerAtUnixMillis is an
|
|
// absolute instant; scheduling engines are derived delivery mechanisms only.
|
|
type ProspectiveItem struct {
|
|
ID ProspectiveItemID
|
|
CommitmentID CommitmentID
|
|
OwnerPrincipalID identity.PrincipalID
|
|
ScopeID authority.ScopeID
|
|
GoalID work.GoalID
|
|
TriggerAtUnixMillis int64
|
|
State ProspectiveState
|
|
Revision ProspectiveRevision
|
|
}
|