Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrUserAlreadyExist is returned when user already exist in registration. ErrUserAlreadyExist = errors.New("user already exist") )
Functions ¶
This section is empty.
Types ¶
type BatchUsecase ¶
type BatchUsecase interface {
CollectTweets(ctx context.Context, searchID model.SearchID, userID model.UserID) error
}
BatchUsecase provides usecases of Batch domain.
func NewBatchUsecase ¶
func NewBatchUsecase(input *NewBatchUsecaseInput) BatchUsecase
NewBatchUsecase creates BatchUsecase.
type NewBatchUsecaseInput ¶
type NewBatchUsecaseInput struct {
UserUsecase UserUsecase
SearchUsecase SearchUsecase
TweetRepository repository.TweetRepository
TwitterClient twitter.Client
SentimentDetector sentiment.Detector
}
NewBatchUsecaseInput is the input of NewBatchUsecase.
type SearchUsecase ¶
type SearchUsecase interface {
ListShouldUpdateSearches(ctx context.Context) ([]*model.Search, error)
ListByUserID(ctx context.Context, userID model.UserID) ([]*model.Search, error)
ListUserSearches(ctx context.Context) ([]*model.Search, error)
Find(ctx context.Context, searchID model.SearchID, userID model.UserID) (*model.Search, error)
GetUserSearch(ctx context.Context, searchID model.SearchID) (*model.Search, error)
DeleteUserSearch(ctx context.Context, searchID model.SearchID) error
Create(ctx context.Context, input *SearchUsecaseCreateInput) (*model.Search, error)
UpdateNextUpdateAt(ctx context.Context, search *model.Search) error
}
SearchUsecase provides usecases of Search domain.
func NewSearchUsecase ¶
func NewSearchUsecase(authenticator auth.Authenticator, validator validator.Validator, searchRepository repository.SearchRepository) SearchUsecase
NewSearchUsecase creates SearchUsecase.
type SearchUsecaseCreateInput ¶
type SearchUsecaseCreateInput struct {
Query string `validate:"required,gte=3,lte=100"`
}
SearchUsecaseCreateInput is the input of SearchUsecase.Create().
type UserUsecase ¶
type UserUsecase interface {
FetchAuthUser(ctx context.Context) (*model.User, error)
FindByID(ctx context.Context, userID model.UserID) (*model.User, error)
Register(ctx context.Context, input UserUsecaseRegisterInput) (*model.User, error)
}
UserUsecase provides usecases of User domain.
func NewUserUsecase ¶
func NewUserUsecase(authenticator auth.Authenticator, userRepository repository.UserRepository) UserUsecase
NewUserUsecase creates UserUsecase.
type UserUsecaseRegisterInput ¶
UserUsecaseRegisterInput represents the input of Register method.
Click to show internal directories.
Click to hide internal directories.