24 lines
1.3 KiB
Go
24 lines
1.3 KiB
Go
package dutyroster
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
)
|
|
|
|
type Service interface {
|
|
Create(ctx context.Context, row *DutyRoster, crews []DutyRosterCrew) error
|
|
Update(ctx context.Context, row *DutyRoster, crews []DutyRosterCrew) error
|
|
Delete(ctx context.Context, id []byte, deletedBy []byte) error
|
|
HardDelete(ctx context.Context, id []byte) error
|
|
DeleteCrews(ctx context.Context, id []byte, crews []DutyRosterCrew, deletedBy []byte) ([]DeletedCrewResult, error)
|
|
GetBaseDefaultShift(ctx context.Context, baseID []byte, baseType string) (string, error)
|
|
ResolveBaseDefaultShiftRange(ctx context.Context, baseID []byte, baseType string) (string, string, error)
|
|
GetHeaderByID(ctx context.Context, id []byte) (*HeaderView, error)
|
|
GetHeaderByIDByBaseType(ctx context.Context, id []byte, baseType string) (*HeaderView, error)
|
|
GetCrewsByRosterIDs(ctx context.Context, rosterIDs [][]byte) ([]CrewView, error)
|
|
ListHeadersByRange(ctx context.Context, baseID []byte, from, to time.Time) ([]HeaderView, error)
|
|
ListHeadersByRangeByBaseType(ctx context.Context, baseID []byte, from, to time.Time, baseType string) ([]HeaderView, error)
|
|
ListHEMSBases(ctx context.Context, baseID []byte) ([]BaseView, error)
|
|
ListBasesByType(ctx context.Context, baseID []byte, baseType string) ([]BaseView, error)
|
|
}
|