kopia lustrzana https://github.com/reiver/greatape
76 wiersze
4.1 KiB
Go
76 wiersze
4.1 KiB
Go
![]() |
package contracts
|
||
|
|
||
|
import . "github.com/xeronith/diamante/contracts/security"
|
||
|
|
||
|
var SystemSchedulePassThroughFilter = func(ISystemSchedule) bool { return true }
|
||
|
|
||
|
type (
|
||
|
SystemSchedules []ISystemSchedule
|
||
|
SystemScheduleIterator func(ISystemSchedule)
|
||
|
SystemScheduleCondition func(ISystemSchedule) bool
|
||
|
SystemScheduleFilterPredicate func(ISystemSchedule) bool
|
||
|
SystemScheduleMapPredicate func(ISystemSchedule) ISystemSchedule
|
||
|
SystemScheduleCacheCallback func()
|
||
|
|
||
|
ISystemSchedule interface {
|
||
|
IObject
|
||
|
// Enabled returns 'Enabled' of this 'SystemSchedule' instance.
|
||
|
Enabled() bool
|
||
|
// UpdateEnabled directly updates 'Enabled' into persistent data store and
|
||
|
// refreshes the in-memory cache after successful update.
|
||
|
UpdateEnabled(enabled bool, editor Identity)
|
||
|
// UpdateEnabledAtomic updates 'Enabled' into persistent data store through a transaction and
|
||
|
// refreshes the in-memory cache after successful commit.
|
||
|
UpdateEnabledAtomic(transaction ITransaction, enabled bool, editor Identity)
|
||
|
// Config returns 'Config' of this 'SystemSchedule' instance.
|
||
|
Config() string
|
||
|
// UpdateConfig directly updates 'Config' into persistent data store and
|
||
|
// refreshes the in-memory cache after successful update.
|
||
|
UpdateConfig(config string, editor Identity)
|
||
|
// UpdateConfigAtomic updates 'Config' into persistent data store through a transaction and
|
||
|
// refreshes the in-memory cache after successful commit.
|
||
|
UpdateConfigAtomic(transaction ITransaction, config string, editor Identity)
|
||
|
}
|
||
|
|
||
|
ISystemScheduleCollection interface {
|
||
|
Count() int
|
||
|
IsEmpty() bool
|
||
|
IsNotEmpty() bool
|
||
|
HasExactlyOneItem() bool
|
||
|
HasAtLeastOneItem() bool
|
||
|
First() ISystemSchedule
|
||
|
Append(systemSchedule ISystemSchedule)
|
||
|
ForEach(SystemScheduleIterator)
|
||
|
Array() SystemSchedules
|
||
|
}
|
||
|
|
||
|
ISystemScheduleManager interface {
|
||
|
ISystemComponent
|
||
|
OnCacheChanged(SystemScheduleCacheCallback)
|
||
|
Count() int
|
||
|
Exists(id int64) bool
|
||
|
ExistsWhich(condition SystemScheduleCondition) bool
|
||
|
ListSystemSchedules(pageIndex uint32, pageSize uint32, criteria string, editor Identity) ISystemScheduleCollection
|
||
|
GetSystemSchedule(id int64, editor Identity) (ISystemSchedule, error)
|
||
|
AddSystemSchedule(enabled bool, config string, editor Identity) (ISystemSchedule, error)
|
||
|
AddSystemScheduleWithCustomId(id int64, enabled bool, config string, editor Identity) (ISystemSchedule, error)
|
||
|
AddSystemScheduleObject(systemSchedule ISystemSchedule, editor Identity) (ISystemSchedule, error)
|
||
|
AddSystemScheduleAtomic(transaction ITransaction, enabled bool, config string, editor Identity) (ISystemSchedule, error)
|
||
|
AddSystemScheduleWithCustomIdAtomic(id int64, transaction ITransaction, enabled bool, config string, editor Identity) (ISystemSchedule, error)
|
||
|
AddSystemScheduleObjectAtomic(transaction ITransaction, systemSchedule ISystemSchedule, editor Identity) (ISystemSchedule, error)
|
||
|
Log(enabled bool, config string, source string, editor Identity, payload string)
|
||
|
UpdateSystemSchedule(id int64, enabled bool, config string, editor Identity) (ISystemSchedule, error)
|
||
|
UpdateSystemScheduleObject(id int64, systemSchedule ISystemSchedule, editor Identity) (ISystemSchedule, error)
|
||
|
UpdateSystemScheduleAtomic(transaction ITransaction, id int64, enabled bool, config string, editor Identity) (ISystemSchedule, error)
|
||
|
UpdateSystemScheduleObjectAtomic(transaction ITransaction, id int64, systemSchedule ISystemSchedule, editor Identity) (ISystemSchedule, error)
|
||
|
AddOrUpdateSystemScheduleObject(id int64, systemSchedule ISystemSchedule, editor Identity) (ISystemSchedule, error)
|
||
|
AddOrUpdateSystemScheduleObjectAtomic(transaction ITransaction, id int64, systemSchedule ISystemSchedule, editor Identity) (ISystemSchedule, error)
|
||
|
RemoveSystemSchedule(id int64, editor Identity) (ISystemSchedule, error)
|
||
|
RemoveSystemScheduleAtomic(transaction ITransaction, id int64, editor Identity) (ISystemSchedule, error)
|
||
|
Find(id int64) ISystemSchedule
|
||
|
ForEach(iterator SystemScheduleIterator)
|
||
|
Filter(predicate SystemScheduleFilterPredicate) ISystemScheduleCollection
|
||
|
Map(predicate SystemScheduleMapPredicate) ISystemScheduleCollection
|
||
|
}
|
||
|
)
|