48 lines
1023 B
Go
48 lines
1023 B
Go
package usecase
|
|
|
|
import "context"
|
|
|
|
type Slot struct {
|
|
Weekday int
|
|
Time string
|
|
}
|
|
|
|
type SourceRef struct {
|
|
Type string
|
|
PersonaID string
|
|
CopyMissionID string
|
|
ScanPostID string
|
|
ManualSeed string
|
|
}
|
|
|
|
type PolicySummary struct {
|
|
AccountID string
|
|
Enabled bool
|
|
TargetDailyCount int
|
|
LowStockThreshold int
|
|
LookaheadDays int
|
|
Timezone string
|
|
Slots []Slot
|
|
SourceRefs []SourceRef
|
|
UpdateAt int64
|
|
}
|
|
|
|
type UpsertRequest struct {
|
|
TenantID string
|
|
OwnerUID string
|
|
AccountID string
|
|
Enabled bool
|
|
TargetDailyCount int
|
|
LowStockThreshold int
|
|
LookaheadDays int
|
|
Timezone string
|
|
Slots []Slot
|
|
SourceRefs []SourceRef
|
|
}
|
|
|
|
type UseCase interface {
|
|
Get(ctx context.Context, tenantID, ownerUID, accountID string) (*PolicySummary, error)
|
|
Upsert(ctx context.Context, req UpsertRequest) (*PolicySummary, error)
|
|
ListEnabled(ctx context.Context, limit int) ([]PolicySummary, error)
|
|
}
|