diff --git a/internal/common/interfaces.go b/internal/common/interfaces.go new file mode 100644 index 0000000..300b1eb --- /dev/null +++ b/internal/common/interfaces.go @@ -0,0 +1,8 @@ +package common + +import "context" + +type MerchProvider interface { + GetTasks(ctx context.Context) ([]Task, error) + InsertRecords(ctx context.Context) error +} diff --git a/internal/common/structs.go b/internal/common/structs.go new file mode 100644 index 0000000..8d13b0a --- /dev/null +++ b/internal/common/structs.go @@ -0,0 +1,12 @@ +package common + +type Task struct { + MerchUuid string + Origins map[string]string +} + +type Result struct { + MerchUuid string + OriginName string + Price int32 +} diff --git a/internal/merch/handler.go b/internal/merch/handler.go index 08918f1..0f236b5 100644 --- a/internal/merch/handler.go +++ b/internal/merch/handler.go @@ -8,6 +8,7 @@ import ( type Handler struct { controller *controller + *provider } type Deps struct { @@ -20,8 +21,10 @@ func New(deps Deps) *Handler { r := newRepo(deps.DB) s := newService(r, deps.Utils, deps.UserProvider) c := newController(s, deps.Utils) + p := newProvider() return &Handler{ controller: c, + provider: p, } } diff --git a/internal/merch/provider.go b/internal/merch/provider.go new file mode 100644 index 0000000..3e055c0 --- /dev/null +++ b/internal/merch/provider.go @@ -0,0 +1,20 @@ +package merch + +import ( + "context" + "merch-api/internal/common" +) + +type provider struct{} + +func newProvider() *provider { + return &provider{} +} + +func (p *provider) GetTasks(ctx context.Context) ([]common.Task, error) { + return nil, nil +} + +func (p *provider) InsertRecords(ctx context.Context) error { + return nil +}