Files
clean-architecture-go-v2/domain/entity/user/interface.go
T
2020-06-25 11:46:45 -03:00

29 lines
514 B
Go

package user
import "github.com/eminetto/clean-architecture-go-v2/domain/entity"
//Reader interface
type Reader interface {
Get(id entity.ID) (*User, error)
Search(query string) ([]*User, error)
List() ([]*User, error)
}
//Writer user writer
type Writer interface {
Create(e *User) (entity.ID, error)
Update(e *User) error
Delete(id entity.ID) error
}
//Repository repository interface
type Repository interface {
Reader
Writer
}
//UseCase use case interface
type UseCase interface {
Reader
Writer
}