Documentation
¶
Index ¶
- type AdminOrderUseCase
- type AdminUseCase
- type LocationUseCase
- type LogisticUseCase
- type PartnerManagementUseCase
- type PharmacistManagementUseCase
- type PharmacistUseCase
- type PharmacyManagementUseCase
- type PharmacyOrderManagementUseCase
- type PharmacyProductManagementUseCase
- type PharmacyUseCase
- type ProductCategoryManagementUseCase
- type ProductManagementUseCase
- type UserCartUseCase
- type UserHomepageUseCase
- type UserLoginUseCase
- type UserManagementUseCase
- type UserOrderUseCase
- type UserPasswordResetUseCase
- type UserProductDetailUseCase
- type UserProfileUseCase
- type UserRegistrationUseCase
- type UserUseCase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminOrderUseCase ¶
type AdminUseCase ¶
type AdminUseCase interface { UserManagementUseCase PharmacistManagementUseCase PartnerManagementUseCase PharmacyManagementUseCase ProductCategoryManagementUseCase ProductManagementUseCase AdminOrderUseCase }
func NewAdminUseCase ¶
func NewAdminUseCase(store repository.Store, bcrypt bcrypt.Provider, producer mq.Producer, crond cronjob.Provider) AdminUseCase
type LocationUseCase ¶
type LocationUseCase interface { ListProvinces(ctx context.Context, name string) ([]dto.ProvinceResponse, error) ListCities(ctx context.Context, params dto.ListCityParams) ([]dto.CityResponse, error) ListDistricts(ctx context.Context, params dto.ListDistrictParams) ([]dto.DistrictResponse, error) ListSubDistricts(ctx context.Context, params dto.ListSubDistrictParams) ([]dto.SubDistrictResponse, error) }
func NewLocationUseCase ¶
func NewLocationUseCase(store repository.Store) LocationUseCase
type LogisticUseCase ¶
func NewLogisticUseCase ¶
func NewLogisticUseCase(store repository.Store) LogisticUseCase
type PartnerManagementUseCase ¶
type PartnerManagementUseCase interface { AddPartner(ctx context.Context, req dto.AddPartnerRequest) error GetPartnerByID(ctx context.Context, id int) (*dto.PartnerResponse, error) EditPartner(ctx context.Context, req dto.EditPartnerRequest) error EditPartnerDaysAndHours(ctx context.Context, req dto.EditPartnerDaysAndHoursRequest) error ListPartners(ctx context.Context, params dto.ListPartnerParams) ([]dto.Partner, *dto.Pagination, error) RemovePartner() }
type PharmacistManagementUseCase ¶
type PharmacistManagementUseCase interface { AddPharmacist(ctx context.Context, req dto.AddPharmacistRequest) error ListPharmacists(ctx context.Context, params dto.ListPharmacistParams) ([]dto.Pharmacist, *dto.Pagination, error) GetPharmacist(ctx context.Context, userID int64) (*dto.Pharmacist, error) EditPharmacist(ctx context.Context, userID int64, req dto.UpdatePharmacistRequest) error RemovePharmacist(ctx context.Context, userID int64) error }
type PharmacistUseCase ¶
type PharmacistUseCase interface { PharmacyProductManagementUseCase PharmacyOrderManagementUseCase }
func NewPharmacistUseCase ¶
func NewPharmacistUseCase(store repository.Store, producer mq.Producer) PharmacistUseCase
type PharmacyManagementUseCase ¶
type PharmacyManagementUseCase interface { AddPharmacy(ctx context.Context, req dto.AddPharmacyRequest) error ListPharmacies(ctx context.Context, param dto.ListPharmacyParams) ([]dto.PharmacyResponse, *dto.Pagination, error) UpdatePharmacy() RemovePharmacy() DownloadPharmacyMedicineStock() }
type PharmacyProductManagementUseCase ¶
type PharmacyProductManagementUseCase interface { UpdatePharmacy(ctx context.Context) error ListMasterProducts(ctx context.Context, pharmacistID int64, params dto.ListProductParams) ([]dto.Product, *dto.Pagination, error) ListPharmacyProducts(ctx context.Context, pharmacistID int64, params dto.ListPharmacyProductParams) ([]dto.PharmacyProduct, *dto.Pagination, error) GetPharmacyProduct(ctx context.Context, pharmacistID int64, productID int) (*dto.PharmacyProduct, error) AddPharmacyProduct(ctx context.Context, pharmacistID int64, req dto.AddPharmacyProductRequest) error UpdatePharmacyProduct(ctx context.Context, pharmacistID int64, productID int, req dto.UpdatePharmacyProductRequest) error DeletePharmacyProduct(ctx context.Context, pharmacistID int64, productID int) error }
type PharmacyUseCase ¶
type PharmacyUseCase interface {
ListLogistics(ctx context.Context, addressID, pharmacyID int, weight string) (*dto.ListPharmacyLogistics, error)
}
func NewPharmacyUseCase ¶
func NewPharmacyUseCase(store repository.Store, logisticProvider logistic.Provider) PharmacyUseCase
type ProductCategoryManagementUseCase ¶
type ProductCategoryManagementUseCase interface { ListProductCategories(ctx context.Context) ([]dto.ProductCategory, error) AddProductCategory(ctx context.Context, req dto.AddProductCategoryRequest) error UpdateProductCategory(ctx context.Context, id int, req dto.UpdateProductCategoryRequest) error RemoveProductCategory(ctx context.Context, id int) error }
type ProductManagementUseCase ¶
type ProductManagementUseCase interface { AddProduct(ctx context.Context, req dto.AddProductRequest) error ListProduct(ctx context.Context, params dto.ListProductParams) ([]dto.Product, *dto.Pagination, error) UpdateProduct(ctx context.Context) error RemoveProduct(ctx context.Context) error SearchProducts(ctx context.Context) error ListManufacturer(ctx context.Context, params dto.ListProductDetailParams) ([]dto.ProductDetail, error) ListProductClassification(ctx context.Context, params dto.ListProductDetailParams) ([]dto.ProductDetail, error) ListProductForm(ctx context.Context, params dto.ListProductDetailParams) ([]dto.ProductDetail, error) }
type UserCartUseCase ¶
type UserCartUseCase interface { GetItems(ctx context.Context, userID int64) ([]dto.CartContent, error) AddItem(ctx context.Context, userID int64, req dto.AddCartItemRequest) error UpdateItem(ctx context.Context, userId int64, pharmacyID, productID int, req dto.UpdateCartItemRequest) error RemoveItem(ctx context.Context, userId int64, pharmacyID, productID int) error }
type UserHomepageUseCase ¶
type UserHomepageUseCase interface { ListBestsellerProduct(ctx context.Context, limit int) ([]dto.Item, error) ListRecommendedProduct(ctx context.Context, req dto.ListPopularProductQueries) ([]dto.Item, error) ListProduct(ctx context.Context, queries dto.ListProductQueries) ([]dto.Item, *dto.Pagination, error) }
type UserLoginUseCase ¶
type UserLoginUseCase interface { Login(ctx context.Context, req dto.LoginRequest) (*dto.LoginResponse, error) GoogleLogin(ctx context.Context, req dto.GoogleLoginRequest) (*dto.LoginResponse, error) GoogleLoginCallback(ctx context.Context, req dto.GoogleLoginCallback) (*dto.LoginResponse, error) }
type UserManagementUseCase ¶
type UserManagementUseCase interface {
ListUsers(ctx context.Context, params dto.ListUserParams) ([]dto.UserResponse, *dto.Pagination, error)
}
type UserOrderUseCase ¶
type UserOrderUseCase interface { CreateOrder(ctx context.Context, userID int64, req dto.CreateOrderRequest) error ListUnpaidOrder(ctx context.Context, userID int64) ([]dto.UnpaidOrder, error) ListOrder(ctx context.Context, userID int64, status string) ([]dto.Order, error) UploadPaymentProof(ctx context.Context, paymentID int, imageURL string) error UpdateOrderStatus(ctx context.Context, orderID int, userID int64, status string) error }
type UserPasswordResetUseCase ¶
type UserPasswordResetUseCase interface { ResetPassword(ctx context.Context, req dto.ResetPasswordRequest) error ConfirmResetPassword(ctx context.Context, req dto.ConfirmResetRequest) error }
type UserProductDetailUseCase ¶
type UserProductDetailUseCase interface { GetProductDetails(ctx context.Context, uri dto.GetProductDetailURI, queries dto.GetProductDetailParams) (*dto.GetProductDetail, error) AvailablePharmacy(ctx context.Context, productID int) ([]dto.AvailablePharmacy, error) }
type UserProfileUseCase ¶
type UserRegistrationUseCase ¶
type UserRegistrationUseCase interface { Register(ctx context.Context, req dto.RegisterRequest) error Verify(ctx context.Context, req dto.VerifyRequest) error GoogleRegister(ctx context.Context, req dto.GoogleRegisterRequest) error GoogleRegisterCallback(ctx context.Context, req dto.GoogleRegisterCallback) error }
type UserUseCase ¶
type UserUseCase interface { UserRegistrationUseCase UserLoginUseCase UserPasswordResetUseCase UserHomepageUseCase UserProfileUseCase UserCartUseCase UserOrderUseCase UserProductDetailUseCase }
func NewUserUseCase ¶
Source Files
¶
- admin_order_usecase.go
- admin_usecase.go
- location_usecase.go
- logistic_usecase.go
- partner_management_usecase.go
- pharmacist_management_usecase.go
- pharmacist_usecase.go
- pharmacy_management_usecase.go
- pharmacy_order_management_usecase.go
- pharmacy_product_management_usecase.go
- pharmacy_usecase.go
- product_category_management_usecase.go
- product_management_usecase.go
- user_cart_usecase.go
- user_homepage_usecase.go
- user_login_usecase.go
- user_management_usecase.go
- user_order_usecase.go
- user_password_reset_usecase.go
- user_product_detail_usecase.go
- user_profile_usecase.go
- user_registration_usecase.go
- user_usecase.go
Click to show internal directories.
Click to hide internal directories.