1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| type IExampleRepo interface { Create(ctx context.Context, tx Transaction, example *model.Example) (*model.Example, error) GetByID(ctx context.Context, tx Transaction, id int) (*model.Example, error) Update(ctx context.Context, tx Transaction, example *model.Example) error Delete(ctx context.Context, tx Transaction, id int) error FindByName(ctx context.Context, tx Transaction, name string) (*model.Example, error) }
type IExampleCacheRepo interface { Get(ctx context.Context, id int) (*model.Example, error) Set(ctx context.Context, example *model.Example) error Delete(ctx context.Context, id int) error }
type Transaction interface { Begin() error Commit() error Rollback() error GetDB(ctx context.Context) interface{} }
type EventHandler interface { HandleEvent(ctx context.Context, event Event) error InterestedIn(event Event) bool }
type IExampleService interface { Create(ctx context.Context, tx repo.Transaction, example *model.Example) (*model.Example, error) GetByID(ctx context.Context, tx repo.Transaction, id int) (*model.Example, error) Update(ctx context.Context, tx repo.Transaction, example *model.Example) error Delete(ctx context.Context, tx repo.Transaction, id int) error FindByName(ctx context.Context, tx repo.Transaction, name string) (*model.Example, error) }
|