businessCategory

package
v0.0.0-...-6dde671 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterHandlers

func RegisterHandlers(r *mux.Router, service Service, logger log.Logger, secret string)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL