Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BusinessCategory ¶
type BusinessCategory struct {
entity.BusinessCategory
}
BusinessCategory represents the data about a BusinessCategory.
func CursorToBusinessCategories ¶
func CursorToBusinessCategories(ctx context.Context, cursor *mongo.Cursor) []BusinessCategory
type CreateBusinessCategoryRequest ¶
type CreateBusinessCategoryRequest struct { Name string `json:"name"` IsFeatured bool `json:"isFeatured"` IconUrl string `json:"iconUrl"` }
CreateBusinessCategoryRequest represents an category creation request.
func (CreateBusinessCategoryRequest) Validate ¶
func (m CreateBusinessCategoryRequest) Validate() error
Validate validates the CreateAlbumRequest fields.
type Repository ¶
type Repository interface { // Get returns the category with the specified album ID. Get(ctx context.Context, id primitive.ObjectID) (entity.BusinessCategory, error) GetByName(ctx context.Context, id string) (entity.BusinessCategory, error) Create(ctx context.Context, category entity.BusinessCategory) (*primitive.ObjectID, error) Update(ctx context.Context, category entity.BusinessCategory) (*primitive.ObjectID, error) GetFeaturedList(ctx context.Context) []BusinessCategory SearchCategories(ctx context.Context, keyword string) []BusinessCategory StartSession() (mongo.Session, error) }
Repository encapsulates the logic to access categories from the data source.
func NewRepository ¶
func NewRepository(db *dbcontext.DB, logger log.Logger) Repository
type Service ¶
type Service interface { Get(ctx context.Context, id primitive.ObjectID) (BusinessCategory, error) GetByName(ctx context.Context, name string) (*BusinessCategory, error) Create(ctx context.Context, req CreateBusinessCategoryRequest) (BusinessCategory, error) Update(ctx context.Context, category UpdateBusinessCategoryRequest) (*entity.BusinessCategory, error) GetFeatured(ctx context.Context) []BusinessCategory Search(ctx context.Context, keyword string) []BusinessCategory Delete(ctx context.Context, categoryId string) error }
Service encapsulates use case logic for businessCategories.
func NewService ¶
func NewService(repo Repository, logger log.Logger) Service
NewService creates a new category service.
type UpdateBusinessCategoryRequest ¶
type UpdateBusinessCategoryRequest struct { Id string `json:"id"` Name string `json:"name"` IsFeatured bool `json:"isFeatured"` IconUrl string `json:"iconUrl"` }
func (UpdateBusinessCategoryRequest) Validate ¶
func (m UpdateBusinessCategoryRequest) Validate() error
Click to show internal directories.
Click to hide internal directories.