Documentation
¶
Index ¶
- Variables
- func GetSafeLimit(limit int64) int64
- type App
- type AppConfig
- type BuiltinCountry
- func (country *BuiltinCountry) ApplyFormObject(ctx context.Context, form *CountryForm) error
- func (country *BuiltinCountry) Close(ctx context.Context) error
- func (country *BuiltinCountry) GetID(ctx context.Context) (uint64, error)
- func (country *BuiltinCountry) GetName(ctx context.Context) (string, error)
- func (country *BuiltinCountry) Init(ctx context.Context) error
- func (country *BuiltinCountry) Pulse(ctx context.Context) error
- func (country *BuiltinCountry) SetName(ctx context.Context, name string) error
- func (country *BuiltinCountry) ToBuiltinObject(ctx context.Context) (*BuiltinCountry, error)
- func (country *BuiltinCountry) ToFormObject(ctx context.Context) (*CountryForm, error)
- type BuiltinCountryManager
- func (countryManager *BuiltinCountryManager) Close(ctx context.Context) error
- func (countryManager *BuiltinCountryManager) ExistsCountry(ctx context.Context, name string) (bool, error)
- func (countryManager *BuiltinCountryManager) GetCountries(ctx context.Context, countries []Country, skip int64, limit int64, ...) ([]Country, error)
- func (countryManager *BuiltinCountryManager) GetCountryByName(ctx context.Context, name string) (Country, error)
- func (countryManager *BuiltinCountryManager) GetCountryCount(ctx context.Context) (uint64, error)
- func (countryManager *BuiltinCountryManager) GetCountryWithID(ctx context.Context, cid uint64, fill bool) (Country, error)
- func (countryManager *BuiltinCountryManager) Init(ctx context.Context) error
- func (countryManager *BuiltinCountryManager) NewCountry(ctx context.Context, name string) (Country, error)
- func (countryManager *BuiltinCountryManager) Pulse(ctx context.Context) error
- func (countryManager *BuiltinCountryManager) RemoveAllCountries(ctx context.Context) error
- func (countryManager *BuiltinCountryManager) RemoveCountry(ctx context.Context, country Country) error
- func (countryManager *BuiltinCountryManager) ToBuiltinObject(ctx context.Context) (*BuiltinCountryManager, error)
- type BuiltinOrderStatus
- func (orderStatus *BuiltinOrderStatus) ApplyFormObject(ctx context.Context, form *OrderStatusForm) error
- func (orderStatus *BuiltinOrderStatus) Close(ctx context.Context) error
- func (orderStatus *BuiltinOrderStatus) GetID(ctx context.Context) (uint64, error)
- func (orderStatus *BuiltinOrderStatus) GetName(ctx context.Context) (string, error)
- func (orderStatus *BuiltinOrderStatus) Init(ctx context.Context) error
- func (orderStatus *BuiltinOrderStatus) IsDeliveried(ctx context.Context) (bool, error)
- func (orderStatus *BuiltinOrderStatus) Pulse(ctx context.Context) error
- func (orderStatus *BuiltinOrderStatus) SetName(ctx context.Context, name string) error
- func (orderStatus *BuiltinOrderStatus) ToBuiltinObject(ctx context.Context) (*BuiltinOrderStatus, error)
- func (orderStatus *BuiltinOrderStatus) ToFormObject(ctx context.Context) (*OrderStatusForm, error)
- type BuiltinOrderStatusManager
- func (orderStatusManager *BuiltinOrderStatusManager) Close(ctx context.Context) error
- func (orderStatusManager *BuiltinOrderStatusManager) ExistsOrderStatus(ctx context.Context, name string) (bool, error)
- func (orderStatusManager *BuiltinOrderStatusManager) GetDeliveriedOrderStatus(ctx context.Context) (OrderStatus, error)
- func (orderStatusManager *BuiltinOrderStatusManager) GetIdleOrderStatus(ctx context.Context) (OrderStatus, error)
- func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatusByName(ctx context.Context, name string) (OrderStatus, error)
- func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatusCount(ctx context.Context) (uint64, error)
- func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatusWithID(ctx context.Context, sid uint64, fill bool) (OrderStatus, error)
- func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatuses(ctx context.Context, orderStatuses []OrderStatus, skip int64, limit int64, ...) ([]OrderStatus, error)
- func (orderStatusManager *BuiltinOrderStatusManager) Init(ctx context.Context) error
- func (orderStatusManager *BuiltinOrderStatusManager) NewOrderStatus(ctx context.Context, name string) (OrderStatus, error)
- func (orderStatusManager *BuiltinOrderStatusManager) Pulse(ctx context.Context) error
- func (orderStatusManager *BuiltinOrderStatusManager) RemoveAllOrderStatuses(ctx context.Context) error
- func (orderStatusManager *BuiltinOrderStatusManager) RemoveOrderStatus(ctx context.Context, status OrderStatus) error
- func (orderStatusManager *BuiltinOrderStatusManager) ToBuiltinObject(ctx context.Context) (*BuiltinOrderStatusManager, error)
- type BuiltinPaymentType
- func (paymentType *BuiltinPaymentType) ApplyFormObject(ctx context.Context, form *PaymentTypeForm) error
- func (paymentType *BuiltinPaymentType) Close(ctx context.Context) error
- func (paymentType *BuiltinPaymentType) GetID(ctx context.Context) (uint64, error)
- func (paymentType *BuiltinPaymentType) GetName(ctx context.Context) (string, error)
- func (paymentType *BuiltinPaymentType) Init(ctx context.Context) error
- func (paymentType *BuiltinPaymentType) Pulse(ctx context.Context) error
- func (paymentType *BuiltinPaymentType) SetName(ctx context.Context, name string) error
- func (paymentType *BuiltinPaymentType) ToBuiltinObject(ctx context.Context) (*BuiltinPaymentType, error)
- func (paymentType *BuiltinPaymentType) ToFormObject(ctx context.Context) (*PaymentTypeForm, error)
- type BuiltinPaymentTypeManager
- func (paymentTypeManager *BuiltinPaymentTypeManager) Close(ctx context.Context) error
- func (paymentTypeManager *BuiltinPaymentTypeManager) ExistsPaymentType(ctx context.Context, name string) (bool, error)
- func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypeByName(ctx context.Context, name string) (PaymentType, error)
- func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypeCount(ctx context.Context) (uint64, error)
- func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypeWithID(ctx context.Context, pid uint64, fill bool) (PaymentType, error)
- func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypes(ctx context.Context, paymentTypes []PaymentType, skip int64, limit int64, ...) ([]PaymentType, error)
- func (paymentTypeManager *BuiltinPaymentTypeManager) Init(ctx context.Context) error
- func (paymentTypeManager *BuiltinPaymentTypeManager) NewPaymentType(ctx context.Context, name string) (PaymentType, error)
- func (paymentTypeManager *BuiltinPaymentTypeManager) Pulse(ctx context.Context) error
- func (paymentTypeManager *BuiltinPaymentTypeManager) RemoveAllPaymentTypes(ctx context.Context) error
- func (paymentTypeManager *BuiltinPaymentTypeManager) RemovePaymentType(ctx context.Context, status PaymentType) error
- func (paymentTypeManager *BuiltinPaymentTypeManager) ToBuiltinObject(ctx context.Context) (*BuiltinPaymentTypeManager, error)
- type BuiltinProduct
- func (product *BuiltinProduct[AccountID]) AddProductItem(ctx context.Context, sku string, name string, price float64, quantity uint64, ...) (ProductItem[AccountID], error)
- func (product *BuiltinProduct[AccountID]) ApplyFormObject(ctx context.Context, form *ProductForm[AccountID]) error
- func (product *BuiltinProduct[AccountID]) Close(ctx context.Context) error
- func (product *BuiltinProduct[AccountID]) GetDescription(ctx context.Context) (string, error)
- func (product *BuiltinProduct[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (product *BuiltinProduct[AccountID]) GetImages(ctx context.Context) ([]FileReadCloser, error)
- func (product *BuiltinProduct[AccountID]) GetName(ctx context.Context) (string, error)
- func (product *BuiltinProduct[AccountID]) GetProductCategory(ctx context.Context) (ProductCategory[AccountID], error)
- func (product *BuiltinProduct[AccountID]) GetProductItemCount(ctx context.Context) (uint64, error)
- func (product *BuiltinProduct[AccountID]) GetProductItems(ctx context.Context, items []ProductItem[AccountID], skip int64, limit int64, ...) ([]ProductItem[AccountID], error)
- func (product *BuiltinProduct[AccountID]) Init(ctx context.Context) error
- func (product *BuiltinProduct[AccountID]) Pulse(ctx context.Context) error
- func (product *BuiltinProduct[AccountID]) RemoveAllProductItems(ctx context.Context) error
- func (product *BuiltinProduct[AccountID]) RemoveProductItem(ctx context.Context, item ProductItem[AccountID]) error
- func (product *BuiltinProduct[AccountID]) SetDescription(ctx context.Context, desc string) error
- func (product *BuiltinProduct[AccountID]) SetImages(ctx context.Context, images []FileReader) error
- func (product *BuiltinProduct[AccountID]) SetName(ctx context.Context, name string) error
- func (product *BuiltinProduct[AccountID]) SetProductCategory(ctx context.Context, category ProductCategory[AccountID]) error
- func (product *BuiltinProduct[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProduct[AccountID], error)
- func (product *BuiltinProduct[AccountID]) ToFormObject(ctx context.Context) (*ProductForm[AccountID], error)
- type BuiltinProductCategory
- func (category *BuiltinProductCategory[AccountID]) ApplyFormObject(ctx context.Context, form *ProductCategoryForm[AccountID]) error
- func (category *BuiltinProductCategory[AccountID]) Close(ctx context.Context) error
- func (category *BuiltinProductCategory[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (category *BuiltinProductCategory[AccountID]) GetName(ctx context.Context) (string, error)
- func (category *BuiltinProductCategory[AccountID]) GetParentProductCategory(ctx context.Context) (ProductCategory[AccountID], error)
- func (category *BuiltinProductCategory[AccountID]) GetProductCount(ctx context.Context) (uint64, error)
- func (category *BuiltinProductCategory[AccountID]) GetProducts(ctx context.Context, products []Product[AccountID], skip int64, limit int64, ...) ([]Product[AccountID], error)
- func (category *BuiltinProductCategory[AccountID]) Init(ctx context.Context) error
- func (category *BuiltinProductCategory[AccountID]) NewProduct(ctx context.Context, name string, description string, images []FileReader) (Product[AccountID], error)
- func (category *BuiltinProductCategory[AccountID]) Pulse(ctx context.Context) error
- func (category *BuiltinProductCategory[AccountID]) RemoveAllProducts(ctx context.Context) error
- func (category *BuiltinProductCategory[AccountID]) RemoveProduct(ctx context.Context, product Product[AccountID]) error
- func (category *BuiltinProductCategory[AccountID]) SetName(ctx context.Context, name string) error
- func (category *BuiltinProductCategory[AccountID]) SetParentProductCategory(ctx context.Context, parent ProductCategory[AccountID]) error
- func (category *BuiltinProductCategory[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductCategory[AccountID], error)
- func (category *BuiltinProductCategory[AccountID]) ToFormObject(ctx context.Context) (*ProductCategoryForm[AccountID], error)
- type BuiltinProductItem
- func (item *BuiltinProductItem[AccountID]) AddQuantityInStock(ctx context.Context, delta int64) error
- func (item *BuiltinProductItem[AccountID]) ApplyFormObject(ctx context.Context, form *ProductItemForm[AccountID]) error
- func (item *BuiltinProductItem[AccountID]) CalculateAverageRating(ctx context.Context) (float64, error)
- func (item *BuiltinProductItem[AccountID]) Close(ctx context.Context) error
- func (item *BuiltinProductItem[AccountID]) GetAttributes(ctx context.Context) (json.RawMessage, error)
- func (item *BuiltinProductItem[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (item *BuiltinProductItem[AccountID]) GetImages(ctx context.Context) ([]FileReadCloser, error)
- func (item *BuiltinProductItem[AccountID]) GetName(ctx context.Context) (string, error)
- func (item *BuiltinProductItem[AccountID]) GetPrice(ctx context.Context) (float64, error)
- func (item *BuiltinProductItem[AccountID]) GetProduct(ctx context.Context) (Product[AccountID], error)
- func (item *BuiltinProductItem[AccountID]) GetQuantityInStock(ctx context.Context) (uint64, error)
- func (item *BuiltinProductItem[AccountID]) GetSKU(ctx context.Context) (string, error)
- func (item *BuiltinProductItem[AccountID]) GetUserReviewCount(ctx context.Context) (uint64, error)
- func (item *BuiltinProductItem[AccountID]) GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, ...) ([]UserReview[AccountID], error)
- func (item *BuiltinProductItem[AccountID]) Init(ctx context.Context) error
- func (item *BuiltinProductItem[AccountID]) Pulse(ctx context.Context) error
- func (item *BuiltinProductItem[AccountID]) SetAttributes(ctx context.Context, attrs json.RawMessage) error
- func (item *BuiltinProductItem[AccountID]) SetImages(ctx context.Context, images []FileReader) error
- func (item *BuiltinProductItem[AccountID]) SetName(ctx context.Context, name string) error
- func (item *BuiltinProductItem[AccountID]) SetPrice(ctx context.Context, price float64) error
- func (item *BuiltinProductItem[AccountID]) SetProduct(ctx context.Context, product Product[AccountID]) error
- func (item *BuiltinProductItem[AccountID]) SetQuantityInStock(ctx context.Context, quantity uint64) error
- func (item *BuiltinProductItem[AccountID]) SetSKU(ctx context.Context, sku string) error
- func (item *BuiltinProductItem[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductItem[AccountID], error)
- func (item *BuiltinProductItem[AccountID]) ToFormObject(ctx context.Context) (*ProductItemForm[AccountID], error)
- type BuiltinProductItemSubscription
- func (subscription *BuiltinProductItemSubscription[AccountID]) ApplyFormObject(ctx context.Context, form *ProductItemSubscriptionForm[AccountID]) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) Cancel(ctx context.Context) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) Close(ctx context.Context) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetDuration(ctx context.Context) (time.Duration, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetExpiresAt(ctx context.Context) (time.Time, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetProductItem(ctx context.Context) (ProductItem[AccountID], error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetSubscribedAt(ctx context.Context) (time.Time, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetSubscriptionType(ctx context.Context) (string, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) Init(ctx context.Context) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) IsActive(ctx context.Context) (bool, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) IsAutoRenew(ctx context.Context) (bool, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) IsExpired(ctx context.Context) (bool, error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) Pulse(ctx context.Context) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetActive(ctx context.Context, isActive bool) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetAutoRenew(ctx context.Context, autoRenew bool) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetDuration(ctx context.Context, duration time.Duration) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetExpiresAt(ctx context.Context, expiresAt time.Time) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetProductItem(ctx context.Context, productItem ProductItem[AccountID]) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetSubscribedAt(ctx context.Context, subscribedAt time.Time) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) SetSubscriptionType(ctx context.Context, subscriptionType string) error
- func (subscription *BuiltinProductItemSubscription[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductItemSubscription[AccountID], error)
- func (subscription *BuiltinProductItemSubscription[AccountID]) ToFormObject(ctx context.Context) (*ProductItemSubscriptionForm[AccountID], error)
- type BuiltinProductItemSubscriptionManager
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) Close(ctx context.Context) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptionCount(ctx context.Context, productItem ProductItem[AccountID]) (uint64, error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptionWithID(ctx context.Context, sid uint64, fill bool) (ProductItemSubscription[AccountID], error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptions(ctx context.Context, productItem ProductItem[AccountID], ...) ([]ProductItemSubscription[AccountID], error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetSubscriptionCount(ctx context.Context) (uint64, error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetSubscriptions(ctx context.Context, subscriptions []ProductItemSubscription[AccountID], ...) ([]ProductItemSubscription[AccountID], error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetUserSubscriptionCount(ctx context.Context, account UserAccount[AccountID]) (uint64, error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetUserSubscriptions(ctx context.Context, account UserAccount[AccountID], ...) ([]ProductItemSubscription[AccountID], error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) Init(ctx context.Context) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) NewSubscription(ctx context.Context, account UserAccount[AccountID], ...) (ProductItemSubscription[AccountID], error)
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) ProcessExpiredSubscriptions(ctx context.Context) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) Pulse(ctx context.Context) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) RemoveAllSubscriptions(ctx context.Context) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) RemoveSubscription(ctx context.Context, subscription ProductItemSubscription[AccountID]) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) SetRenewalHandler(ctx context.Context, handler RenewalHandlerFunc[AccountID]) error
- func (manager *BuiltinProductItemSubscriptionManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductItemSubscriptionManager[AccountID], error)
- type BuiltinProductManager
- func (productManager *BuiltinProductManager[AccountID]) Close(ctx context.Context) error
- func (productManager *BuiltinProductManager[AccountID]) GetProductCategories(ctx context.Context, categories []ProductCategory[AccountID], skip int64, ...) ([]ProductCategory[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) GetProductCategoryCount(ctx context.Context) (uint64, error)
- func (productManager *BuiltinProductManager[AccountID]) GetProductCategoryWithID(ctx context.Context, cid uint64, fill bool) (ProductCategory[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) GetProductItemWithID(ctx context.Context, iid uint64, fill bool) (ProductItem[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) GetProductWithID(ctx context.Context, pid uint64, fill bool) (Product[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) Init(ctx context.Context) error
- func (productManager *BuiltinProductManager[AccountID]) NewProductCategory(ctx context.Context, name string, parentCategory ProductCategory[AccountID]) (ProductCategory[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) Pulse(ctx context.Context) error
- func (productManager *BuiltinProductManager[AccountID]) RemoveAllProductCategroies(ctx context.Context) error
- func (productManager *BuiltinProductManager[AccountID]) RemoveProductCategory(ctx context.Context, category ProductCategory[AccountID]) error
- func (productManager *BuiltinProductManager[AccountID]) SearchForProductCategories(ctx context.Context, searchText string, deepSearch bool, ...) ([]ProductCategory[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) SearchForProductItems(ctx context.Context, searchText string, deepSearch bool, ...) ([]ProductItem[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) SearchForProducts(ctx context.Context, searchText string, deepSearch bool, ...) ([]Product[AccountID], error)
- func (productManager *BuiltinProductManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductManager[AccountID], error)
- type BuiltinShippingMethod
- func (shippingMethod *BuiltinShippingMethod) ApplyFormObject(ctx context.Context, form *ShippingMethodForm) error
- func (shippingMethod *BuiltinShippingMethod) Close(ctx context.Context) error
- func (shippingMethod *BuiltinShippingMethod) GetID(ctx context.Context) (uint64, error)
- func (shippingMethod *BuiltinShippingMethod) GetName(ctx context.Context) (string, error)
- func (shippingMethod *BuiltinShippingMethod) GetPrice(ctx context.Context) (float64, error)
- func (shippingMethod *BuiltinShippingMethod) Init(ctx context.Context) error
- func (shippingMethod *BuiltinShippingMethod) Pulse(ctx context.Context) error
- func (shippingMethod *BuiltinShippingMethod) SetName(ctx context.Context, name string) error
- func (shippingMethod *BuiltinShippingMethod) SetPrice(ctx context.Context, price float64) error
- func (shippingMethod *BuiltinShippingMethod) ToBuiltinObject(ctx context.Context) (*BuiltinShippingMethod, error)
- func (shippingMethod *BuiltinShippingMethod) ToFormObject(ctx context.Context) (*ShippingMethodForm, error)
- type BuiltinShippingMethodManager
- func (shippingMethodManager *BuiltinShippingMethodManager) Close(ctx context.Context) error
- func (shippingMethodManager *BuiltinShippingMethodManager) ExistsShippingMethod(ctx context.Context, name string) (bool, error)
- func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethodByName(ctx context.Context, name string) (ShippingMethod, error)
- func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethodCount(ctx context.Context) (uint64, error)
- func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethodWithID(ctx context.Context, sid uint64, fill bool) (ShippingMethod, error)
- func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethods(ctx context.Context, shippingMethodes []ShippingMethod, skip int64, ...) ([]ShippingMethod, error)
- func (shippingMethodManager *BuiltinShippingMethodManager) Init(ctx context.Context) error
- func (shippingMethodManager *BuiltinShippingMethodManager) NewShippingMethod(ctx context.Context, name string, price float64) (ShippingMethod, error)
- func (shippingMethodManager *BuiltinShippingMethodManager) Pulse(ctx context.Context) error
- func (shippingMethodManager *BuiltinShippingMethodManager) RemoveAllShippingMethods(ctx context.Context) error
- func (shippingMethodManager *BuiltinShippingMethodManager) RemoveShippingMethod(ctx context.Context, method ShippingMethod) error
- func (shippingMethodManager *BuiltinShippingMethodManager) ToBuiltinObject(ctx context.Context) (*BuiltinShippingMethodManager, error)
- type BuiltinUserAccount
- func (account *BuiltinUserAccount[AccountID]) AllowTrading(ctx context.Context, state bool) error
- func (account *BuiltinUserAccount[AccountID]) ApplyFormObject(ctx context.Context, form *UserAccountForm[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) Ban(ctx context.Context, till time.Duration, reason string) error
- func (account *BuiltinUserAccount[AccountID]) CalculateTotalDepts(ctx context.Context) (currency float64, err error)
- func (account *BuiltinUserAccount[AccountID]) CalculateTotalDeptsWithoutPenalty(ctx context.Context) (currency float64, err error)
- func (account *BuiltinUserAccount[AccountID]) ChargeWallet(ctx context.Context, currency float64) error
- func (account *BuiltinUserAccount[AccountID]) Close(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) Fine(ctx context.Context, amount float64) error
- func (account *BuiltinUserAccount[AccountID]) GetAddressCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetAddresses(ctx context.Context, addresses []UserAddress[AccountID], skip int64, ...) ([]UserAddress[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetBio(ctx context.Context) (string, error)
- func (account *BuiltinUserAccount[AccountID]) GetDefaultAddress(ctx context.Context) (UserAddress[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetDefaultPaymentMethod(ctx context.Context) (UserPaymentMethod[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetDiscountCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetDiscounts(ctx context.Context, discounts []UserDiscount[AccountID], skip int64, ...) ([]UserDiscount[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetFirstName(ctx context.Context) (string, error)
- func (account *BuiltinUserAccount[AccountID]) GetID(ctx context.Context) (AccountID, error)
- func (account *BuiltinUserAccount[AccountID]) GetLastName(ctx context.Context) (string, error)
- func (account *BuiltinUserAccount[AccountID]) GetLastUpdatedAt(ctx context.Context) (time.Time, error)
- func (account *BuiltinUserAccount[AccountID]) GetOrderCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetOrders(ctx context.Context, orders []UserOrder[AccountID], skip int64, limit int64, ...) ([]UserOrder[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetPassword(ctx context.Context) (string, error)
- func (account *BuiltinUserAccount[AccountID]) GetPaymentMethodCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetPaymentMethods(ctx context.Context, paymentMethods []UserPaymentMethod[AccountID], skip int64, ...) ([]UserPaymentMethod[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetProfileImages(ctx context.Context) ([]FileReadCloser, error)
- func (account *BuiltinUserAccount[AccountID]) GetRole(ctx context.Context) (UserRole, error)
- func (account *BuiltinUserAccount[AccountID]) GetShoppingCartCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetShoppingCarts(ctx context.Context, outCarts []UserShoppingCart[AccountID], skip int64, ...) ([]UserShoppingCart[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetSubscriptionCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetSubscriptions(ctx context.Context, subscriptions []ProductItemSubscription[AccountID], ...) ([]ProductItemSubscription[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetToken(ctx context.Context) (string, error)
- func (account *BuiltinUserAccount[AccountID]) GetUserFactorCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetUserFactors(ctx context.Context, factors []UserFactor[AccountID], skip int64, limit int64, ...) ([]UserFactor[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetUserLevel(ctx context.Context) (int64, error)
- func (account *BuiltinUserAccount[AccountID]) GetUserReviewCount(ctx context.Context) (uint64, error)
- func (account *BuiltinUserAccount[AccountID]) GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, ...) ([]UserReview[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) GetWalletCurrency(ctx context.Context) (float64, error)
- func (account *BuiltinUserAccount[AccountID]) HasPenalty(ctx context.Context) (bool, error)
- func (account *BuiltinUserAccount[AccountID]) Init(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) IsActive(ctx context.Context) (bool, error)
- func (account *BuiltinUserAccount[AccountID]) IsBanned(ctx context.Context) (reason string, err error)
- func (account *BuiltinUserAccount[AccountID]) IsSuperUser(ctx context.Context) (bool, error)
- func (account *BuiltinUserAccount[AccountID]) IsTradingAllowed(ctx context.Context) (bool, error)
- func (account *BuiltinUserAccount[AccountID]) NewAddress(ctx context.Context, unitNumber string, street_number string, ...) (UserAddress[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) NewDiscount(ctx context.Context, value float64, validCount int64) (UserDiscount[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) NewPaymentMethod(ctx context.Context, paymentType PaymentType, provider string, ...) (UserPaymentMethod[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) NewShoppingCart(ctx context.Context, sessionText string) (UserShoppingCart[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) Pulse(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAddress(ctx context.Context, address UserAddress[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAllAddresses(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAllDiscounts(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAllOrders(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAllPaymentMethods(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAllShoppingCarts(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveAllSubscriptions(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) RemoveDiscount(ctx context.Context, discount UserDiscount[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) RemoveOrder(ctx context.Context, order UserOrder[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) RemovePaymentMethod(ctx context.Context, paymentMethod UserPaymentMethod[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) RemoveShoppingCart(ctx context.Context, cart UserShoppingCart[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) RemoveSubscription(ctx context.Context, subscription ProductItemSubscription[AccountID]) error
- func (account *BuiltinUserAccount[AccountID]) SetActive(ctx context.Context, state bool) error
- func (account *BuiltinUserAccount[AccountID]) SetBio(ctx context.Context, bio string) error
- func (account *BuiltinUserAccount[AccountID]) SetFirstName(ctx context.Context, name string) error
- func (account *BuiltinUserAccount[AccountID]) SetLastName(ctx context.Context, name string) error
- func (account *BuiltinUserAccount[AccountID]) SetLastUpdatedAt(ctx context.Context, lastUpdateAt time.Time) error
- func (account *BuiltinUserAccount[AccountID]) SetPassword(ctx context.Context, password string) error
- func (account *BuiltinUserAccount[AccountID]) SetPenalty(ctx context.Context, penalty float64) error
- func (account *BuiltinUserAccount[AccountID]) SetProfileImages(ctx context.Context, images []FileReader) error
- func (account *BuiltinUserAccount[AccountID]) SetRole(ctx context.Context, role UserRole) error
- func (account *BuiltinUserAccount[AccountID]) SetSuperUser(ctx context.Context, state bool) error
- func (account *BuiltinUserAccount[AccountID]) SetToken(ctx context.Context, token string) error
- func (account *BuiltinUserAccount[AccountID]) SetUserLevel(ctx context.Context, level int64) error
- func (account *BuiltinUserAccount[AccountID]) SetWalletCurrency(ctx context.Context, currency float64) error
- func (account *BuiltinUserAccount[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAccount[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) ToFormObject(ctx context.Context) (*UserAccountForm[AccountID], error)
- func (account *BuiltinUserAccount[AccountID]) TransferCurrency(ctx context.Context, to UserAccount[AccountID], amount float64) error
- func (account *BuiltinUserAccount[AccountID]) Unban(ctx context.Context) error
- func (account *BuiltinUserAccount[AccountID]) ValidatePassword(ctx context.Context, password string) (bool, error)
- type BuiltinUserAccountManager
- func (accountManager *BuiltinUserAccountManager[AccountID]) Authenticate(ctx context.Context, token string, password string, twoFactor string) (UserAccount[AccountID], error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) CancelTwoFactor(ctx context.Context, token string) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) Close(ctx context.Context) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccount(ctx context.Context, token string) (UserAccount[AccountID], error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccountCount(ctx context.Context) (uint64, error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccountWithID(ctx context.Context, aid AccountID, fill bool) (UserAccount[AccountID], error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccounts(ctx context.Context, accounts []UserAccount[AccountID], skip int64, ...) ([]UserAccount[AccountID], error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) Init(ctx context.Context) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) NewAccount(ctx context.Context, token string, password string, twoFactor string) (UserAccount[AccountID], error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) Pulse(ctx context.Context) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) RemoveAccount(ctx context.Context, account UserAccount[AccountID]) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) RemoveAccountWithToken(ctx context.Context, token string, password string, twoFactor string) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) RemoveAllAccounts(ctx context.Context) error
- func (accountManager *BuiltinUserAccountManager[AccountID]) RequestTwoFactor(ctx context.Context, token string) (string, error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAccountManager[AccountID], error)
- func (accountManager *BuiltinUserAccountManager[AccountID]) ValidateTwoFactor(ctx context.Context, token string, code string) (bool, error)
- type BuiltinUserAddress
- func (address *BuiltinUserAddress[AccountID]) ApplyFormObject(ctx context.Context, form *UserAddressForm[AccountID]) error
- func (address *BuiltinUserAddress[AccountID]) Close(ctx context.Context) error
- func (address *BuiltinUserAddress[AccountID]) GetAddressLine1(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetAddressLine2(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetCity(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetCountry(ctx context.Context) (Country, error)
- func (address *BuiltinUserAddress[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (address *BuiltinUserAddress[AccountID]) GetPostalCode(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetRegion(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetStreetNumber(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetUnitNumber(ctx context.Context) (string, error)
- func (address *BuiltinUserAddress[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (address *BuiltinUserAddress[AccountID]) Init(ctx context.Context) error
- func (address *BuiltinUserAddress[AccountID]) IsDefault(ctx context.Context) (bool, error)
- func (address *BuiltinUserAddress[AccountID]) Pulse(ctx context.Context) error
- func (address *BuiltinUserAddress[AccountID]) SetAddressLine1(ctx context.Context, addressLine string) error
- func (address *BuiltinUserAddress[AccountID]) SetAddressLine2(ctx context.Context, addressLine string) error
- func (address *BuiltinUserAddress[AccountID]) SetCity(ctx context.Context, city string) error
- func (address *BuiltinUserAddress[AccountID]) SetCountry(ctx context.Context, country Country) error
- func (address *BuiltinUserAddress[AccountID]) SetDefault(ctx context.Context) error
- func (address *BuiltinUserAddress[AccountID]) SetPostalCode(ctx context.Context, code string) error
- func (address *BuiltinUserAddress[AccountID]) SetRegion(ctx context.Context, region string) error
- func (address *BuiltinUserAddress[AccountID]) SetStreetNumber(ctx context.Context, streetNumber string) error
- func (address *BuiltinUserAddress[AccountID]) SetUnitNumber(ctx context.Context, unitNumber string) error
- func (address *BuiltinUserAddress[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAddress[AccountID], error)
- func (address *BuiltinUserAddress[AccountID]) ToFormObject(ctx context.Context) (*UserAddressForm[AccountID], error)
- type BuiltinUserAddressManager
- func (addressManager *BuiltinUserAddressManager[AccountID]) Close(ctx context.Context) error
- func (addressManager *BuiltinUserAddressManager[AccountID]) GetAddressCount(ctx context.Context) (uint64, error)
- func (addressManager *BuiltinUserAddressManager[AccountID]) GetAddressWithID(ctx context.Context, aid uint64, fill bool) (UserAddress[AccountID], error)
- func (addressManager *BuiltinUserAddressManager[AccountID]) GetAddresses(ctx context.Context, addresses []UserAddress[AccountID], skip int64, ...) ([]UserAddress[AccountID], error)
- func (addressManager *BuiltinUserAddressManager[AccountID]) Init(ctx context.Context) error
- func (addressManager *BuiltinUserAddressManager[AccountID]) Pulse(ctx context.Context) error
- func (addressManager *BuiltinUserAddressManager[AccountID]) RemoveAllAddresses(ctx context.Context) error
- func (addressManager *BuiltinUserAddressManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAddressManager[AccountID], error)
- type BuiltinUserDiscount
- func (discount *BuiltinUserDiscount[AccountID]) ApplyFormObject(ctx context.Context, form *UserDiscountForm[AccountID]) error
- func (discount *BuiltinUserDiscount[AccountID]) Close(ctx context.Context) error
- func (discount *BuiltinUserDiscount[AccountID]) DecrementValidCount(ctx context.Context) error
- func (discount *BuiltinUserDiscount[AccountID]) GetCode(ctx context.Context) (string, error)
- func (discount *BuiltinUserDiscount[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (discount *BuiltinUserDiscount[AccountID]) GetUsedBy(ctx context.Context) ([]AccountID, error)
- func (discount *BuiltinUserDiscount[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (discount *BuiltinUserDiscount[AccountID]) GetValidCount(ctx context.Context) (int64, error)
- func (discount *BuiltinUserDiscount[AccountID]) GetValue(ctx context.Context) (float64, error)
- func (discount *BuiltinUserDiscount[AccountID]) HasUserUsed(ctx context.Context, account UserAccount[AccountID]) (bool, error)
- func (discount *BuiltinUserDiscount[AccountID]) Init(ctx context.Context) error
- func (discount *BuiltinUserDiscount[AccountID]) MarkAsUsedBy(ctx context.Context, account UserAccount[AccountID]) error
- func (discount *BuiltinUserDiscount[AccountID]) Pulse(ctx context.Context) error
- func (discount *BuiltinUserDiscount[AccountID]) SetCode(ctx context.Context, code string) error
- func (discount *BuiltinUserDiscount[AccountID]) SetValidCount(ctx context.Context, validCount int64) error
- func (discount *BuiltinUserDiscount[AccountID]) SetValue(ctx context.Context, value float64) error
- func (discount *BuiltinUserDiscount[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserDiscount[AccountID], error)
- func (discount *BuiltinUserDiscount[AccountID]) ToFormObject(ctx context.Context) (*UserDiscountForm[AccountID], error)
- type BuiltinUserDiscountManager
- func (discountManager *BuiltinUserDiscountManager[AccountID]) Close(ctx context.Context) error
- func (discountManager *BuiltinUserDiscountManager[AccountID]) ExistsUserDiscountCode(ctx context.Context, code string) (bool, error)
- func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscountByCode(ctx context.Context, code string) (UserDiscount[AccountID], error)
- func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscountCount(ctx context.Context) (uint64, error)
- func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscountWithID(ctx context.Context, did uint64, fill bool) (UserDiscount[AccountID], error)
- func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscounts(ctx context.Context, discounts []UserDiscount[AccountID], skip int64, ...) ([]UserDiscount[AccountID], error)
- func (discountManager *BuiltinUserDiscountManager[AccountID]) Init(ctx context.Context) error
- func (discountManager *BuiltinUserDiscountManager[AccountID]) NewUserDiscount(ctx context.Context, ownerAccount UserAccount[AccountID], value float64, ...) (UserDiscount[AccountID], error)
- func (discountManager *BuiltinUserDiscountManager[AccountID]) Pulse(ctx context.Context) error
- func (discountManager *BuiltinUserDiscountManager[AccountID]) RemoveAllUserDiscounts(ctx context.Context) error
- func (discountManager *BuiltinUserDiscountManager[AccountID]) RemoveUserDiscount(ctx context.Context, discount UserDiscount[AccountID]) error
- func (discountManager *BuiltinUserDiscountManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserDiscountManager[AccountID], error)
- type BuiltinUserFactor
- func (factor *BuiltinUserFactor[AccountID]) ApplyFormObject(ctx context.Context, form *UserFactorForm[AccountID]) error
- func (factor *BuiltinUserFactor[AccountID]) Close(ctx context.Context) error
- func (factor *BuiltinUserFactor[AccountID]) GetAmountPaid(ctx context.Context) (float64, error)
- func (factor *BuiltinUserFactor[AccountID]) GetDiscount(ctx context.Context) (float64, error)
- func (factor *BuiltinUserFactor[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (factor *BuiltinUserFactor[AccountID]) GetProducts(ctx context.Context) (json.RawMessage, error)
- func (factor *BuiltinUserFactor[AccountID]) GetTax(ctx context.Context) (float64, error)
- func (factor *BuiltinUserFactor[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (factor *BuiltinUserFactor[AccountID]) Init(ctx context.Context) error
- func (factor *BuiltinUserFactor[AccountID]) Pulse(ctx context.Context) error
- func (factor *BuiltinUserFactor[AccountID]) SetAmountPaid(ctx context.Context, amountPaid float64) error
- func (factor *BuiltinUserFactor[AccountID]) SetDiscount(ctx context.Context, discount float64) error
- func (factor *BuiltinUserFactor[AccountID]) SetProducts(ctx context.Context, products json.RawMessage) error
- func (factor *BuiltinUserFactor[AccountID]) SetTax(ctx context.Context, tax float64) error
- func (factor *BuiltinUserFactor[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserFactor[AccountID], error)
- func (factor *BuiltinUserFactor[AccountID]) ToFormObject(ctx context.Context) (*UserFactorForm[AccountID], error)
- type BuiltinUserFactorManager
- func (factorManager *BuiltinUserFactorManager[AccountID]) Close(ctx context.Context) error
- func (factorManager *BuiltinUserFactorManager[AccountID]) GetFactorWithID(ctx context.Context, fid uint64, fill bool) (UserFactor[AccountID], error)
- func (factorManager *BuiltinUserFactorManager[AccountID]) GetUserFactorCount(ctx context.Context, account UserAccount[AccountID]) (uint64, error)
- func (factorManager *BuiltinUserFactorManager[AccountID]) GetUserFactors(ctx context.Context, account UserAccount[AccountID], ...) ([]UserFactor[AccountID], error)
- func (factorManager *BuiltinUserFactorManager[AccountID]) Init(ctx context.Context) error
- func (factorManager *BuiltinUserFactorManager[AccountID]) Pulse(ctx context.Context) error
- func (factorManager *BuiltinUserFactorManager[AccountID]) RemoveAllUserFactors(ctx context.Context) error
- func (factorManager *BuiltinUserFactorManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserFactorManager[AccountID], error)
- type BuiltinUserOrder
- func (order *BuiltinUserOrder[AccountID]) ApplyFormObject(ctx context.Context, form *UserOrderForm[AccountID]) error
- func (order *BuiltinUserOrder[AccountID]) CalculateTotalPrice(ctx context.Context) (float64, error)
- func (order *BuiltinUserOrder[AccountID]) Close(ctx context.Context) error
- func (order *BuiltinUserOrder[AccountID]) Deliver(ctx context.Context, date time.Time, comment string) error
- func (order *BuiltinUserOrder[AccountID]) GetDeliveryComment(ctx context.Context) (string, error)
- func (order *BuiltinUserOrder[AccountID]) GetDeliveryDate(ctx context.Context) (time.Time, error)
- func (order *BuiltinUserOrder[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (order *BuiltinUserOrder[AccountID]) GetOrderDate(ctx context.Context) (time.Time, error)
- func (order *BuiltinUserOrder[AccountID]) GetOrderTotal(ctx context.Context) (float64, error)
- func (order *BuiltinUserOrder[AccountID]) GetPaymentMethod(ctx context.Context) (UserPaymentMethod[AccountID], error)
- func (order *BuiltinUserOrder[AccountID]) GetProductItemCount(ctx context.Context) (uint64, error)
- func (order *BuiltinUserOrder[AccountID]) GetProductItems(ctx context.Context, items []UserOrderProductItem[AccountID], skip int64, ...) ([]UserOrderProductItem[AccountID], error)
- func (order *BuiltinUserOrder[AccountID]) GetShippingAddress(ctx context.Context) (UserAddress[AccountID], error)
- func (order *BuiltinUserOrder[AccountID]) GetShippingMethod(ctx context.Context) (ShippingMethod, error)
- func (order *BuiltinUserOrder[AccountID]) GetStatus(ctx context.Context) (OrderStatus, error)
- func (order *BuiltinUserOrder[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (order *BuiltinUserOrder[AccountID]) GetUserComment(ctx context.Context) (string, error)
- func (order *BuiltinUserOrder[AccountID]) Init(ctx context.Context) error
- func (order *BuiltinUserOrder[AccountID]) IsDeliveried(ctx context.Context) (bool, error)
- func (order *BuiltinUserOrder[AccountID]) Pulse(ctx context.Context) error
- func (order *BuiltinUserOrder[AccountID]) SetDeliveryComment(ctx context.Context, comment string) error
- func (order *BuiltinUserOrder[AccountID]) SetDeliveryDate(ctx context.Context, date time.Time) error
- func (order *BuiltinUserOrder[AccountID]) SetOrderDate(ctx context.Context, date time.Time) error
- func (order *BuiltinUserOrder[AccountID]) SetOrderTotal(ctx context.Context, price float64) error
- func (order *BuiltinUserOrder[AccountID]) SetPaymentMethod(ctx context.Context, paymentMethod UserPaymentMethod[AccountID]) error
- func (order *BuiltinUserOrder[AccountID]) SetProductItems(ctx context.Context, items []UserOrderProductItem[AccountID]) error
- func (order *BuiltinUserOrder[AccountID]) SetShippingAddress(ctx context.Context, address UserAddress[AccountID]) error
- func (order *BuiltinUserOrder[AccountID]) SetShippingMethod(ctx context.Context, shippingMethod ShippingMethod) error
- func (order *BuiltinUserOrder[AccountID]) SetStatus(ctx context.Context, status OrderStatus) error
- func (order *BuiltinUserOrder[AccountID]) SetUserComment(ctx context.Context, comment string) error
- func (order *BuiltinUserOrder[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserOrder[AccountID], error)
- func (order *BuiltinUserOrder[AccountID]) ToFormObject(ctx context.Context) (*UserOrderForm[AccountID], error)
- type BuiltinUserOrderManager
- func (orderManager *BuiltinUserOrderManager[AccountID]) Close(ctx context.Context) error
- func (orderManager *BuiltinUserOrderManager[AccountID]) GetOrderWithID(ctx context.Context, oid uint64, fill bool) (UserOrder[AccountID], error)
- func (orderManager *BuiltinUserOrderManager[AccountID]) GetUserOrderCount(ctx context.Context) (uint64, error)
- func (orderManager *BuiltinUserOrderManager[AccountID]) GetUserOrders(ctx context.Context, orders []UserOrder[AccountID], skip int64, limit int64, ...) ([]UserOrder[AccountID], error)
- func (orderManager *BuiltinUserOrderManager[AccountID]) Init(ctx context.Context) error
- func (orderManager *BuiltinUserOrderManager[AccountID]) Pulse(ctx context.Context) error
- func (orderManager *BuiltinUserOrderManager[AccountID]) RemoveAllUserOrders(ctx context.Context) error
- func (orderManager *BuiltinUserOrderManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserOrderManager[AccountID], error)
- type BuiltinUserPaymentMethod
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) ApplyFormObject(ctx context.Context, form *UserPaymentMethodForm[AccountID]) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) Close(ctx context.Context) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetAccountNumber(ctx context.Context) (string, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetExpiryDate(ctx context.Context) (time.Time, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetPaymentType(ctx context.Context) (PaymentType, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetProvider(ctx context.Context) (string, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) Init(ctx context.Context) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) IsDefault(ctx context.Context) (bool, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) IsExpired(ctx context.Context) (bool, error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) Pulse(ctx context.Context) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetAccountNumber(ctx context.Context, accountNumber string) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetDefault(ctx context.Context, state bool) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetExpiryDate(ctx context.Context, date time.Time) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetPaymentType(ctx context.Context, paymentType PaymentType) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetProvider(ctx context.Context, provider string) error
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserPaymentMethod[AccountID], error)
- func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) ToFormObject(ctx context.Context) (*UserPaymentMethodForm[AccountID], error)
- type BuiltinUserPaymentMethodManager
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) Close(ctx context.Context) error
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethodCount(ctx context.Context) (uint64, error)
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethodWithID(ctx context.Context, pid uint64, fill bool) (UserPaymentMethod[AccountID], error)
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethods(ctx context.Context, paymentMethods []UserPaymentMethod[AccountID], skip int64, ...) ([]UserPaymentMethod[AccountID], error)
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) Init(ctx context.Context) error
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) Pulse(ctx context.Context) error
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) RemoveAllPaymentMethods(ctx context.Context) error
- func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserPaymentMethodManager[AccountID], error)
- type BuiltinUserReview
- func (review *BuiltinUserReview[AccountID]) ApplyFormObject(ctx context.Context, form *UserReviewForm[AccountID]) error
- func (review *BuiltinUserReview[AccountID]) Close(ctx context.Context) error
- func (review *BuiltinUserReview[AccountID]) GetComment(ctx context.Context) (string, error)
- func (review *BuiltinUserReview[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (review *BuiltinUserReview[AccountID]) GetProductItem(ctx context.Context) (ProductItem[AccountID], error)
- func (review *BuiltinUserReview[AccountID]) GetRatingValue(ctx context.Context) (int32, error)
- func (review *BuiltinUserReview[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (review *BuiltinUserReview[AccountID]) Init(ctx context.Context) error
- func (review *BuiltinUserReview[AccountID]) Pulse(ctx context.Context) error
- func (review *BuiltinUserReview[AccountID]) SetComment(ctx context.Context, comment string) error
- func (review *BuiltinUserReview[AccountID]) SetRatingValue(ctx context.Context, rating int32) error
- func (review *BuiltinUserReview[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserReview[AccountID], error)
- func (review *BuiltinUserReview[AccountID]) ToFormObject(ctx context.Context) (*UserReviewForm[AccountID], error)
- type BuiltinUserReviewManager
- func (reviewManager *BuiltinUserReviewManager[AccountID]) Close(ctx context.Context) error
- func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewCount(ctx context.Context) (uint64, error)
- func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewWithID(ctx context.Context, rid uint64, fill bool) (UserReview[AccountID], error)
- func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, ...) ([]UserReview[AccountID], error)
- func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewsForAccount(ctx context.Context, account UserAccount[AccountID], ...) ([]UserReview[AccountID], error)
- func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewsForProductItem(ctx context.Context, productItem ProductItem[AccountID], ...) ([]UserReview[AccountID], error)
- func (reviewManager *BuiltinUserReviewManager[AccountID]) Init(ctx context.Context) error
- func (reviewManager *BuiltinUserReviewManager[AccountID]) NewUserReview(ctx context.Context, account UserAccount[AccountID], ...) (UserReview[AccountID], error)
- func (reviewManager *BuiltinUserReviewManager[AccountID]) Pulse(ctx context.Context) error
- func (reviewManager *BuiltinUserReviewManager[AccountID]) RemoveAllUserReviews(ctx context.Context) error
- func (reviewManager *BuiltinUserReviewManager[AccountID]) RemoveUserReview(ctx context.Context, review UserReview[AccountID]) error
- func (reviewManager *BuiltinUserReviewManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserReviewManager[AccountID], error)
- type BuiltinUserRole
- func (userRole *BuiltinUserRole) ApplyFormObject(ctx context.Context, form *UserRoleForm) error
- func (userRole *BuiltinUserRole) Close(ctx context.Context) error
- func (userRole *BuiltinUserRole) GetID(ctx context.Context) (uint64, error)
- func (userRole *BuiltinUserRole) GetName(ctx context.Context) (string, error)
- func (userRole *BuiltinUserRole) Init(ctx context.Context) error
- func (userRole *BuiltinUserRole) Pulse(ctx context.Context) error
- func (userRole *BuiltinUserRole) SetName(ctx context.Context, name string) error
- func (userRole *BuiltinUserRole) ToBuiltinObject(ctx context.Context) (*BuiltinUserRole, error)
- func (userRole *BuiltinUserRole) ToFormObject(ctx context.Context) (*UserRoleForm, error)
- type BuiltinUserRoleManager
- func (userRoleManager *BuiltinUserRoleManager) Close(ctx context.Context) error
- func (userRoleManager *BuiltinUserRoleManager) ExistsUserRole(ctx context.Context, name string) (bool, error)
- func (userRoleManager *BuiltinUserRoleManager) GetRoleWithID(ctx context.Context, rid uint64, fill bool) (UserRole, error)
- func (userRoleManager *BuiltinUserRoleManager) GetUserRoleByName(ctx context.Context, name string) (UserRole, error)
- func (userRoleManager *BuiltinUserRoleManager) GetUserRoleCount(ctx context.Context) (uint64, error)
- func (userRoleManager *BuiltinUserRoleManager) GetUserRoles(ctx context.Context, userRoles []UserRole, skip int64, limit int64, ...) ([]UserRole, error)
- func (userRoleManager *BuiltinUserRoleManager) Init(ctx context.Context) error
- func (userRoleManager *BuiltinUserRoleManager) NewUserRole(ctx context.Context, name string) (UserRole, error)
- func (userRoleManager *BuiltinUserRoleManager) Pulse(ctx context.Context) error
- func (userRoleManager *BuiltinUserRoleManager) RemoveAllUserRoles(ctx context.Context) error
- func (userRoleManager *BuiltinUserRoleManager) RemoveUserRole(ctx context.Context, userRole UserRole) error
- func (userRoleManager *BuiltinUserRoleManager) ToBuiltinObject(ctx context.Context) (*BuiltinUserRoleManager, error)
- type BuiltinUserShoppingCart
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) ApplyFormObject(ctx context.Context, form *UserShoppingCartForm[AccountID]) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) CalculateDept(ctx context.Context, shippingMethod ShippingMethod) (float64, error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Close(ctx context.Context) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetSessionText(ctx context.Context) (string, error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetShoppingCartItemCount(ctx context.Context) (uint64, error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetShoppingCartItems(ctx context.Context, items []UserShoppingCartItem[AccountID], skip int64, ...) ([]UserShoppingCartItem[AccountID], error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Init(ctx context.Context) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) NewShoppingCartItem(ctx context.Context, item ProductItem[AccountID], count int64, ...) (UserShoppingCartItem[AccountID], error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Order(ctx context.Context, paymentMethod UserPaymentMethod[AccountID], ...) (UserOrder[AccountID], error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Pulse(ctx context.Context) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) RemoveAllShoppingCartItems(ctx context.Context) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) RemoveShoppingCartItem(ctx context.Context, item UserShoppingCartItem[AccountID]) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) SetSessionText(ctx context.Context, sessionText string) error
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCart[AccountID], error)
- func (shoppingCart *BuiltinUserShoppingCart[AccountID]) ToFormObject(ctx context.Context) (*UserShoppingCartForm[AccountID], error)
- type BuiltinUserShoppingCartItem
- func (item *BuiltinUserShoppingCartItem[AccountID]) AddQuantity(ctx context.Context, delta int64) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) ApplyFormObject(ctx context.Context, form *UserShoppingCartItemForm[AccountID]) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) CalculateDept(ctx context.Context) (float64, error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) Close(ctx context.Context) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) GetAttributes(ctx context.Context) (json.RawMessage, error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) GetID(ctx context.Context) (uint64, error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) GetProductItem(ctx context.Context) (ProductItem[AccountID], error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) GetQuantity(ctx context.Context) (int64, error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) GetShoppingCart(ctx context.Context) (UserShoppingCart[AccountID], error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) Init(ctx context.Context) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) Pulse(ctx context.Context) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) SetAttributes(ctx context.Context, attrs json.RawMessage) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) SetQuantity(ctx context.Context, quantity int64) error
- func (item *BuiltinUserShoppingCartItem[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCartItem[AccountID], error)
- func (item *BuiltinUserShoppingCartItem[AccountID]) ToFormObject(ctx context.Context) (*UserShoppingCartItemForm[AccountID], error)
- type BuiltinUserShoppingCartManager
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) Close(ctx context.Context) error
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartBySessionText(ctx context.Context, sessionText string) (UserShoppingCart[AccountID], error)
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartCount(ctx context.Context) (uint64, error)
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartItemWithID(ctx context.Context, iid uint64, fill bool) (UserShoppingCartItem[AccountID], error)
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartWithID(ctx context.Context, cid uint64, fill bool) (UserShoppingCart[AccountID], error)
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCarts(ctx context.Context, carts []UserShoppingCart[AccountID], skip int64, ...) ([]UserShoppingCart[AccountID], error)
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) Init(ctx context.Context) error
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) Pulse(ctx context.Context) error
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) RemoveAllShoppingCarts(ctx context.Context) error
- func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCartManager[AccountID], error)
- type BytesFileIO
- type Country
- type CountryForm
- type CountryManager
- type DBApplication
- type DBCountry
- type DBCountryManager
- type DBOrderStatus
- type DBOrderStatusManager
- type DBPaymentType
- type DBPaymentTypeManager
- type DBProduct
- type DBProductCategory
- type DBProductItem
- type DBProductItemSubscription
- type DBProductItemSubscriptionManager
- type DBProductManager
- type DBShippingMethod
- type DBShippingMethodManager
- type DBUserAccount
- type DBUserAccountManager
- type DBUserAddress
- type DBUserAddressManager
- type DBUserAddressResult
- type DBUserDiscount
- type DBUserDiscountManager
- type DBUserDiscountResult
- type DBUserFactor
- type DBUserFactorManager
- type DBUserOrder
- type DBUserOrderManager
- type DBUserOrderProductItem
- type DBUserOrderResult
- type DBUserPaymentMethod
- type DBUserPaymentMethodManager
- type DBUserPaymentMethodResult
- type DBUserReview
- type DBUserReviewManager
- type DBUserReviewResult
- type DBUserRole
- type DBUserRoleManager
- type DBUserShoppingCart
- type DBUserShoppingCartItem
- type DBUserShoppingCartManager
- type DBUserUserShoppingCartResult
- type FileCloser
- type FileIO
- type FileIdentifier
- type FileReadCloser
- type FileReader
- type FileStorage
- type FileWriteCloser
- type FileWriter
- type GeneralAppObject
- type GeneralClosable
- type GeneralInitiative
- type GeneralPulsable
- type OSFileIO
- type OrderStatus
- type OrderStatusForm
- type OrderStatusManager
- type PaymentType
- type PaymentTypeForm
- type PaymentTypeManager
- type Product
- type ProductCategory
- type ProductCategoryForm
- type ProductForm
- type ProductItem
- type ProductItemForm
- type ProductItemSubscription
- type ProductItemSubscriptionForm
- type ProductItemSubscriptionManager
- type ProductManager
- type QueueOrder
- type RenewalHandlerFunc
- type ShippingMethod
- type ShippingMethodForm
- type ShippingMethodManager
- type UserAccount
- type UserAccountForm
- type UserAccountManager
- type UserAddress
- type UserAddressForm
- type UserAddressManager
- type UserDiscount
- type UserDiscountForm
- type UserDiscountManager
- type UserFactor
- type UserFactorForm
- type UserFactorManager
- type UserOrder
- type UserOrderForm
- type UserOrderManager
- type UserOrderProductItem
- type UserPaymentMethod
- type UserPaymentMethodForm
- type UserPaymentMethodManager
- type UserReview
- type UserReviewForm
- type UserReviewManager
- type UserRole
- type UserRoleForm
- type UserRoleManager
- type UserShoppingCart
- type UserShoppingCartForm
- type UserShoppingCartItem
- type UserShoppingCartItemForm
- type UserShoppingCartManager
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrExceededMaxRetries = errors.New("exceeded maximum retry attempts")
Functions ¶
func GetSafeLimit ¶
Types ¶
type App ¶
type App[AccountID comparable] struct { AccountManager UserAccountManager[AccountID] OrderManager UserOrderManager[AccountID] PaymentMethodManager UserPaymentMethodManager[AccountID] AddressManager UserAddressManager[AccountID] ShoppingCartManager UserShoppingCartManager[AccountID] RoleManager UserRoleManager ProductManager ProductManager[AccountID] CountryManager CountryManager PaymentTypeManager PaymentTypeManager ShippingMethodManager ShippingMethodManager OrderStatusManager OrderStatusManager UserReviewManager UserReviewManager[AccountID] SubscriptionManager ProductItemSubscriptionManager[AccountID] DiscountManager UserDiscountManager[AccountID] FactorManager UserFactorManager[AccountID] }
func NewBuiltinApplication ¶
func NewBuiltinApplication[AccountID comparable](conf *AppConfig[AccountID]) (*App[AccountID], error)
type AppConfig ¶
type AppConfig[AccountID comparable] struct { DB DBApplication[AccountID] FileStorage FileStorage OTPCodeLength int32 OTPTokenLength int32 OTPTTL time.Duration SubscriptionRenewalHandler RenewalHandlerFunc[AccountID] DiscountCodeLength int32 }
type BuiltinCountry ¶
type BuiltinCountry struct {
CountryForm
DB DBCountry `json:"-"`
MU sync.RWMutex `json:"-"`
}
func (*BuiltinCountry) ApplyFormObject ¶
func (country *BuiltinCountry) ApplyFormObject(ctx context.Context, form *CountryForm) error
func (*BuiltinCountry) GetID ¶
func (country *BuiltinCountry) GetID(ctx context.Context) (uint64, error)
func (*BuiltinCountry) GetName ¶
func (country *BuiltinCountry) GetName(ctx context.Context) (string, error)
func (*BuiltinCountry) SetName ¶
func (country *BuiltinCountry) SetName(ctx context.Context, name string) error
func (*BuiltinCountry) ToBuiltinObject ¶
func (country *BuiltinCountry) ToBuiltinObject(ctx context.Context) (*BuiltinCountry, error)
func (*BuiltinCountry) ToFormObject ¶
func (country *BuiltinCountry) ToFormObject(ctx context.Context) (*CountryForm, error)
type BuiltinCountryManager ¶
type BuiltinCountryManager struct {
DB countryDatabase
}
func NewBuiltinCountryManager ¶
func NewBuiltinCountryManager(db countryDatabase) *BuiltinCountryManager
func (*BuiltinCountryManager) Close ¶
func (countryManager *BuiltinCountryManager) Close(ctx context.Context) error
func (*BuiltinCountryManager) ExistsCountry ¶
func (*BuiltinCountryManager) GetCountries ¶
func (countryManager *BuiltinCountryManager) GetCountries(ctx context.Context, countries []Country, skip int64, limit int64, queueOrder QueueOrder) ([]Country, error)
func (*BuiltinCountryManager) GetCountryByName ¶
func (*BuiltinCountryManager) GetCountryCount ¶
func (countryManager *BuiltinCountryManager) GetCountryCount(ctx context.Context) (uint64, error)
func (*BuiltinCountryManager) GetCountryWithID ¶
func (*BuiltinCountryManager) Init ¶
func (countryManager *BuiltinCountryManager) Init(ctx context.Context) error
func (*BuiltinCountryManager) NewCountry ¶
func (*BuiltinCountryManager) Pulse ¶
func (countryManager *BuiltinCountryManager) Pulse(ctx context.Context) error
func (*BuiltinCountryManager) RemoveAllCountries ¶
func (countryManager *BuiltinCountryManager) RemoveAllCountries(ctx context.Context) error
func (*BuiltinCountryManager) RemoveCountry ¶
func (countryManager *BuiltinCountryManager) RemoveCountry(ctx context.Context, country Country) error
func (*BuiltinCountryManager) ToBuiltinObject ¶
func (countryManager *BuiltinCountryManager) ToBuiltinObject(ctx context.Context) (*BuiltinCountryManager, error)
type BuiltinOrderStatus ¶
type BuiltinOrderStatus struct {
OrderStatusForm
DB DBOrderStatus `json:"-"`
MU sync.RWMutex `json:"-"`
}
func (*BuiltinOrderStatus) ApplyFormObject ¶
func (orderStatus *BuiltinOrderStatus) ApplyFormObject(ctx context.Context, form *OrderStatusForm) error
func (*BuiltinOrderStatus) Close ¶
func (orderStatus *BuiltinOrderStatus) Close(ctx context.Context) error
func (*BuiltinOrderStatus) GetID ¶
func (orderStatus *BuiltinOrderStatus) GetID(ctx context.Context) (uint64, error)
func (*BuiltinOrderStatus) GetName ¶
func (orderStatus *BuiltinOrderStatus) GetName(ctx context.Context) (string, error)
func (*BuiltinOrderStatus) Init ¶
func (orderStatus *BuiltinOrderStatus) Init(ctx context.Context) error
func (*BuiltinOrderStatus) IsDeliveried ¶
func (orderStatus *BuiltinOrderStatus) IsDeliveried(ctx context.Context) (bool, error)
func (*BuiltinOrderStatus) Pulse ¶
func (orderStatus *BuiltinOrderStatus) Pulse(ctx context.Context) error
func (*BuiltinOrderStatus) SetName ¶
func (orderStatus *BuiltinOrderStatus) SetName(ctx context.Context, name string) error
func (*BuiltinOrderStatus) ToBuiltinObject ¶
func (orderStatus *BuiltinOrderStatus) ToBuiltinObject(ctx context.Context) (*BuiltinOrderStatus, error)
func (*BuiltinOrderStatus) ToFormObject ¶
func (orderStatus *BuiltinOrderStatus) ToFormObject(ctx context.Context) (*OrderStatusForm, error)
type BuiltinOrderStatusManager ¶
type BuiltinOrderStatusManager struct {
DB orderStatusDatabase
}
func NewBuiltinOrderStatusManager ¶
func NewBuiltinOrderStatusManager(db orderStatusDatabase) *BuiltinOrderStatusManager
func (*BuiltinOrderStatusManager) Close ¶
func (orderStatusManager *BuiltinOrderStatusManager) Close(ctx context.Context) error
func (*BuiltinOrderStatusManager) ExistsOrderStatus ¶
func (*BuiltinOrderStatusManager) GetDeliveriedOrderStatus ¶
func (orderStatusManager *BuiltinOrderStatusManager) GetDeliveriedOrderStatus(ctx context.Context) (OrderStatus, error)
func (*BuiltinOrderStatusManager) GetIdleOrderStatus ¶
func (orderStatusManager *BuiltinOrderStatusManager) GetIdleOrderStatus(ctx context.Context) (OrderStatus, error)
func (*BuiltinOrderStatusManager) GetOrderStatusByName ¶
func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatusByName(ctx context.Context, name string) (OrderStatus, error)
func (*BuiltinOrderStatusManager) GetOrderStatusCount ¶
func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatusCount(ctx context.Context) (uint64, error)
func (*BuiltinOrderStatusManager) GetOrderStatusWithID ¶
func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatusWithID(ctx context.Context, sid uint64, fill bool) (OrderStatus, error)
func (*BuiltinOrderStatusManager) GetOrderStatuses ¶
func (orderStatusManager *BuiltinOrderStatusManager) GetOrderStatuses(ctx context.Context, orderStatuses []OrderStatus, skip int64, limit int64, queueOrder QueueOrder) ([]OrderStatus, error)
func (*BuiltinOrderStatusManager) Init ¶
func (orderStatusManager *BuiltinOrderStatusManager) Init(ctx context.Context) error
func (*BuiltinOrderStatusManager) NewOrderStatus ¶
func (orderStatusManager *BuiltinOrderStatusManager) NewOrderStatus(ctx context.Context, name string) (OrderStatus, error)
func (*BuiltinOrderStatusManager) Pulse ¶
func (orderStatusManager *BuiltinOrderStatusManager) Pulse(ctx context.Context) error
func (*BuiltinOrderStatusManager) RemoveAllOrderStatuses ¶
func (orderStatusManager *BuiltinOrderStatusManager) RemoveAllOrderStatuses(ctx context.Context) error
func (*BuiltinOrderStatusManager) RemoveOrderStatus ¶
func (orderStatusManager *BuiltinOrderStatusManager) RemoveOrderStatus(ctx context.Context, status OrderStatus) error
func (*BuiltinOrderStatusManager) ToBuiltinObject ¶
func (orderStatusManager *BuiltinOrderStatusManager) ToBuiltinObject(ctx context.Context) (*BuiltinOrderStatusManager, error)
type BuiltinPaymentType ¶
type BuiltinPaymentType struct {
PaymentTypeForm
DB DBPaymentType `json:"-"`
MU sync.RWMutex `json:"-"`
}
func (*BuiltinPaymentType) ApplyFormObject ¶
func (paymentType *BuiltinPaymentType) ApplyFormObject(ctx context.Context, form *PaymentTypeForm) error
func (*BuiltinPaymentType) Close ¶
func (paymentType *BuiltinPaymentType) Close(ctx context.Context) error
func (*BuiltinPaymentType) GetID ¶
func (paymentType *BuiltinPaymentType) GetID(ctx context.Context) (uint64, error)
func (*BuiltinPaymentType) GetName ¶
func (paymentType *BuiltinPaymentType) GetName(ctx context.Context) (string, error)
func (*BuiltinPaymentType) Init ¶
func (paymentType *BuiltinPaymentType) Init(ctx context.Context) error
func (*BuiltinPaymentType) Pulse ¶
func (paymentType *BuiltinPaymentType) Pulse(ctx context.Context) error
func (*BuiltinPaymentType) SetName ¶
func (paymentType *BuiltinPaymentType) SetName(ctx context.Context, name string) error
func (*BuiltinPaymentType) ToBuiltinObject ¶
func (paymentType *BuiltinPaymentType) ToBuiltinObject(ctx context.Context) (*BuiltinPaymentType, error)
func (*BuiltinPaymentType) ToFormObject ¶
func (paymentType *BuiltinPaymentType) ToFormObject(ctx context.Context) (*PaymentTypeForm, error)
type BuiltinPaymentTypeManager ¶
type BuiltinPaymentTypeManager struct {
DB paymentTypeDatabase
}
func NewBuiltinPaymentTypeManager ¶
func NewBuiltinPaymentTypeManager(db paymentTypeDatabase) *BuiltinPaymentTypeManager
func (*BuiltinPaymentTypeManager) Close ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) Close(ctx context.Context) error
func (*BuiltinPaymentTypeManager) ExistsPaymentType ¶
func (*BuiltinPaymentTypeManager) GetPaymentTypeByName ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypeByName(ctx context.Context, name string) (PaymentType, error)
func (*BuiltinPaymentTypeManager) GetPaymentTypeCount ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypeCount(ctx context.Context) (uint64, error)
func (*BuiltinPaymentTypeManager) GetPaymentTypeWithID ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypeWithID(ctx context.Context, pid uint64, fill bool) (PaymentType, error)
func (*BuiltinPaymentTypeManager) GetPaymentTypes ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) GetPaymentTypes(ctx context.Context, paymentTypes []PaymentType, skip int64, limit int64, queueOrder QueueOrder) ([]PaymentType, error)
func (*BuiltinPaymentTypeManager) Init ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) Init(ctx context.Context) error
func (*BuiltinPaymentTypeManager) NewPaymentType ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) NewPaymentType(ctx context.Context, name string) (PaymentType, error)
func (*BuiltinPaymentTypeManager) Pulse ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) Pulse(ctx context.Context) error
func (*BuiltinPaymentTypeManager) RemoveAllPaymentTypes ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) RemoveAllPaymentTypes(ctx context.Context) error
func (*BuiltinPaymentTypeManager) RemovePaymentType ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) RemovePaymentType(ctx context.Context, status PaymentType) error
func (*BuiltinPaymentTypeManager) ToBuiltinObject ¶
func (paymentTypeManager *BuiltinPaymentTypeManager) ToBuiltinObject(ctx context.Context) (*BuiltinPaymentTypeManager, error)
type BuiltinProduct ¶
type BuiltinProduct[AccountID comparable] struct { ProductForm[AccountID] DB productDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinProduct[AccountID]) AddProductItem ¶
func (product *BuiltinProduct[AccountID]) AddProductItem(ctx context.Context, sku string, name string, price float64, quantity uint64, images []FileReader, attrs json.RawMessage) (ProductItem[AccountID], error)
func (*BuiltinProduct[AccountID]) ApplyFormObject ¶
func (product *BuiltinProduct[AccountID]) ApplyFormObject(ctx context.Context, form *ProductForm[AccountID]) error
func (*BuiltinProduct[AccountID]) Close ¶
func (product *BuiltinProduct[AccountID]) Close(ctx context.Context) error
func (*BuiltinProduct[AccountID]) GetDescription ¶
func (product *BuiltinProduct[AccountID]) GetDescription(ctx context.Context) (string, error)
func (*BuiltinProduct[AccountID]) GetID ¶
func (product *BuiltinProduct[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinProduct[AccountID]) GetImages ¶
func (product *BuiltinProduct[AccountID]) GetImages(ctx context.Context) ([]FileReadCloser, error)
func (*BuiltinProduct[AccountID]) GetName ¶
func (product *BuiltinProduct[AccountID]) GetName(ctx context.Context) (string, error)
func (*BuiltinProduct[AccountID]) GetProductCategory ¶
func (product *BuiltinProduct[AccountID]) GetProductCategory(ctx context.Context) (ProductCategory[AccountID], error)
func (*BuiltinProduct[AccountID]) GetProductItemCount ¶
func (product *BuiltinProduct[AccountID]) GetProductItemCount(ctx context.Context) (uint64, error)
func (*BuiltinProduct[AccountID]) GetProductItems ¶
func (product *BuiltinProduct[AccountID]) GetProductItems(ctx context.Context, items []ProductItem[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItem[AccountID], error)
func (*BuiltinProduct[AccountID]) Init ¶
func (product *BuiltinProduct[AccountID]) Init(ctx context.Context) error
func (*BuiltinProduct[AccountID]) Pulse ¶
func (product *BuiltinProduct[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinProduct[AccountID]) RemoveAllProductItems ¶
func (product *BuiltinProduct[AccountID]) RemoveAllProductItems(ctx context.Context) error
func (*BuiltinProduct[AccountID]) RemoveProductItem ¶
func (product *BuiltinProduct[AccountID]) RemoveProductItem(ctx context.Context, item ProductItem[AccountID]) error
func (*BuiltinProduct[AccountID]) SetDescription ¶
func (product *BuiltinProduct[AccountID]) SetDescription(ctx context.Context, desc string) error
func (*BuiltinProduct[AccountID]) SetImages ¶
func (product *BuiltinProduct[AccountID]) SetImages(ctx context.Context, images []FileReader) error
func (*BuiltinProduct[AccountID]) SetName ¶
func (product *BuiltinProduct[AccountID]) SetName(ctx context.Context, name string) error
func (*BuiltinProduct[AccountID]) SetProductCategory ¶
func (product *BuiltinProduct[AccountID]) SetProductCategory(ctx context.Context, category ProductCategory[AccountID]) error
func (*BuiltinProduct[AccountID]) ToBuiltinObject ¶
func (product *BuiltinProduct[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProduct[AccountID], error)
func (*BuiltinProduct[AccountID]) ToFormObject ¶
func (product *BuiltinProduct[AccountID]) ToFormObject(ctx context.Context) (*ProductForm[AccountID], error)
type BuiltinProductCategory ¶
type BuiltinProductCategory[AccountID comparable] struct { ProductCategoryForm[AccountID] DB productCategoryDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinProductCategory[AccountID]) ApplyFormObject ¶
func (category *BuiltinProductCategory[AccountID]) ApplyFormObject(ctx context.Context, form *ProductCategoryForm[AccountID]) error
func (*BuiltinProductCategory[AccountID]) Close ¶
func (category *BuiltinProductCategory[AccountID]) Close(ctx context.Context) error
func (*BuiltinProductCategory[AccountID]) GetID ¶
func (category *BuiltinProductCategory[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinProductCategory[AccountID]) GetName ¶
func (category *BuiltinProductCategory[AccountID]) GetName(ctx context.Context) (string, error)
func (*BuiltinProductCategory[AccountID]) GetParentProductCategory ¶
func (category *BuiltinProductCategory[AccountID]) GetParentProductCategory(ctx context.Context) (ProductCategory[AccountID], error)
func (*BuiltinProductCategory[AccountID]) GetProductCount ¶
func (category *BuiltinProductCategory[AccountID]) GetProductCount(ctx context.Context) (uint64, error)
func (*BuiltinProductCategory[AccountID]) GetProducts ¶
func (category *BuiltinProductCategory[AccountID]) GetProducts(ctx context.Context, products []Product[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]Product[AccountID], error)
func (*BuiltinProductCategory[AccountID]) Init ¶
func (category *BuiltinProductCategory[AccountID]) Init(ctx context.Context) error
func (*BuiltinProductCategory[AccountID]) NewProduct ¶
func (category *BuiltinProductCategory[AccountID]) NewProduct(ctx context.Context, name string, description string, images []FileReader) (Product[AccountID], error)
func (*BuiltinProductCategory[AccountID]) Pulse ¶
func (category *BuiltinProductCategory[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinProductCategory[AccountID]) RemoveAllProducts ¶
func (category *BuiltinProductCategory[AccountID]) RemoveAllProducts(ctx context.Context) error
func (*BuiltinProductCategory[AccountID]) RemoveProduct ¶
func (category *BuiltinProductCategory[AccountID]) RemoveProduct(ctx context.Context, product Product[AccountID]) error
func (*BuiltinProductCategory[AccountID]) SetName ¶
func (category *BuiltinProductCategory[AccountID]) SetName(ctx context.Context, name string) error
func (*BuiltinProductCategory[AccountID]) SetParentProductCategory ¶
func (category *BuiltinProductCategory[AccountID]) SetParentProductCategory(ctx context.Context, parent ProductCategory[AccountID]) error
func (*BuiltinProductCategory[AccountID]) ToBuiltinObject ¶
func (category *BuiltinProductCategory[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductCategory[AccountID], error)
func (*BuiltinProductCategory[AccountID]) ToFormObject ¶
func (category *BuiltinProductCategory[AccountID]) ToFormObject(ctx context.Context) (*ProductCategoryForm[AccountID], error)
type BuiltinProductItem ¶
type BuiltinProductItem[AccountID comparable] struct { ProductItemForm[AccountID] DB productItemDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinProductItem[AccountID]) AddQuantityInStock ¶
func (item *BuiltinProductItem[AccountID]) AddQuantityInStock(ctx context.Context, delta int64) error
func (*BuiltinProductItem[AccountID]) ApplyFormObject ¶
func (item *BuiltinProductItem[AccountID]) ApplyFormObject(ctx context.Context, form *ProductItemForm[AccountID]) error
func (*BuiltinProductItem[AccountID]) CalculateAverageRating ¶
func (item *BuiltinProductItem[AccountID]) CalculateAverageRating(ctx context.Context) (float64, error)
func (*BuiltinProductItem[AccountID]) Close ¶
func (item *BuiltinProductItem[AccountID]) Close(ctx context.Context) error
func (*BuiltinProductItem[AccountID]) GetAttributes ¶
func (item *BuiltinProductItem[AccountID]) GetAttributes(ctx context.Context) (json.RawMessage, error)
func (*BuiltinProductItem[AccountID]) GetID ¶
func (item *BuiltinProductItem[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinProductItem[AccountID]) GetImages ¶
func (item *BuiltinProductItem[AccountID]) GetImages(ctx context.Context) ([]FileReadCloser, error)
func (*BuiltinProductItem[AccountID]) GetName ¶
func (item *BuiltinProductItem[AccountID]) GetName(ctx context.Context) (string, error)
func (*BuiltinProductItem[AccountID]) GetPrice ¶
func (item *BuiltinProductItem[AccountID]) GetPrice(ctx context.Context) (float64, error)
func (*BuiltinProductItem[AccountID]) GetProduct ¶
func (item *BuiltinProductItem[AccountID]) GetProduct(ctx context.Context) (Product[AccountID], error)
func (*BuiltinProductItem[AccountID]) GetQuantityInStock ¶
func (item *BuiltinProductItem[AccountID]) GetQuantityInStock(ctx context.Context) (uint64, error)
func (*BuiltinProductItem[AccountID]) GetSKU ¶
func (item *BuiltinProductItem[AccountID]) GetSKU(ctx context.Context) (string, error)
func (*BuiltinProductItem[AccountID]) GetUserReviewCount ¶
func (item *BuiltinProductItem[AccountID]) GetUserReviewCount(ctx context.Context) (uint64, error)
func (*BuiltinProductItem[AccountID]) GetUserReviews ¶
func (item *BuiltinProductItem[AccountID]) GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error)
func (*BuiltinProductItem[AccountID]) Init ¶
func (item *BuiltinProductItem[AccountID]) Init(ctx context.Context) error
func (*BuiltinProductItem[AccountID]) Pulse ¶
func (item *BuiltinProductItem[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinProductItem[AccountID]) SetAttributes ¶
func (item *BuiltinProductItem[AccountID]) SetAttributes(ctx context.Context, attrs json.RawMessage) error
func (*BuiltinProductItem[AccountID]) SetImages ¶
func (item *BuiltinProductItem[AccountID]) SetImages(ctx context.Context, images []FileReader) error
func (*BuiltinProductItem[AccountID]) SetName ¶
func (item *BuiltinProductItem[AccountID]) SetName(ctx context.Context, name string) error
func (*BuiltinProductItem[AccountID]) SetPrice ¶
func (item *BuiltinProductItem[AccountID]) SetPrice(ctx context.Context, price float64) error
func (*BuiltinProductItem[AccountID]) SetProduct ¶
func (item *BuiltinProductItem[AccountID]) SetProduct(ctx context.Context, product Product[AccountID]) error
func (*BuiltinProductItem[AccountID]) SetQuantityInStock ¶
func (item *BuiltinProductItem[AccountID]) SetQuantityInStock(ctx context.Context, quantity uint64) error
func (*BuiltinProductItem[AccountID]) SetSKU ¶
func (item *BuiltinProductItem[AccountID]) SetSKU(ctx context.Context, sku string) error
func (*BuiltinProductItem[AccountID]) ToBuiltinObject ¶
func (item *BuiltinProductItem[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductItem[AccountID], error)
func (*BuiltinProductItem[AccountID]) ToFormObject ¶
func (item *BuiltinProductItem[AccountID]) ToFormObject(ctx context.Context) (*ProductItemForm[AccountID], error)
type BuiltinProductItemSubscription ¶
type BuiltinProductItemSubscription[AccountID comparable] struct { ProductItemSubscriptionForm[AccountID] DB productItemSubscriptionDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinProductItemSubscription[AccountID]) ApplyFormObject ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) ApplyFormObject(ctx context.Context, form *ProductItemSubscriptionForm[AccountID]) error
func (*BuiltinProductItemSubscription[AccountID]) Cancel ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) Cancel(ctx context.Context) error
func (*BuiltinProductItemSubscription[AccountID]) Close ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) Close(ctx context.Context) error
func (*BuiltinProductItemSubscription[AccountID]) GetDuration ¶
func (*BuiltinProductItemSubscription[AccountID]) GetExpiresAt ¶
func (*BuiltinProductItemSubscription[AccountID]) GetID ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinProductItemSubscription[AccountID]) GetProductItem ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) GetProductItem(ctx context.Context) (ProductItem[AccountID], error)
func (*BuiltinProductItemSubscription[AccountID]) GetSubscribedAt ¶
func (*BuiltinProductItemSubscription[AccountID]) GetSubscriptionType ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) GetSubscriptionType(ctx context.Context) (string, error)
func (*BuiltinProductItemSubscription[AccountID]) GetUserAccountID ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinProductItemSubscription[AccountID]) Init ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) Init(ctx context.Context) error
func (*BuiltinProductItemSubscription[AccountID]) IsActive ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) IsActive(ctx context.Context) (bool, error)
func (*BuiltinProductItemSubscription[AccountID]) IsAutoRenew ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) IsAutoRenew(ctx context.Context) (bool, error)
func (*BuiltinProductItemSubscription[AccountID]) IsExpired ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) IsExpired(ctx context.Context) (bool, error)
func (*BuiltinProductItemSubscription[AccountID]) Pulse ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinProductItemSubscription[AccountID]) SetActive ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) SetActive(ctx context.Context, isActive bool) error
func (*BuiltinProductItemSubscription[AccountID]) SetAutoRenew ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) SetAutoRenew(ctx context.Context, autoRenew bool) error
func (*BuiltinProductItemSubscription[AccountID]) SetDuration ¶
func (*BuiltinProductItemSubscription[AccountID]) SetExpiresAt ¶
func (*BuiltinProductItemSubscription[AccountID]) SetProductItem ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) SetProductItem(ctx context.Context, productItem ProductItem[AccountID]) error
func (*BuiltinProductItemSubscription[AccountID]) SetSubscribedAt ¶
func (*BuiltinProductItemSubscription[AccountID]) SetSubscriptionType ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) SetSubscriptionType(ctx context.Context, subscriptionType string) error
func (*BuiltinProductItemSubscription[AccountID]) ToBuiltinObject ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductItemSubscription[AccountID], error)
func (*BuiltinProductItemSubscription[AccountID]) ToFormObject ¶
func (subscription *BuiltinProductItemSubscription[AccountID]) ToFormObject(ctx context.Context) (*ProductItemSubscriptionForm[AccountID], error)
type BuiltinProductItemSubscriptionManager ¶
type BuiltinProductItemSubscriptionManager[AccountID comparable] struct { DB productItemSubscriptionDatabase[AccountID] FS FileStorage RenewalHandler RenewalHandlerFunc[AccountID] MU sync.RWMutex }
func NewBuiltinProductItemSubscriptionManager ¶
func NewBuiltinProductItemSubscriptionManager[AccountID comparable](db productItemSubscriptionDatabase[AccountID], fs FileStorage, renewalHandler RenewalHandlerFunc[AccountID]) *BuiltinProductItemSubscriptionManager[AccountID]
func (*BuiltinProductItemSubscriptionManager[AccountID]) Close ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptionCount ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptionCount(ctx context.Context, productItem ProductItem[AccountID]) (uint64, error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptionWithID ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptionWithID(ctx context.Context, sid uint64, fill bool) (ProductItemSubscription[AccountID], error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptions ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetProductItemSubscriptions(ctx context.Context, productItem ProductItem[AccountID], subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetSubscriptionCount ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetSubscriptionCount(ctx context.Context) (uint64, error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetSubscriptions ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetSubscriptions(ctx context.Context, subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetUserSubscriptionCount ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetUserSubscriptionCount(ctx context.Context, account UserAccount[AccountID]) (uint64, error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) GetUserSubscriptions ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) GetUserSubscriptions(ctx context.Context, account UserAccount[AccountID], subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) Init ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) NewSubscription ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) NewSubscription(ctx context.Context, account UserAccount[AccountID], productItem ProductItem[AccountID], duration time.Duration, subscriptionType string, autoRenew bool) (ProductItemSubscription[AccountID], error)
func (*BuiltinProductItemSubscriptionManager[AccountID]) ProcessExpiredSubscriptions ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) ProcessExpiredSubscriptions(ctx context.Context) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) Pulse ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) RemoveAllSubscriptions ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) RemoveAllSubscriptions(ctx context.Context) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) RemoveSubscription ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) RemoveSubscription(ctx context.Context, subscription ProductItemSubscription[AccountID]) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) SetRenewalHandler ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) SetRenewalHandler(ctx context.Context, handler RenewalHandlerFunc[AccountID]) error
func (*BuiltinProductItemSubscriptionManager[AccountID]) ToBuiltinObject ¶
func (manager *BuiltinProductItemSubscriptionManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductItemSubscriptionManager[AccountID], error)
type BuiltinProductManager ¶
type BuiltinProductManager[AccountID comparable] struct { DB productManagerDatabase[AccountID] FS FileStorage }
func NewBuiltinProductManager ¶
func NewBuiltinProductManager[AccountID comparable](db productManagerDatabase[AccountID], fs FileStorage) *BuiltinProductManager[AccountID]
func (*BuiltinProductManager[AccountID]) Close ¶
func (productManager *BuiltinProductManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinProductManager[AccountID]) GetProductCategories ¶
func (productManager *BuiltinProductManager[AccountID]) GetProductCategories(ctx context.Context, categories []ProductCategory[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductCategory[AccountID], error)
func (*BuiltinProductManager[AccountID]) GetProductCategoryCount ¶
func (productManager *BuiltinProductManager[AccountID]) GetProductCategoryCount(ctx context.Context) (uint64, error)
func (*BuiltinProductManager[AccountID]) GetProductCategoryWithID ¶
func (productManager *BuiltinProductManager[AccountID]) GetProductCategoryWithID(ctx context.Context, cid uint64, fill bool) (ProductCategory[AccountID], error)
func (*BuiltinProductManager[AccountID]) GetProductItemWithID ¶
func (productManager *BuiltinProductManager[AccountID]) GetProductItemWithID(ctx context.Context, iid uint64, fill bool) (ProductItem[AccountID], error)
func (*BuiltinProductManager[AccountID]) GetProductWithID ¶
func (*BuiltinProductManager[AccountID]) Init ¶
func (productManager *BuiltinProductManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinProductManager[AccountID]) NewProductCategory ¶
func (productManager *BuiltinProductManager[AccountID]) NewProductCategory(ctx context.Context, name string, parentCategory ProductCategory[AccountID]) (ProductCategory[AccountID], error)
func (*BuiltinProductManager[AccountID]) Pulse ¶
func (productManager *BuiltinProductManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinProductManager[AccountID]) RemoveAllProductCategroies ¶
func (productManager *BuiltinProductManager[AccountID]) RemoveAllProductCategroies(ctx context.Context) error
func (*BuiltinProductManager[AccountID]) RemoveProductCategory ¶
func (productManager *BuiltinProductManager[AccountID]) RemoveProductCategory(ctx context.Context, category ProductCategory[AccountID]) error
func (*BuiltinProductManager[AccountID]) SearchForProductCategories ¶
func (productManager *BuiltinProductManager[AccountID]) SearchForProductCategories(ctx context.Context, searchText string, deepSearch bool, categories []ProductCategory[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductCategory[AccountID], error)
func (*BuiltinProductManager[AccountID]) SearchForProductItems ¶
func (productManager *BuiltinProductManager[AccountID]) SearchForProductItems(ctx context.Context, searchText string, deepSearch bool, items []ProductItem[AccountID], skip int64, limit int64, queueOrder QueueOrder, product Product[AccountID], category ProductCategory[AccountID]) ([]ProductItem[AccountID], error)
func (*BuiltinProductManager[AccountID]) SearchForProducts ¶
func (productManager *BuiltinProductManager[AccountID]) SearchForProducts(ctx context.Context, searchText string, deepSearch bool, products []Product[AccountID], skip int64, limit int64, queueOrder QueueOrder, category ProductCategory[AccountID]) ([]Product[AccountID], error)
func (*BuiltinProductManager[AccountID]) ToBuiltinObject ¶
func (productManager *BuiltinProductManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinProductManager[AccountID], error)
type BuiltinShippingMethod ¶
type BuiltinShippingMethod struct {
ShippingMethodForm
DB DBShippingMethod `json:"-"`
MU sync.RWMutex `json:"-"`
}
func (*BuiltinShippingMethod) ApplyFormObject ¶
func (shippingMethod *BuiltinShippingMethod) ApplyFormObject(ctx context.Context, form *ShippingMethodForm) error
func (*BuiltinShippingMethod) Close ¶
func (shippingMethod *BuiltinShippingMethod) Close(ctx context.Context) error
func (*BuiltinShippingMethod) GetID ¶
func (shippingMethod *BuiltinShippingMethod) GetID(ctx context.Context) (uint64, error)
func (*BuiltinShippingMethod) GetName ¶
func (shippingMethod *BuiltinShippingMethod) GetName(ctx context.Context) (string, error)
func (*BuiltinShippingMethod) GetPrice ¶
func (shippingMethod *BuiltinShippingMethod) GetPrice(ctx context.Context) (float64, error)
func (*BuiltinShippingMethod) Init ¶
func (shippingMethod *BuiltinShippingMethod) Init(ctx context.Context) error
func (*BuiltinShippingMethod) Pulse ¶
func (shippingMethod *BuiltinShippingMethod) Pulse(ctx context.Context) error
func (*BuiltinShippingMethod) SetName ¶
func (shippingMethod *BuiltinShippingMethod) SetName(ctx context.Context, name string) error
func (*BuiltinShippingMethod) SetPrice ¶
func (shippingMethod *BuiltinShippingMethod) SetPrice(ctx context.Context, price float64) error
func (*BuiltinShippingMethod) ToBuiltinObject ¶
func (shippingMethod *BuiltinShippingMethod) ToBuiltinObject(ctx context.Context) (*BuiltinShippingMethod, error)
func (*BuiltinShippingMethod) ToFormObject ¶
func (shippingMethod *BuiltinShippingMethod) ToFormObject(ctx context.Context) (*ShippingMethodForm, error)
type BuiltinShippingMethodManager ¶
type BuiltinShippingMethodManager struct {
DB shippingMethodDatabase
}
func NewBuiltinShippingMethodManager ¶
func NewBuiltinShippingMethodManager(db shippingMethodDatabase) *BuiltinShippingMethodManager
func (*BuiltinShippingMethodManager) Close ¶
func (shippingMethodManager *BuiltinShippingMethodManager) Close(ctx context.Context) error
func (*BuiltinShippingMethodManager) ExistsShippingMethod ¶
func (*BuiltinShippingMethodManager) GetShippingMethodByName ¶
func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethodByName(ctx context.Context, name string) (ShippingMethod, error)
func (*BuiltinShippingMethodManager) GetShippingMethodCount ¶
func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethodCount(ctx context.Context) (uint64, error)
func (*BuiltinShippingMethodManager) GetShippingMethodWithID ¶
func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethodWithID(ctx context.Context, sid uint64, fill bool) (ShippingMethod, error)
func (*BuiltinShippingMethodManager) GetShippingMethods ¶
func (shippingMethodManager *BuiltinShippingMethodManager) GetShippingMethods(ctx context.Context, shippingMethodes []ShippingMethod, skip int64, limit int64, queueOrder QueueOrder) ([]ShippingMethod, error)
func (*BuiltinShippingMethodManager) Init ¶
func (shippingMethodManager *BuiltinShippingMethodManager) Init(ctx context.Context) error
func (*BuiltinShippingMethodManager) NewShippingMethod ¶
func (shippingMethodManager *BuiltinShippingMethodManager) NewShippingMethod(ctx context.Context, name string, price float64) (ShippingMethod, error)
func (*BuiltinShippingMethodManager) Pulse ¶
func (shippingMethodManager *BuiltinShippingMethodManager) Pulse(ctx context.Context) error
func (*BuiltinShippingMethodManager) RemoveAllShippingMethods ¶
func (shippingMethodManager *BuiltinShippingMethodManager) RemoveAllShippingMethods(ctx context.Context) error
func (*BuiltinShippingMethodManager) RemoveShippingMethod ¶
func (shippingMethodManager *BuiltinShippingMethodManager) RemoveShippingMethod(ctx context.Context, method ShippingMethod) error
func (*BuiltinShippingMethodManager) ToBuiltinObject ¶
func (shippingMethodManager *BuiltinShippingMethodManager) ToBuiltinObject(ctx context.Context) (*BuiltinShippingMethodManager, error)
type BuiltinUserAccount ¶
type BuiltinUserAccount[AccountID comparable] struct { UserAccountForm[AccountID] DB userAccountDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` OrderStatusManager OrderStatusManager `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserAccount[AccountID]) AllowTrading ¶
func (account *BuiltinUserAccount[AccountID]) AllowTrading(ctx context.Context, state bool) error
func (*BuiltinUserAccount[AccountID]) ApplyFormObject ¶
func (account *BuiltinUserAccount[AccountID]) ApplyFormObject(ctx context.Context, form *UserAccountForm[AccountID]) error
func (*BuiltinUserAccount[AccountID]) CalculateTotalDepts ¶
func (account *BuiltinUserAccount[AccountID]) CalculateTotalDepts(ctx context.Context) (currency float64, err error)
func (*BuiltinUserAccount[AccountID]) CalculateTotalDeptsWithoutPenalty ¶
func (account *BuiltinUserAccount[AccountID]) CalculateTotalDeptsWithoutPenalty(ctx context.Context) (currency float64, err error)
func (*BuiltinUserAccount[AccountID]) ChargeWallet ¶
func (account *BuiltinUserAccount[AccountID]) ChargeWallet(ctx context.Context, currency float64) error
func (*BuiltinUserAccount[AccountID]) Close ¶
func (account *BuiltinUserAccount[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) Fine ¶
func (account *BuiltinUserAccount[AccountID]) Fine(ctx context.Context, amount float64) error
func (*BuiltinUserAccount[AccountID]) GetAddressCount ¶
func (account *BuiltinUserAccount[AccountID]) GetAddressCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetAddresses ¶
func (account *BuiltinUserAccount[AccountID]) GetAddresses(ctx context.Context, addresses []UserAddress[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserAddress[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetBio ¶
func (account *BuiltinUserAccount[AccountID]) GetBio(ctx context.Context) (string, error)
func (*BuiltinUserAccount[AccountID]) GetDefaultAddress ¶
func (account *BuiltinUserAccount[AccountID]) GetDefaultAddress(ctx context.Context) (UserAddress[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetDefaultPaymentMethod ¶
func (account *BuiltinUserAccount[AccountID]) GetDefaultPaymentMethod(ctx context.Context) (UserPaymentMethod[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetDiscountCount ¶
func (account *BuiltinUserAccount[AccountID]) GetDiscountCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetDiscounts ¶
func (account *BuiltinUserAccount[AccountID]) GetDiscounts(ctx context.Context, discounts []UserDiscount[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserDiscount[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetFirstName ¶
func (account *BuiltinUserAccount[AccountID]) GetFirstName(ctx context.Context) (string, error)
func (*BuiltinUserAccount[AccountID]) GetID ¶
func (account *BuiltinUserAccount[AccountID]) GetID(ctx context.Context) (AccountID, error)
func (*BuiltinUserAccount[AccountID]) GetLastName ¶
func (account *BuiltinUserAccount[AccountID]) GetLastName(ctx context.Context) (string, error)
func (*BuiltinUserAccount[AccountID]) GetLastUpdatedAt ¶
func (*BuiltinUserAccount[AccountID]) GetOrderCount ¶
func (account *BuiltinUserAccount[AccountID]) GetOrderCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetOrders ¶
func (account *BuiltinUserAccount[AccountID]) GetOrders(ctx context.Context, orders []UserOrder[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserOrder[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetPassword ¶
func (account *BuiltinUserAccount[AccountID]) GetPassword(ctx context.Context) (string, error)
func (*BuiltinUserAccount[AccountID]) GetPaymentMethodCount ¶
func (account *BuiltinUserAccount[AccountID]) GetPaymentMethodCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetPaymentMethods ¶
func (account *BuiltinUserAccount[AccountID]) GetPaymentMethods(ctx context.Context, paymentMethods []UserPaymentMethod[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserPaymentMethod[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetProfileImages ¶
func (account *BuiltinUserAccount[AccountID]) GetProfileImages(ctx context.Context) ([]FileReadCloser, error)
func (*BuiltinUserAccount[AccountID]) GetRole ¶
func (account *BuiltinUserAccount[AccountID]) GetRole(ctx context.Context) (UserRole, error)
func (*BuiltinUserAccount[AccountID]) GetShoppingCartCount ¶
func (account *BuiltinUserAccount[AccountID]) GetShoppingCartCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetShoppingCarts ¶
func (account *BuiltinUserAccount[AccountID]) GetShoppingCarts(ctx context.Context, outCarts []UserShoppingCart[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserShoppingCart[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetSubscriptionCount ¶
func (account *BuiltinUserAccount[AccountID]) GetSubscriptionCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetSubscriptions ¶
func (account *BuiltinUserAccount[AccountID]) GetSubscriptions(ctx context.Context, subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetToken ¶
func (account *BuiltinUserAccount[AccountID]) GetToken(ctx context.Context) (string, error)
func (*BuiltinUserAccount[AccountID]) GetUserFactorCount ¶
func (account *BuiltinUserAccount[AccountID]) GetUserFactorCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetUserFactors ¶
func (account *BuiltinUserAccount[AccountID]) GetUserFactors(ctx context.Context, factors []UserFactor[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserFactor[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetUserLevel ¶
func (account *BuiltinUserAccount[AccountID]) GetUserLevel(ctx context.Context) (int64, error)
func (*BuiltinUserAccount[AccountID]) GetUserReviewCount ¶
func (account *BuiltinUserAccount[AccountID]) GetUserReviewCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccount[AccountID]) GetUserReviews ¶
func (account *BuiltinUserAccount[AccountID]) GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error)
func (*BuiltinUserAccount[AccountID]) GetWalletCurrency ¶
func (account *BuiltinUserAccount[AccountID]) GetWalletCurrency(ctx context.Context) (float64, error)
func (*BuiltinUserAccount[AccountID]) HasPenalty ¶
func (account *BuiltinUserAccount[AccountID]) HasPenalty(ctx context.Context) (bool, error)
func (*BuiltinUserAccount[AccountID]) Init ¶
func (account *BuiltinUserAccount[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) IsActive ¶
func (account *BuiltinUserAccount[AccountID]) IsActive(ctx context.Context) (bool, error)
func (*BuiltinUserAccount[AccountID]) IsBanned ¶
func (account *BuiltinUserAccount[AccountID]) IsBanned(ctx context.Context) (reason string, err error)
func (*BuiltinUserAccount[AccountID]) IsSuperUser ¶
func (account *BuiltinUserAccount[AccountID]) IsSuperUser(ctx context.Context) (bool, error)
func (*BuiltinUserAccount[AccountID]) IsTradingAllowed ¶
func (account *BuiltinUserAccount[AccountID]) IsTradingAllowed(ctx context.Context) (bool, error)
func (*BuiltinUserAccount[AccountID]) NewAddress ¶
func (*BuiltinUserAccount[AccountID]) NewDiscount ¶
func (account *BuiltinUserAccount[AccountID]) NewDiscount(ctx context.Context, value float64, validCount int64) (UserDiscount[AccountID], error)
func (*BuiltinUserAccount[AccountID]) NewPaymentMethod ¶
func (account *BuiltinUserAccount[AccountID]) NewPaymentMethod(ctx context.Context, paymentType PaymentType, provider string, accoutNumber string, expiryDate time.Time, isDefault bool) (UserPaymentMethod[AccountID], error)
func (*BuiltinUserAccount[AccountID]) NewShoppingCart ¶
func (account *BuiltinUserAccount[AccountID]) NewShoppingCart(ctx context.Context, sessionText string) (UserShoppingCart[AccountID], error)
func (*BuiltinUserAccount[AccountID]) Pulse ¶
func (account *BuiltinUserAccount[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveAddress ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAddress(ctx context.Context, address UserAddress[AccountID]) error
func (*BuiltinUserAccount[AccountID]) RemoveAllAddresses ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAllAddresses(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveAllDiscounts ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAllDiscounts(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveAllOrders ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAllOrders(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveAllPaymentMethods ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAllPaymentMethods(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveAllShoppingCarts ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAllShoppingCarts(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveAllSubscriptions ¶
func (account *BuiltinUserAccount[AccountID]) RemoveAllSubscriptions(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) RemoveDiscount ¶
func (account *BuiltinUserAccount[AccountID]) RemoveDiscount(ctx context.Context, discount UserDiscount[AccountID]) error
func (*BuiltinUserAccount[AccountID]) RemoveOrder ¶
func (account *BuiltinUserAccount[AccountID]) RemoveOrder(ctx context.Context, order UserOrder[AccountID]) error
func (*BuiltinUserAccount[AccountID]) RemovePaymentMethod ¶
func (account *BuiltinUserAccount[AccountID]) RemovePaymentMethod(ctx context.Context, paymentMethod UserPaymentMethod[AccountID]) error
func (*BuiltinUserAccount[AccountID]) RemoveShoppingCart ¶
func (account *BuiltinUserAccount[AccountID]) RemoveShoppingCart(ctx context.Context, cart UserShoppingCart[AccountID]) error
func (*BuiltinUserAccount[AccountID]) RemoveSubscription ¶
func (account *BuiltinUserAccount[AccountID]) RemoveSubscription(ctx context.Context, subscription ProductItemSubscription[AccountID]) error
func (*BuiltinUserAccount[AccountID]) SetActive ¶
func (account *BuiltinUserAccount[AccountID]) SetActive(ctx context.Context, state bool) error
func (*BuiltinUserAccount[AccountID]) SetBio ¶
func (account *BuiltinUserAccount[AccountID]) SetBio(ctx context.Context, bio string) error
func (*BuiltinUserAccount[AccountID]) SetFirstName ¶
func (account *BuiltinUserAccount[AccountID]) SetFirstName(ctx context.Context, name string) error
func (*BuiltinUserAccount[AccountID]) SetLastName ¶
func (account *BuiltinUserAccount[AccountID]) SetLastName(ctx context.Context, name string) error
func (*BuiltinUserAccount[AccountID]) SetLastUpdatedAt ¶
func (*BuiltinUserAccount[AccountID]) SetPassword ¶
func (account *BuiltinUserAccount[AccountID]) SetPassword(ctx context.Context, password string) error
func (*BuiltinUserAccount[AccountID]) SetPenalty ¶
func (account *BuiltinUserAccount[AccountID]) SetPenalty(ctx context.Context, penalty float64) error
func (*BuiltinUserAccount[AccountID]) SetProfileImages ¶
func (account *BuiltinUserAccount[AccountID]) SetProfileImages(ctx context.Context, images []FileReader) error
func (*BuiltinUserAccount[AccountID]) SetRole ¶
func (account *BuiltinUserAccount[AccountID]) SetRole(ctx context.Context, role UserRole) error
func (*BuiltinUserAccount[AccountID]) SetSuperUser ¶
func (account *BuiltinUserAccount[AccountID]) SetSuperUser(ctx context.Context, state bool) error
func (*BuiltinUserAccount[AccountID]) SetToken ¶
func (account *BuiltinUserAccount[AccountID]) SetToken(ctx context.Context, token string) error
func (*BuiltinUserAccount[AccountID]) SetUserLevel ¶
func (account *BuiltinUserAccount[AccountID]) SetUserLevel(ctx context.Context, level int64) error
func (*BuiltinUserAccount[AccountID]) SetWalletCurrency ¶
func (account *BuiltinUserAccount[AccountID]) SetWalletCurrency(ctx context.Context, currency float64) error
func (*BuiltinUserAccount[AccountID]) ToBuiltinObject ¶
func (account *BuiltinUserAccount[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAccount[AccountID], error)
func (*BuiltinUserAccount[AccountID]) ToFormObject ¶
func (account *BuiltinUserAccount[AccountID]) ToFormObject(ctx context.Context) (*UserAccountForm[AccountID], error)
func (*BuiltinUserAccount[AccountID]) TransferCurrency ¶
func (account *BuiltinUserAccount[AccountID]) TransferCurrency(ctx context.Context, to UserAccount[AccountID], amount float64) error
func (*BuiltinUserAccount[AccountID]) Unban ¶
func (account *BuiltinUserAccount[AccountID]) Unban(ctx context.Context) error
func (*BuiltinUserAccount[AccountID]) ValidatePassword ¶
type BuiltinUserAccountManager ¶
type BuiltinUserAccountManager[AccountID comparable] struct { DB userAccountManagerDatabase[AccountID] FS FileStorage OTP *otp.OTP OTPTTL time.Duration OrderStatusManager OrderStatusManager }
func NewBuiltinUserAccountManager ¶
func NewBuiltinUserAccountManager[AccountID comparable]( db userAccountManagerDatabase[AccountID], fs FileStorage, codeLength int32, tokenLength int32, otpTTL time.Duration, osm OrderStatusManager, ) (*BuiltinUserAccountManager[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) Authenticate ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) Authenticate(ctx context.Context, token string, password string, twoFactor string) (UserAccount[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) CancelTwoFactor ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) CancelTwoFactor(ctx context.Context, token string) error
func (*BuiltinUserAccountManager[AccountID]) Close ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserAccountManager[AccountID]) GetAccount ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccount(ctx context.Context, token string) (UserAccount[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) GetAccountCount ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccountCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAccountManager[AccountID]) GetAccountWithID ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccountWithID(ctx context.Context, aid AccountID, fill bool) (UserAccount[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) GetAccounts ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) GetAccounts(ctx context.Context, accounts []UserAccount[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserAccount[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) Init ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserAccountManager[AccountID]) NewAccount ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) NewAccount(ctx context.Context, token string, password string, twoFactor string) (UserAccount[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) Pulse ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserAccountManager[AccountID]) RemoveAccount ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) RemoveAccount(ctx context.Context, account UserAccount[AccountID]) error
func (*BuiltinUserAccountManager[AccountID]) RemoveAccountWithToken ¶
func (*BuiltinUserAccountManager[AccountID]) RemoveAllAccounts ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) RemoveAllAccounts(ctx context.Context) error
func (*BuiltinUserAccountManager[AccountID]) RequestTwoFactor ¶
func (*BuiltinUserAccountManager[AccountID]) ToBuiltinObject ¶
func (accountManager *BuiltinUserAccountManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAccountManager[AccountID], error)
func (*BuiltinUserAccountManager[AccountID]) ValidateTwoFactor ¶
type BuiltinUserAddress ¶
type BuiltinUserAddress[AccountID comparable] struct { UserAddressForm[AccountID] DB userAddressDatabase[AccountID] `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserAddress[AccountID]) ApplyFormObject ¶
func (address *BuiltinUserAddress[AccountID]) ApplyFormObject(ctx context.Context, form *UserAddressForm[AccountID]) error
func (*BuiltinUserAddress[AccountID]) Close ¶
func (address *BuiltinUserAddress[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserAddress[AccountID]) GetAddressLine1 ¶
func (address *BuiltinUserAddress[AccountID]) GetAddressLine1(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetAddressLine2 ¶
func (address *BuiltinUserAddress[AccountID]) GetAddressLine2(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetCity ¶
func (address *BuiltinUserAddress[AccountID]) GetCity(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetCountry ¶
func (address *BuiltinUserAddress[AccountID]) GetCountry(ctx context.Context) (Country, error)
func (*BuiltinUserAddress[AccountID]) GetID ¶
func (address *BuiltinUserAddress[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserAddress[AccountID]) GetPostalCode ¶
func (address *BuiltinUserAddress[AccountID]) GetPostalCode(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetRegion ¶
func (address *BuiltinUserAddress[AccountID]) GetRegion(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetStreetNumber ¶
func (address *BuiltinUserAddress[AccountID]) GetStreetNumber(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetUnitNumber ¶
func (address *BuiltinUserAddress[AccountID]) GetUnitNumber(ctx context.Context) (string, error)
func (*BuiltinUserAddress[AccountID]) GetUserAccountID ¶
func (address *BuiltinUserAddress[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserAddress[AccountID]) Init ¶
func (address *BuiltinUserAddress[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserAddress[AccountID]) IsDefault ¶
func (address *BuiltinUserAddress[AccountID]) IsDefault(ctx context.Context) (bool, error)
func (*BuiltinUserAddress[AccountID]) Pulse ¶
func (address *BuiltinUserAddress[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserAddress[AccountID]) SetAddressLine1 ¶
func (address *BuiltinUserAddress[AccountID]) SetAddressLine1(ctx context.Context, addressLine string) error
func (*BuiltinUserAddress[AccountID]) SetAddressLine2 ¶
func (address *BuiltinUserAddress[AccountID]) SetAddressLine2(ctx context.Context, addressLine string) error
func (*BuiltinUserAddress[AccountID]) SetCity ¶
func (address *BuiltinUserAddress[AccountID]) SetCity(ctx context.Context, city string) error
func (*BuiltinUserAddress[AccountID]) SetCountry ¶
func (address *BuiltinUserAddress[AccountID]) SetCountry(ctx context.Context, country Country) error
func (*BuiltinUserAddress[AccountID]) SetDefault ¶
func (address *BuiltinUserAddress[AccountID]) SetDefault(ctx context.Context) error
func (*BuiltinUserAddress[AccountID]) SetPostalCode ¶
func (address *BuiltinUserAddress[AccountID]) SetPostalCode(ctx context.Context, code string) error
func (*BuiltinUserAddress[AccountID]) SetRegion ¶
func (address *BuiltinUserAddress[AccountID]) SetRegion(ctx context.Context, region string) error
func (*BuiltinUserAddress[AccountID]) SetStreetNumber ¶
func (address *BuiltinUserAddress[AccountID]) SetStreetNumber(ctx context.Context, streetNumber string) error
func (*BuiltinUserAddress[AccountID]) SetUnitNumber ¶
func (address *BuiltinUserAddress[AccountID]) SetUnitNumber(ctx context.Context, unitNumber string) error
func (*BuiltinUserAddress[AccountID]) ToBuiltinObject ¶
func (address *BuiltinUserAddress[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAddress[AccountID], error)
func (*BuiltinUserAddress[AccountID]) ToFormObject ¶
func (address *BuiltinUserAddress[AccountID]) ToFormObject(ctx context.Context) (*UserAddressForm[AccountID], error)
type BuiltinUserAddressManager ¶
type BuiltinUserAddressManager[AccountID comparable] struct { DB userAddressManagerDatabase[AccountID] }
func NewBuiltinUserAddressManager ¶
func NewBuiltinUserAddressManager[AccountID comparable](db userAddressManagerDatabase[AccountID]) *BuiltinUserAddressManager[AccountID]
func (*BuiltinUserAddressManager[AccountID]) Close ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserAddressManager[AccountID]) GetAddressCount ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) GetAddressCount(ctx context.Context) (uint64, error)
func (*BuiltinUserAddressManager[AccountID]) GetAddressWithID ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) GetAddressWithID(ctx context.Context, aid uint64, fill bool) (UserAddress[AccountID], error)
func (*BuiltinUserAddressManager[AccountID]) GetAddresses ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) GetAddresses(ctx context.Context, addresses []UserAddress[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserAddress[AccountID], error)
func (*BuiltinUserAddressManager[AccountID]) Init ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserAddressManager[AccountID]) Pulse ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserAddressManager[AccountID]) RemoveAllAddresses ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) RemoveAllAddresses(ctx context.Context) error
func (*BuiltinUserAddressManager[AccountID]) ToBuiltinObject ¶
func (addressManager *BuiltinUserAddressManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserAddressManager[AccountID], error)
type BuiltinUserDiscount ¶
type BuiltinUserDiscount[AccountID comparable] struct { UserDiscountForm[AccountID] DB userDiscountDatabase[AccountID] `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserDiscount[AccountID]) ApplyFormObject ¶
func (discount *BuiltinUserDiscount[AccountID]) ApplyFormObject(ctx context.Context, form *UserDiscountForm[AccountID]) error
func (*BuiltinUserDiscount[AccountID]) Close ¶
func (discount *BuiltinUserDiscount[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserDiscount[AccountID]) DecrementValidCount ¶
func (discount *BuiltinUserDiscount[AccountID]) DecrementValidCount(ctx context.Context) error
func (*BuiltinUserDiscount[AccountID]) GetCode ¶
func (discount *BuiltinUserDiscount[AccountID]) GetCode(ctx context.Context) (string, error)
func (*BuiltinUserDiscount[AccountID]) GetID ¶
func (discount *BuiltinUserDiscount[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserDiscount[AccountID]) GetUsedBy ¶
func (discount *BuiltinUserDiscount[AccountID]) GetUsedBy(ctx context.Context) ([]AccountID, error)
func (*BuiltinUserDiscount[AccountID]) GetUserAccountID ¶
func (discount *BuiltinUserDiscount[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserDiscount[AccountID]) GetValidCount ¶
func (discount *BuiltinUserDiscount[AccountID]) GetValidCount(ctx context.Context) (int64, error)
func (*BuiltinUserDiscount[AccountID]) GetValue ¶
func (discount *BuiltinUserDiscount[AccountID]) GetValue(ctx context.Context) (float64, error)
func (*BuiltinUserDiscount[AccountID]) HasUserUsed ¶
func (discount *BuiltinUserDiscount[AccountID]) HasUserUsed(ctx context.Context, account UserAccount[AccountID]) (bool, error)
func (*BuiltinUserDiscount[AccountID]) Init ¶
func (discount *BuiltinUserDiscount[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserDiscount[AccountID]) MarkAsUsedBy ¶
func (discount *BuiltinUserDiscount[AccountID]) MarkAsUsedBy(ctx context.Context, account UserAccount[AccountID]) error
func (*BuiltinUserDiscount[AccountID]) Pulse ¶
func (discount *BuiltinUserDiscount[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserDiscount[AccountID]) SetCode ¶
func (discount *BuiltinUserDiscount[AccountID]) SetCode(ctx context.Context, code string) error
func (*BuiltinUserDiscount[AccountID]) SetValidCount ¶
func (discount *BuiltinUserDiscount[AccountID]) SetValidCount(ctx context.Context, validCount int64) error
func (*BuiltinUserDiscount[AccountID]) SetValue ¶
func (discount *BuiltinUserDiscount[AccountID]) SetValue(ctx context.Context, value float64) error
func (*BuiltinUserDiscount[AccountID]) ToBuiltinObject ¶
func (discount *BuiltinUserDiscount[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserDiscount[AccountID], error)
func (*BuiltinUserDiscount[AccountID]) ToFormObject ¶
func (discount *BuiltinUserDiscount[AccountID]) ToFormObject(ctx context.Context) (*UserDiscountForm[AccountID], error)
type BuiltinUserDiscountManager ¶
type BuiltinUserDiscountManager[AccountID comparable] struct { DB userDiscountManagerDatabase[AccountID] CodeLength int32 RandSrc *rand.Rand MU sync.Mutex }
func NewBuiltinUserDiscountManager ¶
func NewBuiltinUserDiscountManager[AccountID comparable](db userDiscountManagerDatabase[AccountID], codeLength int32) *BuiltinUserDiscountManager[AccountID]
func (*BuiltinUserDiscountManager[AccountID]) Close ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserDiscountManager[AccountID]) ExistsUserDiscountCode ¶
func (*BuiltinUserDiscountManager[AccountID]) GetUserDiscountByCode ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscountByCode(ctx context.Context, code string) (UserDiscount[AccountID], error)
func (*BuiltinUserDiscountManager[AccountID]) GetUserDiscountCount ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscountCount(ctx context.Context) (uint64, error)
func (*BuiltinUserDiscountManager[AccountID]) GetUserDiscountWithID ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscountWithID(ctx context.Context, did uint64, fill bool) (UserDiscount[AccountID], error)
func (*BuiltinUserDiscountManager[AccountID]) GetUserDiscounts ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) GetUserDiscounts(ctx context.Context, discounts []UserDiscount[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserDiscount[AccountID], error)
func (*BuiltinUserDiscountManager[AccountID]) Init ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserDiscountManager[AccountID]) NewUserDiscount ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) NewUserDiscount(ctx context.Context, ownerAccount UserAccount[AccountID], value float64, validCount int64) (UserDiscount[AccountID], error)
func (*BuiltinUserDiscountManager[AccountID]) Pulse ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserDiscountManager[AccountID]) RemoveAllUserDiscounts ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) RemoveAllUserDiscounts(ctx context.Context) error
func (*BuiltinUserDiscountManager[AccountID]) RemoveUserDiscount ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) RemoveUserDiscount(ctx context.Context, discount UserDiscount[AccountID]) error
func (*BuiltinUserDiscountManager[AccountID]) ToBuiltinObject ¶
func (discountManager *BuiltinUserDiscountManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserDiscountManager[AccountID], error)
type BuiltinUserFactor ¶
type BuiltinUserFactor[AccountID comparable] struct { UserFactorForm[AccountID] DB userFactorDatabase[AccountID] `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserFactor[AccountID]) ApplyFormObject ¶
func (factor *BuiltinUserFactor[AccountID]) ApplyFormObject(ctx context.Context, form *UserFactorForm[AccountID]) error
func (*BuiltinUserFactor[AccountID]) Close ¶
func (factor *BuiltinUserFactor[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserFactor[AccountID]) GetAmountPaid ¶
func (factor *BuiltinUserFactor[AccountID]) GetAmountPaid(ctx context.Context) (float64, error)
func (*BuiltinUserFactor[AccountID]) GetDiscount ¶
func (factor *BuiltinUserFactor[AccountID]) GetDiscount(ctx context.Context) (float64, error)
func (*BuiltinUserFactor[AccountID]) GetID ¶
func (factor *BuiltinUserFactor[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserFactor[AccountID]) GetProducts ¶
func (factor *BuiltinUserFactor[AccountID]) GetProducts(ctx context.Context) (json.RawMessage, error)
func (*BuiltinUserFactor[AccountID]) GetTax ¶
func (factor *BuiltinUserFactor[AccountID]) GetTax(ctx context.Context) (float64, error)
func (*BuiltinUserFactor[AccountID]) GetUserAccountID ¶
func (factor *BuiltinUserFactor[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserFactor[AccountID]) Init ¶
func (factor *BuiltinUserFactor[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserFactor[AccountID]) Pulse ¶
func (factor *BuiltinUserFactor[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserFactor[AccountID]) SetAmountPaid ¶
func (factor *BuiltinUserFactor[AccountID]) SetAmountPaid(ctx context.Context, amountPaid float64) error
func (*BuiltinUserFactor[AccountID]) SetDiscount ¶
func (factor *BuiltinUserFactor[AccountID]) SetDiscount(ctx context.Context, discount float64) error
func (*BuiltinUserFactor[AccountID]) SetProducts ¶
func (factor *BuiltinUserFactor[AccountID]) SetProducts(ctx context.Context, products json.RawMessage) error
func (*BuiltinUserFactor[AccountID]) SetTax ¶
func (factor *BuiltinUserFactor[AccountID]) SetTax(ctx context.Context, tax float64) error
func (*BuiltinUserFactor[AccountID]) ToBuiltinObject ¶
func (factor *BuiltinUserFactor[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserFactor[AccountID], error)
func (*BuiltinUserFactor[AccountID]) ToFormObject ¶
func (factor *BuiltinUserFactor[AccountID]) ToFormObject(ctx context.Context) (*UserFactorForm[AccountID], error)
type BuiltinUserFactorManager ¶
type BuiltinUserFactorManager[AccountID comparable] struct { DB userFactorManagerDatabase[AccountID] }
func NewBuiltinUserFactorManager ¶
func NewBuiltinUserFactorManager[AccountID comparable](db userFactorManagerDatabase[AccountID]) *BuiltinUserFactorManager[AccountID]
func (*BuiltinUserFactorManager[AccountID]) Close ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserFactorManager[AccountID]) GetFactorWithID ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) GetFactorWithID(ctx context.Context, fid uint64, fill bool) (UserFactor[AccountID], error)
func (*BuiltinUserFactorManager[AccountID]) GetUserFactorCount ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) GetUserFactorCount(ctx context.Context, account UserAccount[AccountID]) (uint64, error)
func (*BuiltinUserFactorManager[AccountID]) GetUserFactors ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) GetUserFactors(ctx context.Context, account UserAccount[AccountID], factors []UserFactor[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserFactor[AccountID], error)
func (*BuiltinUserFactorManager[AccountID]) Init ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserFactorManager[AccountID]) Pulse ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserFactorManager[AccountID]) RemoveAllUserFactors ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) RemoveAllUserFactors(ctx context.Context) error
func (*BuiltinUserFactorManager[AccountID]) ToBuiltinObject ¶
func (factorManager *BuiltinUserFactorManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserFactorManager[AccountID], error)
type BuiltinUserOrder ¶
type BuiltinUserOrder[AccountID comparable] struct { UserOrderForm[AccountID] OrderStatusManager OrderStatusManager `json:"-"` DB userOrderDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserOrder[AccountID]) ApplyFormObject ¶
func (order *BuiltinUserOrder[AccountID]) ApplyFormObject(ctx context.Context, form *UserOrderForm[AccountID]) error
func (*BuiltinUserOrder[AccountID]) CalculateTotalPrice ¶
func (order *BuiltinUserOrder[AccountID]) CalculateTotalPrice(ctx context.Context) (float64, error)
func (*BuiltinUserOrder[AccountID]) Close ¶
func (order *BuiltinUserOrder[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserOrder[AccountID]) GetDeliveryComment ¶
func (order *BuiltinUserOrder[AccountID]) GetDeliveryComment(ctx context.Context) (string, error)
func (*BuiltinUserOrder[AccountID]) GetDeliveryDate ¶
func (*BuiltinUserOrder[AccountID]) GetID ¶
func (order *BuiltinUserOrder[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserOrder[AccountID]) GetOrderDate ¶
func (*BuiltinUserOrder[AccountID]) GetOrderTotal ¶
func (order *BuiltinUserOrder[AccountID]) GetOrderTotal(ctx context.Context) (float64, error)
func (*BuiltinUserOrder[AccountID]) GetPaymentMethod ¶
func (order *BuiltinUserOrder[AccountID]) GetPaymentMethod(ctx context.Context) (UserPaymentMethod[AccountID], error)
func (*BuiltinUserOrder[AccountID]) GetProductItemCount ¶
func (order *BuiltinUserOrder[AccountID]) GetProductItemCount(ctx context.Context) (uint64, error)
func (*BuiltinUserOrder[AccountID]) GetProductItems ¶
func (order *BuiltinUserOrder[AccountID]) GetProductItems(ctx context.Context, items []UserOrderProductItem[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserOrderProductItem[AccountID], error)
func (*BuiltinUserOrder[AccountID]) GetShippingAddress ¶
func (order *BuiltinUserOrder[AccountID]) GetShippingAddress(ctx context.Context) (UserAddress[AccountID], error)
func (*BuiltinUserOrder[AccountID]) GetShippingMethod ¶
func (order *BuiltinUserOrder[AccountID]) GetShippingMethod(ctx context.Context) (ShippingMethod, error)
func (*BuiltinUserOrder[AccountID]) GetStatus ¶
func (order *BuiltinUserOrder[AccountID]) GetStatus(ctx context.Context) (OrderStatus, error)
func (*BuiltinUserOrder[AccountID]) GetUserAccountID ¶
func (order *BuiltinUserOrder[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserOrder[AccountID]) GetUserComment ¶
func (order *BuiltinUserOrder[AccountID]) GetUserComment(ctx context.Context) (string, error)
func (*BuiltinUserOrder[AccountID]) Init ¶
func (order *BuiltinUserOrder[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserOrder[AccountID]) IsDeliveried ¶
func (order *BuiltinUserOrder[AccountID]) IsDeliveried(ctx context.Context) (bool, error)
func (*BuiltinUserOrder[AccountID]) Pulse ¶
func (order *BuiltinUserOrder[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserOrder[AccountID]) SetDeliveryComment ¶
func (order *BuiltinUserOrder[AccountID]) SetDeliveryComment(ctx context.Context, comment string) error
func (*BuiltinUserOrder[AccountID]) SetDeliveryDate ¶
func (*BuiltinUserOrder[AccountID]) SetOrderDate ¶
func (*BuiltinUserOrder[AccountID]) SetOrderTotal ¶
func (order *BuiltinUserOrder[AccountID]) SetOrderTotal(ctx context.Context, price float64) error
func (*BuiltinUserOrder[AccountID]) SetPaymentMethod ¶
func (order *BuiltinUserOrder[AccountID]) SetPaymentMethod(ctx context.Context, paymentMethod UserPaymentMethod[AccountID]) error
func (*BuiltinUserOrder[AccountID]) SetProductItems ¶
func (order *BuiltinUserOrder[AccountID]) SetProductItems(ctx context.Context, items []UserOrderProductItem[AccountID]) error
func (*BuiltinUserOrder[AccountID]) SetShippingAddress ¶
func (order *BuiltinUserOrder[AccountID]) SetShippingAddress(ctx context.Context, address UserAddress[AccountID]) error
func (*BuiltinUserOrder[AccountID]) SetShippingMethod ¶
func (order *BuiltinUserOrder[AccountID]) SetShippingMethod(ctx context.Context, shippingMethod ShippingMethod) error
func (*BuiltinUserOrder[AccountID]) SetStatus ¶
func (order *BuiltinUserOrder[AccountID]) SetStatus(ctx context.Context, status OrderStatus) error
func (*BuiltinUserOrder[AccountID]) SetUserComment ¶
func (order *BuiltinUserOrder[AccountID]) SetUserComment(ctx context.Context, comment string) error
func (*BuiltinUserOrder[AccountID]) ToBuiltinObject ¶
func (order *BuiltinUserOrder[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserOrder[AccountID], error)
func (*BuiltinUserOrder[AccountID]) ToFormObject ¶
func (order *BuiltinUserOrder[AccountID]) ToFormObject(ctx context.Context) (*UserOrderForm[AccountID], error)
type BuiltinUserOrderManager ¶
type BuiltinUserOrderManager[AccountID comparable] struct { DB userOrderManagerDatabase[AccountID] FS FileStorage OrderStatusManager OrderStatusManager }
func NewBuiltinUserOrderManager ¶
func NewBuiltinUserOrderManager[AccountID comparable](db userOrderManagerDatabase[AccountID], osm OrderStatusManager, fs FileStorage) *BuiltinUserOrderManager[AccountID]
func (*BuiltinUserOrderManager[AccountID]) Close ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserOrderManager[AccountID]) GetOrderWithID ¶
func (*BuiltinUserOrderManager[AccountID]) GetUserOrderCount ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) GetUserOrderCount(ctx context.Context) (uint64, error)
func (*BuiltinUserOrderManager[AccountID]) GetUserOrders ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) GetUserOrders(ctx context.Context, orders []UserOrder[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserOrder[AccountID], error)
func (*BuiltinUserOrderManager[AccountID]) Init ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserOrderManager[AccountID]) Pulse ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserOrderManager[AccountID]) RemoveAllUserOrders ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) RemoveAllUserOrders(ctx context.Context) error
func (*BuiltinUserOrderManager[AccountID]) ToBuiltinObject ¶
func (orderManager *BuiltinUserOrderManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserOrderManager[AccountID], error)
type BuiltinUserPaymentMethod ¶
type BuiltinUserPaymentMethod[AccountID comparable] struct { UserPaymentMethodForm[AccountID] DB userPaymentMethodDatabase[AccountID] `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserPaymentMethod[AccountID]) ApplyFormObject ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) ApplyFormObject(ctx context.Context, form *UserPaymentMethodForm[AccountID]) error
func (*BuiltinUserPaymentMethod[AccountID]) Close ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserPaymentMethod[AccountID]) GetAccountNumber ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetAccountNumber(ctx context.Context) (string, error)
func (*BuiltinUserPaymentMethod[AccountID]) GetExpiryDate ¶
func (*BuiltinUserPaymentMethod[AccountID]) GetID ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserPaymentMethod[AccountID]) GetPaymentType ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetPaymentType(ctx context.Context) (PaymentType, error)
func (*BuiltinUserPaymentMethod[AccountID]) GetProvider ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetProvider(ctx context.Context) (string, error)
func (*BuiltinUserPaymentMethod[AccountID]) GetUserAccountID ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserPaymentMethod[AccountID]) Init ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserPaymentMethod[AccountID]) IsDefault ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) IsDefault(ctx context.Context) (bool, error)
func (*BuiltinUserPaymentMethod[AccountID]) IsExpired ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) IsExpired(ctx context.Context) (bool, error)
func (*BuiltinUserPaymentMethod[AccountID]) Pulse ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserPaymentMethod[AccountID]) SetAccountNumber ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetAccountNumber(ctx context.Context, accountNumber string) error
func (*BuiltinUserPaymentMethod[AccountID]) SetDefault ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetDefault(ctx context.Context, state bool) error
func (*BuiltinUserPaymentMethod[AccountID]) SetExpiryDate ¶
func (*BuiltinUserPaymentMethod[AccountID]) SetPaymentType ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetPaymentType(ctx context.Context, paymentType PaymentType) error
func (*BuiltinUserPaymentMethod[AccountID]) SetProvider ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) SetProvider(ctx context.Context, provider string) error
func (*BuiltinUserPaymentMethod[AccountID]) ToBuiltinObject ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserPaymentMethod[AccountID], error)
func (*BuiltinUserPaymentMethod[AccountID]) ToFormObject ¶
func (paymentMethod *BuiltinUserPaymentMethod[AccountID]) ToFormObject(ctx context.Context) (*UserPaymentMethodForm[AccountID], error)
type BuiltinUserPaymentMethodManager ¶
type BuiltinUserPaymentMethodManager[AccountID comparable] struct { DB userPaymentMethodManagerDatabase[AccountID] }
func NewBuiltinPaymentMethodManager ¶
func NewBuiltinPaymentMethodManager[AccountID comparable](db userPaymentMethodManagerDatabase[AccountID]) *BuiltinUserPaymentMethodManager[AccountID]
func (*BuiltinUserPaymentMethodManager[AccountID]) Close ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethodCount ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethodCount(ctx context.Context) (uint64, error)
func (*BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethodWithID ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethodWithID(ctx context.Context, pid uint64, fill bool) (UserPaymentMethod[AccountID], error)
func (*BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethods ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) GetPaymentMethods(ctx context.Context, paymentMethods []UserPaymentMethod[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserPaymentMethod[AccountID], error)
func (*BuiltinUserPaymentMethodManager[AccountID]) Init ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserPaymentMethodManager[AccountID]) Pulse ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserPaymentMethodManager[AccountID]) RemoveAllPaymentMethods ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) RemoveAllPaymentMethods(ctx context.Context) error
func (*BuiltinUserPaymentMethodManager[AccountID]) ToBuiltinObject ¶
func (paymentMethodManager *BuiltinUserPaymentMethodManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserPaymentMethodManager[AccountID], error)
type BuiltinUserReview ¶
type BuiltinUserReview[AccountID comparable] struct { UserReviewForm[AccountID] DB userReviewDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserReview[AccountID]) ApplyFormObject ¶
func (review *BuiltinUserReview[AccountID]) ApplyFormObject(ctx context.Context, form *UserReviewForm[AccountID]) error
func (*BuiltinUserReview[AccountID]) Close ¶
func (review *BuiltinUserReview[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserReview[AccountID]) GetComment ¶
func (review *BuiltinUserReview[AccountID]) GetComment(ctx context.Context) (string, error)
func (*BuiltinUserReview[AccountID]) GetID ¶
func (review *BuiltinUserReview[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserReview[AccountID]) GetProductItem ¶
func (review *BuiltinUserReview[AccountID]) GetProductItem(ctx context.Context) (ProductItem[AccountID], error)
func (*BuiltinUserReview[AccountID]) GetRatingValue ¶
func (review *BuiltinUserReview[AccountID]) GetRatingValue(ctx context.Context) (int32, error)
func (*BuiltinUserReview[AccountID]) GetUserAccountID ¶
func (review *BuiltinUserReview[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserReview[AccountID]) Init ¶
func (review *BuiltinUserReview[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserReview[AccountID]) Pulse ¶
func (review *BuiltinUserReview[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserReview[AccountID]) SetComment ¶
func (review *BuiltinUserReview[AccountID]) SetComment(ctx context.Context, comment string) error
func (*BuiltinUserReview[AccountID]) SetRatingValue ¶
func (review *BuiltinUserReview[AccountID]) SetRatingValue(ctx context.Context, rating int32) error
func (*BuiltinUserReview[AccountID]) ToBuiltinObject ¶
func (review *BuiltinUserReview[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserReview[AccountID], error)
func (*BuiltinUserReview[AccountID]) ToFormObject ¶
func (review *BuiltinUserReview[AccountID]) ToFormObject(ctx context.Context) (*UserReviewForm[AccountID], error)
type BuiltinUserReviewManager ¶
type BuiltinUserReviewManager[AccountID comparable] struct { DB userReviewManagerDatabase[AccountID] FS FileStorage }
func NewBuiltinUserReviewManager ¶
func NewBuiltinUserReviewManager[AccountID comparable](db userReviewManagerDatabase[AccountID], fs FileStorage) *BuiltinUserReviewManager[AccountID]
func (*BuiltinUserReviewManager[AccountID]) Close ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserReviewManager[AccountID]) GetUserReviewCount ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewCount(ctx context.Context) (uint64, error)
func (*BuiltinUserReviewManager[AccountID]) GetUserReviewWithID ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewWithID(ctx context.Context, rid uint64, fill bool) (UserReview[AccountID], error)
func (*BuiltinUserReviewManager[AccountID]) GetUserReviews ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error)
func (*BuiltinUserReviewManager[AccountID]) GetUserReviewsForAccount ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewsForAccount(ctx context.Context, account UserAccount[AccountID], reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error)
func (*BuiltinUserReviewManager[AccountID]) GetUserReviewsForProductItem ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) GetUserReviewsForProductItem(ctx context.Context, productItem ProductItem[AccountID], reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error)
func (*BuiltinUserReviewManager[AccountID]) Init ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserReviewManager[AccountID]) NewUserReview ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) NewUserReview(ctx context.Context, account UserAccount[AccountID], productItem ProductItem[AccountID], ratingValue int32, comment string) (UserReview[AccountID], error)
func (*BuiltinUserReviewManager[AccountID]) Pulse ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserReviewManager[AccountID]) RemoveAllUserReviews ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) RemoveAllUserReviews(ctx context.Context) error
func (*BuiltinUserReviewManager[AccountID]) RemoveUserReview ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) RemoveUserReview(ctx context.Context, review UserReview[AccountID]) error
func (*BuiltinUserReviewManager[AccountID]) ToBuiltinObject ¶
func (reviewManager *BuiltinUserReviewManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserReviewManager[AccountID], error)
type BuiltinUserRole ¶
type BuiltinUserRole struct {
UserRoleForm
DB DBUserRole `json:"-"`
MU sync.RWMutex `json:"-"`
}
func (*BuiltinUserRole) ApplyFormObject ¶
func (userRole *BuiltinUserRole) ApplyFormObject(ctx context.Context, form *UserRoleForm) error
func (*BuiltinUserRole) GetID ¶
func (userRole *BuiltinUserRole) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserRole) GetName ¶
func (userRole *BuiltinUserRole) GetName(ctx context.Context) (string, error)
func (*BuiltinUserRole) SetName ¶
func (userRole *BuiltinUserRole) SetName(ctx context.Context, name string) error
func (*BuiltinUserRole) ToBuiltinObject ¶
func (userRole *BuiltinUserRole) ToBuiltinObject(ctx context.Context) (*BuiltinUserRole, error)
func (*BuiltinUserRole) ToFormObject ¶
func (userRole *BuiltinUserRole) ToFormObject(ctx context.Context) (*UserRoleForm, error)
type BuiltinUserRoleManager ¶
type BuiltinUserRoleManager struct {
DB userRoleDatabase
}
func NewBuiltinUserRoleManager ¶
func NewBuiltinUserRoleManager(db userRoleDatabase) *BuiltinUserRoleManager
func (*BuiltinUserRoleManager) Close ¶
func (userRoleManager *BuiltinUserRoleManager) Close(ctx context.Context) error
func (*BuiltinUserRoleManager) ExistsUserRole ¶
func (*BuiltinUserRoleManager) GetRoleWithID ¶
func (*BuiltinUserRoleManager) GetUserRoleByName ¶
func (*BuiltinUserRoleManager) GetUserRoleCount ¶
func (userRoleManager *BuiltinUserRoleManager) GetUserRoleCount(ctx context.Context) (uint64, error)
func (*BuiltinUserRoleManager) GetUserRoles ¶
func (userRoleManager *BuiltinUserRoleManager) GetUserRoles(ctx context.Context, userRoles []UserRole, skip int64, limit int64, queueOrder QueueOrder) ([]UserRole, error)
func (*BuiltinUserRoleManager) Init ¶
func (userRoleManager *BuiltinUserRoleManager) Init(ctx context.Context) error
func (*BuiltinUserRoleManager) NewUserRole ¶
func (*BuiltinUserRoleManager) Pulse ¶
func (userRoleManager *BuiltinUserRoleManager) Pulse(ctx context.Context) error
func (*BuiltinUserRoleManager) RemoveAllUserRoles ¶
func (userRoleManager *BuiltinUserRoleManager) RemoveAllUserRoles(ctx context.Context) error
func (*BuiltinUserRoleManager) RemoveUserRole ¶
func (userRoleManager *BuiltinUserRoleManager) RemoveUserRole(ctx context.Context, userRole UserRole) error
func (*BuiltinUserRoleManager) ToBuiltinObject ¶
func (userRoleManager *BuiltinUserRoleManager) ToBuiltinObject(ctx context.Context) (*BuiltinUserRoleManager, error)
type BuiltinUserShoppingCart ¶
type BuiltinUserShoppingCart[AccountID comparable] struct { UserShoppingCartForm[AccountID] DB userShoppingCartDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` OrderStatusManager OrderStatusManager `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserShoppingCart[AccountID]) ApplyFormObject ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) ApplyFormObject(ctx context.Context, form *UserShoppingCartForm[AccountID]) error
func (*BuiltinUserShoppingCart[AccountID]) CalculateDept ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) CalculateDept(ctx context.Context, shippingMethod ShippingMethod) (float64, error)
func (*BuiltinUserShoppingCart[AccountID]) Close ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserShoppingCart[AccountID]) GetID ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserShoppingCart[AccountID]) GetSessionText ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetSessionText(ctx context.Context) (string, error)
func (*BuiltinUserShoppingCart[AccountID]) GetShoppingCartItemCount ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetShoppingCartItemCount(ctx context.Context) (uint64, error)
func (*BuiltinUserShoppingCart[AccountID]) GetShoppingCartItems ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetShoppingCartItems(ctx context.Context, items []UserShoppingCartItem[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserShoppingCartItem[AccountID], error)
func (*BuiltinUserShoppingCart[AccountID]) GetUserAccountID ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserShoppingCart[AccountID]) Init ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserShoppingCart[AccountID]) NewShoppingCartItem ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) NewShoppingCartItem(ctx context.Context, item ProductItem[AccountID], count int64, attrs json.RawMessage) (UserShoppingCartItem[AccountID], error)
func (*BuiltinUserShoppingCart[AccountID]) Order ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Order(ctx context.Context, paymentMethod UserPaymentMethod[AccountID], address UserAddress[AccountID], shippingMethod ShippingMethod, userComment string, discountCode string) (UserOrder[AccountID], error)
func (*BuiltinUserShoppingCart[AccountID]) Pulse ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserShoppingCart[AccountID]) RemoveAllShoppingCartItems ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) RemoveAllShoppingCartItems(ctx context.Context) error
func (*BuiltinUserShoppingCart[AccountID]) RemoveShoppingCartItem ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) RemoveShoppingCartItem(ctx context.Context, item UserShoppingCartItem[AccountID]) error
func (*BuiltinUserShoppingCart[AccountID]) SetSessionText ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) SetSessionText(ctx context.Context, sessionText string) error
func (*BuiltinUserShoppingCart[AccountID]) ToBuiltinObject ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCart[AccountID], error)
func (*BuiltinUserShoppingCart[AccountID]) ToFormObject ¶
func (shoppingCart *BuiltinUserShoppingCart[AccountID]) ToFormObject(ctx context.Context) (*UserShoppingCartForm[AccountID], error)
type BuiltinUserShoppingCartItem ¶
type BuiltinUserShoppingCartItem[AccountID comparable] struct { UserShoppingCartItemForm[AccountID] DB userShoppingCartItemDatabase[AccountID] `json:"-"` FS FileStorage `json:"-"` OrderStatusManager OrderStatusManager `json:"-"` MU sync.RWMutex `json:"-"` }
func (*BuiltinUserShoppingCartItem[AccountID]) AddQuantity ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) AddQuantity(ctx context.Context, delta int64) error
func (*BuiltinUserShoppingCartItem[AccountID]) ApplyFormObject ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) ApplyFormObject(ctx context.Context, form *UserShoppingCartItemForm[AccountID]) error
func (*BuiltinUserShoppingCartItem[AccountID]) CalculateDept ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) CalculateDept(ctx context.Context) (float64, error)
func (*BuiltinUserShoppingCartItem[AccountID]) Close ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserShoppingCartItem[AccountID]) GetAttributes ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) GetAttributes(ctx context.Context) (json.RawMessage, error)
func (*BuiltinUserShoppingCartItem[AccountID]) GetID ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) GetID(ctx context.Context) (uint64, error)
func (*BuiltinUserShoppingCartItem[AccountID]) GetProductItem ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) GetProductItem(ctx context.Context) (ProductItem[AccountID], error)
func (*BuiltinUserShoppingCartItem[AccountID]) GetQuantity ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) GetQuantity(ctx context.Context) (int64, error)
func (*BuiltinUserShoppingCartItem[AccountID]) GetShoppingCart ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) GetShoppingCart(ctx context.Context) (UserShoppingCart[AccountID], error)
func (*BuiltinUserShoppingCartItem[AccountID]) GetUserAccountID ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) GetUserAccountID(ctx context.Context) (AccountID, error)
func (*BuiltinUserShoppingCartItem[AccountID]) Init ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserShoppingCartItem[AccountID]) Pulse ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserShoppingCartItem[AccountID]) SetAttributes ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) SetAttributes(ctx context.Context, attrs json.RawMessage) error
func (*BuiltinUserShoppingCartItem[AccountID]) SetQuantity ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) SetQuantity(ctx context.Context, quantity int64) error
func (*BuiltinUserShoppingCartItem[AccountID]) ToBuiltinObject ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCartItem[AccountID], error)
func (*BuiltinUserShoppingCartItem[AccountID]) ToFormObject ¶
func (item *BuiltinUserShoppingCartItem[AccountID]) ToFormObject(ctx context.Context) (*UserShoppingCartItemForm[AccountID], error)
type BuiltinUserShoppingCartManager ¶
type BuiltinUserShoppingCartManager[AccountID comparable] struct { DB userShoppingCartManagerDatabase[AccountID] FS FileStorage OrderStatusManager OrderStatusManager }
func NewBuiltinUserShoppingCartManager ¶
func NewBuiltinUserShoppingCartManager[AccountID comparable](db userShoppingCartManagerDatabase[AccountID], fs FileStorage, osm OrderStatusManager) *BuiltinUserShoppingCartManager[AccountID]
func (*BuiltinUserShoppingCartManager[AccountID]) Close ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) Close(ctx context.Context) error
func (*BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartBySessionText ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartBySessionText(ctx context.Context, sessionText string) (UserShoppingCart[AccountID], error)
func (*BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartCount ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartCount(ctx context.Context) (uint64, error)
func (*BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartItemWithID ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartItemWithID(ctx context.Context, iid uint64, fill bool) (UserShoppingCartItem[AccountID], error)
func (*BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartWithID ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCartWithID(ctx context.Context, cid uint64, fill bool) (UserShoppingCart[AccountID], error)
func (*BuiltinUserShoppingCartManager[AccountID]) GetShoppingCarts ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) GetShoppingCarts(ctx context.Context, carts []UserShoppingCart[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserShoppingCart[AccountID], error)
func (*BuiltinUserShoppingCartManager[AccountID]) Init ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) Init(ctx context.Context) error
func (*BuiltinUserShoppingCartManager[AccountID]) Pulse ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) Pulse(ctx context.Context) error
func (*BuiltinUserShoppingCartManager[AccountID]) RemoveAllShoppingCarts ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) RemoveAllShoppingCarts(ctx context.Context) error
func (*BuiltinUserShoppingCartManager[AccountID]) ToBuiltinObject ¶
func (shoppingCartManager *BuiltinUserShoppingCartManager[AccountID]) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCartManager[AccountID], error)
type BytesFileIO ¶
func (*BytesFileIO) Close ¶
func (file *BytesFileIO) Close() error
type Country ¶
type Country interface {
GeneralAppObject
GetID(ctx context.Context) (uint64, error)
GetName(ctx context.Context) (string, error)
SetName(ctx context.Context, name string) error
ToBuiltinObject(ctx context.Context) (*BuiltinCountry, error)
ToFormObject(ctx context.Context) (*CountryForm, error)
ApplyFormObject(ctx context.Context, form *CountryForm) error
}
type CountryForm ¶
func (*CountryForm) Clone ¶
func (form *CountryForm) Clone(ctx context.Context) (CountryForm, error)
type CountryManager ¶
type CountryManager interface {
GeneralAppObject
GetCountryWithID(ctx context.Context, aid uint64, fill bool) (Country, error)
NewCountry(ctx context.Context, name string) (Country, error)
RemoveCountry(ctx context.Context, country Country) error
RemoveAllCountries(ctx context.Context) error
GetCountries(ctx context.Context, countries []Country, skip int64, limit int64, queueOrder QueueOrder) ([]Country, error)
GetCountryCount(ctx context.Context) (uint64, error)
GetCountryByName(ctx context.Context, name string) (Country, error)
ExistsCountry(ctx context.Context, name string) (bool, error)
ToBuiltinObject(ctx context.Context) (*BuiltinCountryManager, error)
}
type DBApplication ¶
type DBApplication[AccountID comparable] interface { DBUserAccountManager[AccountID] DBUserAccount[AccountID] DBUserShoppingCartManager[AccountID] DBUserShoppingCart[AccountID] DBUserShoppingCartItem[AccountID] DBUserOrderManager[AccountID] DBUserOrder[AccountID] DBUserPaymentMethodManager[AccountID] DBUserPaymentMethod[AccountID] DBUserAddressManager[AccountID] DBUserAddress[AccountID] DBUserReviewManager[AccountID] DBUserReview[AccountID] DBUserRoleManager DBUserRole DBProductManager[AccountID] DBProductCategory[AccountID] DBProduct[AccountID] DBProductItem[AccountID] DBProductItemSubscriptionManager[AccountID] DBProductItemSubscription[AccountID] DBUserFactorManager[AccountID] DBUserFactor[AccountID] DBUserDiscountManager[AccountID] DBUserDiscount[AccountID] DBCountryManager DBCountry DBPaymentTypeManager DBPaymentType DBShippingMethodManager DBShippingMethod DBOrderStatusManager DBOrderStatus }
type DBCountryManager ¶
type DBCountryManager interface {
ExistsCountry(ctx context.Context, name string) (bool, error)
GetCountryByName(ctx context.Context, name string, countForm *CountryForm) (uint64, error)
GetCountryCount(ctx context.Context) (uint64, error)
GetCountries(ctx context.Context, countries []uint64, countForms []*CountryForm, skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*CountryForm, error)
NewCountry(ctx context.Context, name string, countForm *CountryForm) (uint64, error)
RemoveAllCountries(ctx context.Context) error
RemoveCountry(ctx context.Context, country uint64) error
InitCountryManager(ctx context.Context) error
FillCountryWithID(ctx context.Context, cid uint64, countryForm *CountryForm) error
}
type DBOrderStatus ¶
type DBOrderStatus interface {
GetOrderStatusName(ctx context.Context, form *OrderStatusForm, id uint64) (string, error)
IsOrderStatusDeliveried(ctx context.Context, form *OrderStatusForm, id uint64) (bool, error)
SetOrderStatusName(ctx context.Context, form *OrderStatusForm, id uint64, name string) error
}
type DBOrderStatusManager ¶
type DBOrderStatusManager interface {
ExistsOrderStatus(ctx context.Context, name string) (bool, error)
GetDeliveriedOrderStatus(ctx context.Context, statusForm *OrderStatusForm) (uint64, error)
GetIdleOrderStatus(ctx context.Context, statusForm *OrderStatusForm) (uint64, error)
GetOrderStatusByName(ctx context.Context, name string, statusForm *OrderStatusForm) (uint64, error)
GetOrderStatusCount(ctx context.Context) (uint64, error)
GetOrderStatuses(ctx context.Context, status []uint64, statusForms []*OrderStatusForm, skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*OrderStatusForm, error)
NewOrderStatus(ctx context.Context, name string, statusForm *OrderStatusForm) (uint64, error)
RemoveAllOrderStatuses(ctx context.Context) error
RemoveOrderStatus(ctx context.Context, status uint64) error
InitOrderStatusManager(ctx context.Context) error
FillOrderStatusWithID(ctx context.Context, sid uint64, statusForm *OrderStatusForm) error
}
type DBPaymentType ¶
type DBPaymentTypeManager ¶
type DBPaymentTypeManager interface {
ExistsPaymentType(ctx context.Context, name string) (bool, error)
GetPaymentTypeByName(ctx context.Context, name string, typeForm *PaymentTypeForm) (uint64, error)
GetPaymentTypeCount(ctx context.Context) (uint64, error)
GetPaymentTypes(ctx context.Context, paymentTypes []uint64, typeForms []*PaymentTypeForm, skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*PaymentTypeForm, error)
NewPaymentType(ctx context.Context, name string, typeForm *PaymentTypeForm) (uint64, error)
RemoveAllPaymentTypes(ctx context.Context) error
RemovePaymentType(ctx context.Context, paymentType uint64) error
InitPaymentTypeManager(ctx context.Context) error
FillPaymentTypeWithID(ctx context.Context, pid uint64, typeForm *PaymentTypeForm) error
}
type DBProduct ¶
type DBProduct[AccountID comparable] interface { AddProductProductItem(ctx context.Context, form *ProductForm[AccountID], pid uint64, sku string, name string, price float64, quantity uint64, images []string, attrs json.RawMessage, itemForm *ProductItemForm[AccountID], fs FileStorage) (uint64, error) GetProductDescription(ctx context.Context, form *ProductForm[AccountID], pid uint64) (string, error) GetProductName(ctx context.Context, form *ProductForm[AccountID], pid uint64) (string, error) GetProductImages(ctx context.Context, form *ProductForm[AccountID], pid uint64) ([]string, error) GetProductCategory(ctx context.Context, form *ProductForm[AccountID], pid uint64, catForm *ProductCategoryForm[AccountID], fs FileStorage) (uint64, error) GetProductProductItemCount(ctx context.Context, form *ProductForm[AccountID], pid uint64) (uint64, error) GetProductProductItems(ctx context.Context, form *ProductForm[AccountID], pid uint64, items []uint64, itemForms []*ProductItemForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, fs FileStorage) ([]uint64, []*ProductItemForm[AccountID], error) RemoveAllProductProductItems(ctx context.Context, form *ProductForm[AccountID], pid uint64) error RemoveProductProductItem(ctx context.Context, form *ProductForm[AccountID], pid uint64, itid uint64) error SetProductDescription(ctx context.Context, form *ProductForm[AccountID], pid uint64, desc string) error SetProductName(ctx context.Context, form *ProductForm[AccountID], pid uint64, name string) error SetProductImages(ctx context.Context, form *ProductForm[AccountID], pid uint64, images []string) error SetProductCategory(ctx context.Context, form *ProductForm[AccountID], pid uint64, category *uint64, fs FileStorage) error }
type DBProductCategory ¶
type DBProductCategory[AccountID comparable] interface { GetProductCategoryName(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64) (string, error) GetProductCategoryParent(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64, catForm *ProductCategoryForm[AccountID], fs FileStorage) (uint64, error) GetProductCategoryProductCount(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64) (uint64, error) GetProductCategoryProducts(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64, products []uint64, productForms []*ProductForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, fs FileStorage) ([]uint64, []*ProductForm[AccountID], error) NewProductCategoryProduct(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64, name string, description string, images []string, productForm *ProductForm[AccountID], fs FileStorage) (uint64, error) RemoveAllProducts(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64) error RemoveProduct(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64, product uint64) error SetProductCategoryName(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64, name string) error SetProductCategoryParent(ctx context.Context, form *ProductCategoryForm[AccountID], pid uint64, parent *uint64, fs FileStorage) error }
type DBProductItem ¶
type DBProductItem[AccountID comparable] interface { AddProductItemQuantityInStock(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, delta int64) error GetProductItemAttributes(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (json.RawMessage, error) GetProductItemImages(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) ([]string, error) GetProductItemPrice(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (float64, error) GetProductItemProduct(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, productForm *ProductForm[AccountID], fs FileStorage) (uint64, error) GetProductItemQuantityInStock(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (uint64, error) GetProductItemName(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (string, error) GetProductItemSKU(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (string, error) SetProductItemAttributes(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, attrs json.RawMessage) error SetProductItemImages(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, images []string) error SetProductItemPrice(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, price float64) error SetProductItemProduct(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, product *uint64, fs FileStorage) error SetProductItemQuantityInStock(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, quantity uint64) error SetProductItemName(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, name string) error SetProductItemSKU(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, sku string) error GetProductItemUserReviews(ctx context.Context, form *ProductItemForm[AccountID], pid uint64, ids []uint64, reviewForms []*UserReviewForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserReviewForm[AccountID], error) GetProductItemUserReviewCount(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (uint64, error) CalculateProductItemAverageRating(ctx context.Context, form *ProductItemForm[AccountID], pid uint64) (float64, error) }
type DBProductItemSubscription ¶
type DBProductItemSubscription[AccountID comparable] interface { GetProductItemSubscriptionUserAccountID(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (AccountID, error) GetProductItemSubscriptionProductItem(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, productItemForm *ProductItemForm[AccountID], fs FileStorage) (uint64, error) SetProductItemSubscriptionProductItem(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, productItemID uint64, fs FileStorage) error GetProductItemSubscriptionSubscribedAt(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (time.Time, error) SetProductItemSubscriptionSubscribedAt(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, subscribedAt time.Time) error GetProductItemSubscriptionExpiresAt(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (time.Time, error) SetProductItemSubscriptionExpiresAt(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, expiresAt time.Time) error GetProductItemSubscriptionDuration(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (time.Duration, error) SetProductItemSubscriptionDuration(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, duration time.Duration) error GetProductItemSubscriptionType(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (string, error) SetProductItemSubscriptionType(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, subscriptionType string) error IsProductItemSubscriptionAutoRenew(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (bool, error) SetProductItemSubscriptionAutoRenew(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, autoRenew bool) error IsProductItemSubscriptionActive(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) (bool, error) SetProductItemSubscriptionActive(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64, isActive bool) error CancelProductItemSubscription(ctx context.Context, form *ProductItemSubscriptionForm[AccountID], subscriptionID uint64) error }
type DBProductItemSubscriptionManager ¶
type DBProductItemSubscriptionManager[AccountID comparable] interface { InitProductItemSubscriptionManager(ctx context.Context) error NewProductItemSubscription(ctx context.Context, userAccountID AccountID, productItemID uint64, subscribedAt time.Time, expiresAt time.Time, duration time.Duration, subscriptionType string, autoRenew bool, form *ProductItemSubscriptionForm[AccountID]) (uint64, error) RemoveProductItemSubscription(ctx context.Context, subscriptionID uint64) error RemoveAllProductItemSubscriptions(ctx context.Context) error GetProductItemSubscriptionCount(ctx context.Context) (uint64, error) GetProductItemSubscriptions(ctx context.Context, ids []uint64, forms []*ProductItemSubscriptionForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*ProductItemSubscriptionForm[AccountID], error) GetUserProductItemSubscriptions(ctx context.Context, userAccountID AccountID, ids []uint64, forms []*ProductItemSubscriptionForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*ProductItemSubscriptionForm[AccountID], error) GetUserProductItemSubscriptionCount(ctx context.Context, userAccountID AccountID) (uint64, error) GetProductItemSubscriptionsForProduct(ctx context.Context, productItemID uint64, ids []uint64, forms []*ProductItemSubscriptionForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*ProductItemSubscriptionForm[AccountID], error) GetProductItemSubscriptionCountForProduct(ctx context.Context, productItemID uint64) (uint64, error) GetExpiredSubscriptionsForRenewal(ctx context.Context, now time.Time, ids []uint64, forms []*ProductItemSubscriptionForm[AccountID], limit int64) ([]uint64, []*ProductItemSubscriptionForm[AccountID], error) FillProductItemSubscriptionWithID(ctx context.Context, sid uint64, subscriptionForm *ProductItemSubscriptionForm[AccountID]) error }
type DBProductManager ¶
type DBProductManager[AccountID comparable] interface { GetProductCategories(ctx context.Context, categories []uint64, catForms []*ProductCategoryForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, fs FileStorage) ([]uint64, []*ProductCategoryForm[AccountID], error) GetProductCategoryCount(ctx context.Context) (uint64, error) NewProductCategory(ctx context.Context, name string, parentCategory *uint64, catForm *ProductCategoryForm[AccountID], fs FileStorage) (uint64, error) RemoveAllProductCategories(ctx context.Context) error RemoveProductCategory(ctx context.Context, category uint64) error SearchForProductCategories(ctx context.Context, searchText string, deepSearch bool, categories []uint64, catForms []*ProductCategoryForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, fs FileStorage) ([]uint64, []*ProductCategoryForm[AccountID], error) SearchForProducts(ctx context.Context, searchText string, deepSearch bool, products []uint64, productForms []*ProductForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, category_id *uint64, fs FileStorage) ([]uint64, []*ProductForm[AccountID], error) SearchForProductItems(ctx context.Context, searchText string, deepSearch bool, items []uint64, itemForms []*ProductItemForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, product_id *uint64, category_id *uint64, fs FileStorage) ([]uint64, []*ProductItemForm[AccountID], error) InitProductManager(ctx context.Context) error FillProductCategoryWithID(ctx context.Context, cid uint64, catForm *ProductCategoryForm[AccountID], fs FileStorage) error FillProductWithID(ctx context.Context, pid uint64, productForm *ProductForm[AccountID], fs FileStorage) error FillProductItemWithID(ctx context.Context, iid uint64, itemForm *ProductItemForm[AccountID], fs FileStorage) error }
type DBShippingMethod ¶
type DBShippingMethod interface {
GetShippingMethodName(ctx context.Context, form *ShippingMethodForm, id uint64) (string, error)
SetShippingMethodName(ctx context.Context, form *ShippingMethodForm, id uint64, name string) error
GetShippingMethodPrice(ctx context.Context, form *ShippingMethodForm, id uint64) (float64, error)
SetShippingMethodPrice(ctx context.Context, form *ShippingMethodForm, id uint64, price float64) error
}
type DBShippingMethodManager ¶
type DBShippingMethodManager interface {
ExistsShippingMethod(ctx context.Context, name string) (bool, error)
GetShippingMethodByName(ctx context.Context, name string, methodForm *ShippingMethodForm) (uint64, error)
GetShippingMethodCount(ctx context.Context) (uint64, error)
GetShippingMethods(ctx context.Context, shippingMethods []uint64, methodForms []*ShippingMethodForm, skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*ShippingMethodForm, error)
NewShippingMethod(ctx context.Context, name string, price float64, methodForm *ShippingMethodForm) (uint64, error)
RemoveAllShippingMethods(ctx context.Context) error
RemoveShippingMethod(ctx context.Context, shippingMethod uint64) error
InitShippingMethodManager(ctx context.Context) error
FillShippingMethodWithID(ctx context.Context, sid uint64, methodForm *ShippingMethodForm) error
}
type DBUserAccount ¶
type DBUserAccount[AccountID comparable] interface { AllowUserAccountTrading(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, state bool) error BanUserAccount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, till time.Duration, reason string) error CalculateUserAccountTotalDepts(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (float64, error) CalculateUserAccountTotalDeptsWithoutPenalty(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (float64, error) ChargeUserAccountWallet(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, currency float64) error FineUserAccount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, amount float64) error GetUserAccountAddressCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) GetUserAccountAddresses(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, addresses []uint64, addressForms []*UserAddressForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserAddressForm[AccountID], error) GetUserAccountBio(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (string, error) GetUserAccountDefaultAddress(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, addressForm *UserAddressForm[AccountID]) (uint64, error) GetUserAccountDefaultPaymentMethod(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, paymentMethodForm *UserPaymentMethodForm[AccountID]) (uint64, error) GetUserAccountFirstName(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (string, error) GetUserAccountLastName(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (string, error) GetUserAccountLastUpdatedAt(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (time.Time, error) GetUserAccountOrderCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) GetUserAccountOrders(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, orders []uint64, orderForms []*UserOrderForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserOrderForm[AccountID], error) GetUserAccountPassword(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (string, error) GetUserAccountPaymentMethodCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) GetUserAccountPaymentMethods(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, paymentMethods []uint64, paymentMethodForms []*UserPaymentMethodForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserPaymentMethodForm[AccountID], error) GetUserAccountProfileImages(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) ([]string, error) GetUserAccountRole(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, roleForm *UserRoleForm) (uint64, error) GetUserAccountShoppingCartCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) GetUserAccountShoppingCarts(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, carts []uint64, cartForms []*UserShoppingCartForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserShoppingCartForm[AccountID], error) GetUserAccountToken(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (string, error) GetUserAccountLevel(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (int64, error) GetUserAccountWalletCurrency(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (float64, error) GetUserAccountUserReviews(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, ids []uint64, reviewForms []*UserReviewForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserReviewForm[AccountID], error) GetUserAccountUserReviewCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) GetUserAccountSubscriptions(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, ids []uint64, subscriptionForms []*ProductItemSubscriptionForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*ProductItemSubscriptionForm[AccountID], error) GetUserAccountSubscriptionCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) RemoveUserAccountSubscription(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, subscriptionID uint64) error RemoveAllUserAccountSubscriptions(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error GetUserAccountUserFactors(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, ids []uint64, factorForms []*UserFactorForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserFactorForm[AccountID], error) GetUserAccountUserFactorCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) NewUserAccountDiscount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, value float64, validCount int64, discountForm *UserDiscountForm[AccountID]) (uint64, error) RemoveUserAccountDiscount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, discountID uint64) error RemoveAllUserAccountDiscounts(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error GetUserAccountDiscounts(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, ids []uint64, discountForms []*UserDiscountForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserDiscountForm[AccountID], error) GetUserAccountDiscountCount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (uint64, error) HasUserAccountPenalty(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (bool, error) IsUserAccountActive(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (bool, error) IsUserAccountBanned(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (string, error) IsUserAccountSuperUser(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (bool, error) IsUserAccountTradingAllowed(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) (bool, error) NewUserAccountAddress(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, unitNumber string, street_number string, addressLine1 string, addressLine2 string, city string, region string, postalCode string, country *uint64, isDefault bool, addressForm *UserAddressForm[AccountID]) (uint64, error) NewUserAccountPaymentMethod(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, paymentType uint64, provider string, accoutNumber string, expiryDate time.Time, isDefault bool, paymentMethodForm *UserPaymentMethodForm[AccountID]) (uint64, error) NewUserAccountShoppingCart(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, sessionText string, cartForm *UserShoppingCartForm[AccountID]) (uint64, error) RemoveUserAccountAddress(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, addrID uint64) error RemoveAllUserAccountAddresses(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error RemoveAllUserAccountOrders(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error RemoveAllUserAccountPaymentMethods(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error RemoveAllUserAccountShoppingCarts(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error RemoveUserAccountShoppingCart(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, cid uint64) error RemoveUserAccountPaymentMethod(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, pid uint64) error RemoveUserAccountOrder(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, oid uint64) error SetUserAccountActive(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, state bool) error SetUserAccountBio(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, bio string) error SetUserAccountFirstName(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, name string) error SetUserAccountLastName(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, name string) error SetUserAccountLastUpdatedAt(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, lastUpdatedAt time.Time) error SetUserAccountPassword(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, password string) error SetUserAccountPenalty(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, penalty float64) error SetUserAccountProfileImages(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, images []string) error SetUserAccountRole(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, role uint64) error SetUserAccountSuperUser(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, state bool) error SetUserAccountToken(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, token string) error SetUserAccountLevel(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, level int64) error SetUserAccountWalletCurrency(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, currency float64) error TransferUserAccountCurrency(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, to AccountID, currency float64) error UnbanUserAccount(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID) error ValidateUserAccountPassword(ctx context.Context, form *UserAccountForm[AccountID], aid AccountID, password string) (bool, error) }
type DBUserAccountManager ¶
type DBUserAccountManager[AccountID comparable] interface { RemoveAllUserAccounts(ctx context.Context) error RemoveUserAccountWithToken(ctx context.Context, token string, password string) error RemoveUserAccount(ctx context.Context, aid AccountID) error GetUserAccountCount(ctx context.Context) (uint64, error) GetUserAccount(ctx context.Context, token string, accountForm *UserAccountForm[AccountID]) (AccountID, error) GetUserAccounts(ctx context.Context, accounts []AccountID, accountForms []*UserAccountForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]AccountID, []*UserAccountForm[AccountID], error) NewUserAccount(ctx context.Context, token string, password string, accountForm *UserAccountForm[AccountID]) (AccountID, error) AuthenticateUserAccount(ctx context.Context, token string, password string, accountForm *UserAccountForm[AccountID]) (AccountID, error) InitUserAccountManager(ctx context.Context) error FillUserAccountWithID(ctx context.Context, aid AccountID, accountForm *UserAccountForm[AccountID]) error }
type DBUserAddress ¶
type DBUserAddress[AccountID comparable] interface { GetUserAddressAddressLine1(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressAddressLine2(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressCity(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressCountry(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, countryForm *CountryForm) (uint64, error) GetUserAddressPostalCode(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressRegion(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressStreetNumber(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressUnitNumber(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (string, error) GetUserAddressAccountID(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (AccountID, error) IsUserAddressDefault(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) (bool, error) SetUserAddressDefault(ctx context.Context, form *UserAddressForm[AccountID], addr uint64) error SetUserAddressAddressLine1(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, line string) error SetUserAddressAddressLine2(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, line string) error SetUserAddressCity(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, city string) error SetUserAddressCountry(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, country *uint64) error SetUserAddressPostalCode(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, code string) error SetUserAddressRegion(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, region string) error SetUserAddressStreetNumber(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, number string) error SetUserAddressUnitNumber(ctx context.Context, form *UserAddressForm[AccountID], addr uint64, number string) error }
type DBUserAddressManager ¶
type DBUserAddressManager[AccountID comparable] interface { GetUserAddressCount(ctx context.Context) (uint64, error) GetUserAddresses(ctx context.Context, addresses []DBUserAddressResult[AccountID], addressForms []*UserAddressForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserAddressResult[AccountID], []*UserAddressForm[AccountID], error) RemoveAllUserAddresses(ctx context.Context) error InitUserAddressManager(ctx context.Context) error FillUserAddressWithID(ctx context.Context, aid uint64, addressForm *UserAddressForm[AccountID]) error }
type DBUserAddressResult ¶
type DBUserAddressResult[AccountID comparable] struct { ID uint64 AID AccountID }
type DBUserDiscount ¶
type DBUserDiscount[AccountID comparable] interface { GetUserDiscountCode(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64) (string, error) SetUserDiscountCode(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64, code string) error GetUserDiscountValue(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64) (float64, error) SetUserDiscountValue(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64, value float64) error GetUserDiscountValidCount(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64) (int64, error) SetUserDiscountValidCount(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64, validCount int64) error DecrementUserDiscountValidCount(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64) error GetUserDiscountUsedBy(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64) ([]AccountID, error) AddUserDiscountUsedBy(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64, accountID AccountID) error HasUserUsedDiscount(ctx context.Context, form *UserDiscountForm[AccountID], discountID uint64, accountID AccountID) (bool, error) }
type DBUserDiscountManager ¶
type DBUserDiscountManager[AccountID comparable] interface { InitUserDiscountManager(ctx context.Context) error NewUserDiscount(ctx context.Context, ownerAccountID AccountID, value float64, validCount int64, discountForm *UserDiscountForm[AccountID]) (uint64, error) RemoveUserDiscount(ctx context.Context, discountID uint64) error RemoveAllUserDiscounts(ctx context.Context) error GetUserDiscountCount(ctx context.Context) (uint64, error) GetUserDiscounts(ctx context.Context, ids []DBUserDiscountResult[AccountID], discountForms []*UserDiscountForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserDiscountResult[AccountID], []*UserDiscountForm[AccountID], error) GetUserDiscountByCode(ctx context.Context, code string, discountForm *UserDiscountForm[AccountID]) (DBUserDiscountResult[AccountID], error) ExistsUserDiscountCode(ctx context.Context, code string) (bool, error) GetUserDiscountsForAccount(ctx context.Context, ownerAccountID AccountID, ids []uint64, discountForms []*UserDiscountForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserDiscountForm[AccountID], error) FillUserDiscountWithID(ctx context.Context, did uint64, discountForm *UserDiscountForm[AccountID]) error }
type DBUserDiscountResult ¶
type DBUserDiscountResult[AccountID comparable] struct { ID uint64 AID AccountID }
type DBUserFactor ¶
type DBUserFactor[AccountID comparable] interface { GetUserFactorProducts(ctx context.Context, form *UserFactorForm[AccountID], fid uint64) (json.RawMessage, error) SetUserFactorProducts(ctx context.Context, form *UserFactorForm[AccountID], fid uint64, products json.RawMessage) error GetUserFactorDiscount(ctx context.Context, form *UserFactorForm[AccountID], fid uint64) (float64, error) SetUserFactorDiscount(ctx context.Context, form *UserFactorForm[AccountID], fid uint64, discount float64) error GetUserFactorTax(ctx context.Context, form *UserFactorForm[AccountID], fid uint64) (float64, error) SetUserFactorTax(ctx context.Context, form *UserFactorForm[AccountID], fid uint64, tax float64) error GetUserFactorAmountPaid(ctx context.Context, form *UserFactorForm[AccountID], fid uint64) (float64, error) SetUserFactorAmountPaid(ctx context.Context, form *UserFactorForm[AccountID], fid uint64, amountPaid float64) error }
type DBUserFactorManager ¶
type DBUserFactorManager[AccountID comparable] interface { InitUserFactorManager(ctx context.Context) error GetUserFactorCount(ctx context.Context, aid AccountID) (uint64, error) GetUserFactors(ctx context.Context, aid AccountID, ids []uint64, factorForms []*UserFactorForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserFactorForm[AccountID], error) RemoveAllUserFactors(ctx context.Context) error RemoveUserAccountFactors(ctx context.Context, aid AccountID) error FillUserFactorWithID(ctx context.Context, fid uint64, factorForm *UserFactorForm[AccountID]) error }
type DBUserOrder ¶
type DBUserOrder[AccountID comparable] interface { CalculateUserOrderTotalPrice(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (float64, error) DeliverUserOrder(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, sid uint64, date time.Time, comment string) error GetUserOrderDeliveryComment(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (string, error) GetUserOrderDeliveryDate(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (time.Time, error) GetUserOrderDate(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (time.Time, error) GetUserOrderTotal(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (float64, error) GetUserOrderPaymentMethod(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, paymentMethodForm *UserPaymentMethodForm[AccountID]) (uint64, error) GetUserOrderProductItemCount(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (uint64, error) GetUserOrderProductItems(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, items []DBUserOrderProductItem, skip int64, limit int64, queueOrder QueueOrder) ([]DBUserOrderProductItem, error) GetUserOrderShippingAddress(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, addressForm *UserAddressForm[AccountID]) (uint64, error) GetUserOrderShippingMethod(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, shippingMethodForm *ShippingMethodForm) (uint64, error) GetUserOrderStatus(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, statusForm *OrderStatusForm) (uint64, error) GetUserOrderUserComment(ctx context.Context, form *UserOrderForm[AccountID], oid uint64) (string, error) SetUserOrderDeliveryComment(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, comment string) error SetUserOrderDeliveryDate(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, date time.Time) error SetUserOrderDate(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, date time.Time) error SetUserOrderTotal(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, total float64) error SetUserOrderPaymentMethod(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, method uint64) error SetUserOrderProductItems(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, items []DBUserOrderProductItem) error SetUserOrderShippingAddress(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, address uint64) error SetUserOrderShippingMethod(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, method uint64) error SetUserOrderStatus(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, status uint64) error SetUserOrderUserComment(ctx context.Context, form *UserOrderForm[AccountID], oid uint64, comment string) error }
type DBUserOrderManager ¶
type DBUserOrderManager[AccountID comparable] interface { GetUserOrderCount(ctx context.Context) (uint64, error) GetUserOrders(ctx context.Context, orders []DBUserOrderResult[AccountID], orderForms []*UserOrderForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserOrderResult[AccountID], []*UserOrderForm[AccountID], error) RemoveAllUserOrders(ctx context.Context) error InitUserOrderManager(ctx context.Context) error FillUserOrderWithID(ctx context.Context, oid uint64, orderForm *UserOrderForm[AccountID]) error }
type DBUserOrderProductItem ¶
type DBUserOrderProductItem struct {
ProductItemID uint64 `json:"product_item_id"`
Quantity uint64 `json:"quantity"`
Attributes json.RawMessage `json:"attributes,omitempty"`
}
type DBUserOrderResult ¶
type DBUserOrderResult[AccountID comparable] struct { ID uint64 AID AccountID }
type DBUserPaymentMethod ¶
type DBUserPaymentMethod[AccountID comparable] interface { GetUserPaymentMethodAccountNumber(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64) (string, error) GetUserPaymentMethodExpiryDate(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64) (time.Time, error) GetUserPaymentMethodPaymentType(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64, paymentTypeFrom *PaymentTypeForm) (uint64, error) GetUserPaymentMethodProvider(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64) (string, error) IsUserPaymentMethodDefault(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64) (bool, error) IsUserPaymentMethodExpired(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64) (bool, error) SetUserPaymentMethodAccountNumber(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64, number string) error SetUserPaymentMethodDefault(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64, state bool) error SetUserPaymentMethodExpiryDate(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64, date time.Time) error SetUserPaymentMethodPaymentType(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64, pType uint64) error SetUserPaymentMethodProvider(ctx context.Context, form *UserPaymentMethodForm[AccountID], mid uint64, provider string) error }
type DBUserPaymentMethodManager ¶
type DBUserPaymentMethodManager[AccountID comparable] interface { GetUserPaymentMethodCount(ctx context.Context) (uint64, error) GetUserPaymentMethods(ctx context.Context, methods []DBUserPaymentMethodResult[AccountID], methodForms []*UserPaymentMethodForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserPaymentMethodResult[AccountID], []*UserPaymentMethodForm[AccountID], error) RemoveAllUserPaymentMethods(ctx context.Context) error InitUserPaymentMethodManager(ctx context.Context) error FillUserPaymentMethodWithID(ctx context.Context, mid uint64, paymentMethodForm *UserPaymentMethodForm[AccountID]) error }
type DBUserPaymentMethodResult ¶
type DBUserPaymentMethodResult[AccountID comparable] struct { ID uint64 AID AccountID }
type DBUserReview ¶
type DBUserReview[AccountID comparable] interface { GetUserReviewRatingValue(ctx context.Context, form *UserReviewForm[AccountID], reviewID uint64) (int32, error) SetUserReviewRatingValue(ctx context.Context, form *UserReviewForm[AccountID], reviewID uint64, rating int32) error GetUserReviewComment(ctx context.Context, form *UserReviewForm[AccountID], reviewID uint64) (string, error) SetUserReviewComment(ctx context.Context, form *UserReviewForm[AccountID], reviewID uint64, comment string) error GetUserReviewProductItem(ctx context.Context, form *UserReviewForm[AccountID], reviewID uint64, productItemForm *ProductItemForm[AccountID], fs FileStorage) (uint64, error) }
type DBUserReviewManager ¶
type DBUserReviewManager[AccountID comparable] interface { InitUserReviewManager(ctx context.Context) error NewUserReview(ctx context.Context, userAccountID AccountID, productItemID uint64, ratingValue int32, comment string, reviewForm *UserReviewForm[AccountID]) (uint64, error) RemoveUserReview(ctx context.Context, reviewID uint64) error RemoveAllUserReviews(ctx context.Context) error GetUserReviewCount(ctx context.Context) (uint64, error) GetUserReviews(ctx context.Context, ids []DBUserReviewResult[AccountID], reviewForms []*UserReviewForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserReviewResult[AccountID], []*UserReviewForm[AccountID], error) GetUserReviewsForProductItem(ctx context.Context, productItemID uint64, ids []DBUserReviewResult[AccountID], reviewForms []*UserReviewForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserReviewResult[AccountID], []*UserReviewForm[AccountID], error) GetUserReviewsForAccount(ctx context.Context, accountID AccountID, ids []DBUserReviewResult[AccountID], reviewForms []*UserReviewForm[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]DBUserReviewResult[AccountID], []*UserReviewForm[AccountID], error) FillUserReviewWithID(ctx context.Context, rid uint64, reviewForm *UserReviewForm[AccountID]) error }
type DBUserReviewResult ¶
type DBUserReviewResult[AccountID comparable] struct { ID uint64 AID AccountID }
type DBUserRole ¶
type DBUserRoleManager ¶
type DBUserRoleManager interface {
ExistsUserRole(ctx context.Context, name string) (bool, error)
GetUserRoleByName(ctx context.Context, name string, roleForm *UserRoleForm) (uint64, error)
GetUserRoleCount(ctx context.Context) (uint64, error)
GetUserRoles(ctx context.Context, roles []uint64, roleForms []*UserRoleForm, skip int64, limit int64, queueOrder QueueOrder) ([]uint64, []*UserRoleForm, error)
NewUserRole(ctx context.Context, name string, roleForm *UserRoleForm) (uint64, error)
RemoveAllUserRoles(ctx context.Context) error
RemoveUserRole(ctx context.Context, country uint64) error
InitUserRoleManager(ctx context.Context) error
FillUserRoleWithID(ctx context.Context, rid uint64, roleForm *UserRoleForm) error
}
type DBUserShoppingCart ¶
type DBUserShoppingCart[AccountID comparable] interface { CalculateUserShoppingCartDept(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64, shippingMethod uint64) (float64, error) GetUserShoppingCartSessionText(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64) (string, error) GetUserShoppingCartItemCount(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64) (uint64, error) GetUserShoppingCartItems(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64, items []uint64, itemForms []*UserShoppingCartItemForm[AccountID], skip int64, limit int64, queueOrder QueueOrder, fs FileStorage, osm OrderStatusManager) ([]uint64, []*UserShoppingCartItemForm[AccountID], error) NewUserShoppingCartShoppingCartItem(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64, productItem uint64, count int64, attrs json.RawMessage, itemForm *UserShoppingCartItemForm[AccountID], fs FileStorage, osm OrderStatusManager) (uint64, error) OrderUserShoppingCart(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64, paymentMethod uint64, address uint64, shippingMethod uint64, userComment string, discountCode string, orderForm *UserOrderForm[AccountID]) (uint64, error) RemoveUserShoppingCartAllShoppingCartItems(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64) error RemoveUserShoppingCartShoppingCartItem(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64, itid uint64) error SetUserShoppingCartSessionText(ctx context.Context, form *UserShoppingCartForm[AccountID], sid uint64, text string) error }
type DBUserShoppingCartItem ¶
type DBUserShoppingCartItem[AccountID comparable] interface { AddUserShoppingCartItemQuantity(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64, delta int64) error CalculateUserShoppingCartItemDept(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64) (float64, error) GetUserShoppingCartItemProductItem(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64, pItemForm *ProductItemForm[AccountID], db FileStorage) (uint64, error) GetUserShoppingCartItemQuantity(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64) (int64, error) GetUserShoppingCartItemShoppingCart(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64, cartForm *UserShoppingCartForm[AccountID], db FileStorage, osm OrderStatusManager) (uint64, error) SetUserShoppingCartItemQuantity(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64, quantity int64) error GetUserShoppingCartItemAttributes(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64) (json.RawMessage, error) SetUserShoppingCartItemAttributes(ctx context.Context, form *UserShoppingCartItemForm[AccountID], itid uint64, attrs json.RawMessage) error }
type DBUserShoppingCartManager ¶
type DBUserShoppingCartManager[AccountID comparable] interface { GetShoppingCartBySessionText(ctx context.Context, sessionText string, cartForm *UserShoppingCartForm[AccountID]) (uint64, error) GetShoppingCartCount(ctx context.Context) (uint64, error) GetShoppingCarts(ctx context.Context, ids []DBUserUserShoppingCartResult[AccountID], cartForms []*UserShoppingCartForm[AccountID], skip int64, limit int64, order QueueOrder) ([]DBUserUserShoppingCartResult[AccountID], []*UserShoppingCartForm[AccountID], error) RemoveAllShoppingCarts(ctx context.Context) error InitUserShoppingCartManager(ctx context.Context) error FillUserShoppingCartWithID(ctx context.Context, cid uint64, cartForm *UserShoppingCartForm[AccountID]) error FillUserShoppingCartItemWithID(ctx context.Context, iid uint64, cartForm *UserShoppingCartItemForm[AccountID]) error }
type DBUserUserShoppingCartResult ¶
type DBUserUserShoppingCartResult[AccountID comparable] struct { ID uint64 AID AccountID }
type FileCloser ¶
type FileCloser interface {
io.Closer
FileIdentifier
}
type FileIO ¶
type FileIO interface {
FileReader
FileWriter
FileCloser
io.Seeker
}
type FileIdentifier ¶
type FileReadCloser ¶
type FileReadCloser interface {
FileReader
FileCloser
}
type FileReader ¶
type FileReader interface {
io.Reader
FileIdentifier
}
type FileStorage ¶
type FileStorage interface {
GeneralClosable
Connect(ctx context.Context) error
Open(ctx context.Context, token string) (FileIO, error)
Create(ctx context.Context, token string) (FileIO, error)
Exists(ctx context.Context, token string) (bool, error)
Delete(ctx context.Context, token string) error
DeleteAll(ctx context.Context, path string) error
}
type FileWriteCloser ¶
type FileWriteCloser interface {
FileWriter
FileCloser
}
type FileWriter ¶
type FileWriter interface {
io.Writer
FileIdentifier
}
type GeneralAppObject ¶
type GeneralAppObject interface {
GeneralInitiative
GeneralClosable
GeneralPulsable
}
type GeneralClosable ¶
type GeneralInitiative ¶
type GeneralPulsable ¶
type OrderStatus ¶
type OrderStatus interface {
GeneralAppObject
GetID(ctx context.Context) (uint64, error)
GetName(ctx context.Context) (string, error)
SetName(ctx context.Context, name string) error
IsDeliveried(ctx context.Context) (bool, error)
ToBuiltinObject(ctx context.Context) (*BuiltinOrderStatus, error)
ToFormObject(ctx context.Context) (*OrderStatusForm, error)
ApplyFormObject(ctx context.Context, form *OrderStatusForm) error
}
type OrderStatusForm ¶
type OrderStatusForm struct {
ID uint64 `json:"id"`
Name *string `json:"name,omitempty"`
IsDeliveriedState *bool `json:"is_deliveried,omitempty"`
}
func (*OrderStatusForm) Clone ¶
func (form *OrderStatusForm) Clone(ctx context.Context) (OrderStatusForm, error)
type OrderStatusManager ¶
type OrderStatusManager interface {
GeneralAppObject
GetOrderStatusWithID(ctx context.Context, aid uint64, fill bool) (OrderStatus, error)
NewOrderStatus(ctx context.Context, name string) (OrderStatus, error)
RemoveOrderStatus(ctx context.Context, status OrderStatus) error
RemoveAllOrderStatuses(ctx context.Context) error
GetOrderStatuses(ctx context.Context, orderStatuses []OrderStatus, skip int64, limit int64, queueOrder QueueOrder) ([]OrderStatus, error)
GetOrderStatusCount(ctx context.Context) (uint64, error)
GetOrderStatusByName(ctx context.Context, name string) (OrderStatus, error)
ExistsOrderStatus(ctx context.Context, name string) (bool, error)
GetDeliveriedOrderStatus(ctx context.Context) (OrderStatus, error)
GetIdleOrderStatus(ctx context.Context) (OrderStatus, error)
ToBuiltinObject(ctx context.Context) (*BuiltinOrderStatusManager, error)
}
type PaymentType ¶
type PaymentType interface {
GeneralAppObject
GetID(ctx context.Context) (uint64, error)
GetName(ctx context.Context) (string, error)
SetName(ctx context.Context, name string) error
ToBuiltinObject(ctx context.Context) (*BuiltinPaymentType, error)
ToFormObject(ctx context.Context) (*PaymentTypeForm, error)
ApplyFormObject(ctx context.Context, form *PaymentTypeForm) error
}
type PaymentTypeForm ¶
func (*PaymentTypeForm) Clone ¶
func (form *PaymentTypeForm) Clone(ctx context.Context) (PaymentTypeForm, error)
type PaymentTypeManager ¶
type PaymentTypeManager interface {
GeneralAppObject
GetPaymentTypeWithID(ctx context.Context, aid uint64, fill bool) (PaymentType, error)
NewPaymentType(ctx context.Context, name string) (PaymentType, error)
RemovePaymentType(ctx context.Context, paymentType PaymentType) error
RemoveAllPaymentTypes(ctx context.Context) error
GetPaymentTypes(ctx context.Context, paymentTypes []PaymentType, skip int64, limit int64, queueOrder QueueOrder) ([]PaymentType, error)
GetPaymentTypeCount(ctx context.Context) (uint64, error)
GetPaymentTypeByName(ctx context.Context, name string) (PaymentType, error)
ExistsPaymentType(ctx context.Context, name string) (bool, error)
ToBuiltinObject(ctx context.Context) (*BuiltinPaymentTypeManager, error)
}
type Product ¶
type Product[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetName(ctx context.Context) (string, error) SetName(ctx context.Context, name string) error GetDescription(ctx context.Context) (string, error) SetDescription(ctx context.Context, desc string) error GetImages(ctx context.Context) ([]FileReadCloser, error) SetImages(ctx context.Context, images []FileReader) error GetProductCategory(ctx context.Context) (ProductCategory[AccountID], error) SetProductCategory(ctx context.Context, category ProductCategory[AccountID]) error AddProductItem(ctx context.Context, sku string, name string, price float64, quantity uint64, images []FileReader, attrs json.RawMessage) (ProductItem[AccountID], error) RemoveProductItem(ctx context.Context, item ProductItem[AccountID]) error RemoveAllProductItems(ctx context.Context) error GetProductItems(ctx context.Context, items []ProductItem[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItem[AccountID], error) GetProductItemCount(ctx context.Context) (uint64, error) ToBuiltinObject(ctx context.Context) (*BuiltinProduct[AccountID], error) ToFormObject(ctx context.Context) (*ProductForm[AccountID], error) ApplyFormObject(ctx context.Context, form *ProductForm[AccountID]) error }
type ProductCategory ¶
type ProductCategory[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetName(ctx context.Context) (string, error) SetName(ctx context.Context, name string) error GetParentProductCategory(ctx context.Context) (ProductCategory[AccountID], error) SetParentProductCategory(ctx context.Context, parent ProductCategory[AccountID]) error NewProduct(ctx context.Context, name string, description string, images []FileReader) (Product[AccountID], error) RemoveProduct(ctx context.Context, product Product[AccountID]) error RemoveAllProducts(ctx context.Context) error GetProducts(ctx context.Context, products []Product[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]Product[AccountID], error) GetProductCount(ctx context.Context) (uint64, error) ToBuiltinObject(ctx context.Context) (*BuiltinProductCategory[AccountID], error) ToFormObject(ctx context.Context) (*ProductCategoryForm[AccountID], error) ApplyFormObject(ctx context.Context, form *ProductCategoryForm[AccountID]) error }
type ProductCategoryForm ¶
type ProductCategoryForm[AccountID comparable] struct { ID uint64 `json:"id"` Name *string `json:"name,omitempty"` ParentProductCategory *BuiltinProductCategory[AccountID] `json:"parent_product_category,omitempty"` ProductCount *uint64 `json:"product_count,omitempty"` }
func (*ProductCategoryForm[AccountID]) Clone ¶
func (form *ProductCategoryForm[AccountID]) Clone(ctx context.Context) (ProductCategoryForm[AccountID], error)
type ProductForm ¶
type ProductForm[AccountID comparable] struct { ID uint64 `json:"id,omitempty"` Description *string `json:"description,omitempty"` Images *[]string `json:"images,omitempty"` Name *string `json:"name,omitempty"` ProductCategory *BuiltinProductCategory[AccountID] `json:"product_category,omitempty"` ProductItemCount *uint64 `json:"product_item_count,omitempty"` }
func (*ProductForm[AccountID]) Clone ¶
func (form *ProductForm[AccountID]) Clone(ctx context.Context) (ProductForm[AccountID], error)
type ProductItem ¶
type ProductItem[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetName(ctx context.Context) (string, error) SetName(ctx context.Context, name string) error GetSKU(ctx context.Context) (string, error) // slug SetSKU(ctx context.Context, sku string) error GetPrice(ctx context.Context) (float64, error) SetPrice(ctx context.Context, price float64) error GetQuantityInStock(ctx context.Context) (uint64, error) SetQuantityInStock(ctx context.Context, quantity uint64) error AddQuantityInStock(ctx context.Context, delta int64) error GetImages(ctx context.Context) ([]FileReadCloser, error) SetImages(ctx context.Context, images []FileReader) error GetAttributes(ctx context.Context) (json.RawMessage, error) SetAttributes(ctx context.Context, attrs json.RawMessage) error GetProduct(ctx context.Context) (Product[AccountID], error) SetProduct(ctx context.Context, product Product[AccountID]) error GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error) GetUserReviewCount(ctx context.Context) (uint64, error) CalculateAverageRating(ctx context.Context) (float64, error) ToBuiltinObject(ctx context.Context) (*BuiltinProductItem[AccountID], error) ToFormObject(ctx context.Context) (*ProductItemForm[AccountID], error) ApplyFormObject(ctx context.Context, form *ProductItemForm[AccountID]) error }
type ProductItemForm ¶
type ProductItemForm[AccountID comparable] struct { ID uint64 `json:"id"` Attributes *json.RawMessage `json:"attributes,omitempty"` Images *[]string `json:"images,omitempty"` Price *float64 `json:"price,omitempty"` Product *BuiltinProduct[AccountID] `json:"product,omitempty"` QuantityInStock *uint64 `json:"quantity_in_stock,omitempty"` Name *string `json:"name,omitempty"` SKU *string `json:"sku,omitempty"` }
func (*ProductItemForm[AccountID]) Clone ¶
func (form *ProductItemForm[AccountID]) Clone(ctx context.Context) (ProductItemForm[AccountID], error)
type ProductItemSubscription ¶
type ProductItemSubscription[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetProductItem(ctx context.Context) (ProductItem[AccountID], error) SetProductItem(ctx context.Context, productItem ProductItem[AccountID]) error GetSubscribedAt(ctx context.Context) (time.Time, error) SetSubscribedAt(ctx context.Context, subscribedAt time.Time) error GetExpiresAt(ctx context.Context) (time.Time, error) SetExpiresAt(ctx context.Context, expiresAt time.Time) error GetDuration(ctx context.Context) (time.Duration, error) SetDuration(ctx context.Context, duration time.Duration) error GetSubscriptionType(ctx context.Context) (string, error) SetSubscriptionType(ctx context.Context, subscriptionType string) error IsAutoRenew(ctx context.Context) (bool, error) SetAutoRenew(ctx context.Context, autoRenew bool) error IsActive(ctx context.Context) (bool, error) SetActive(ctx context.Context, isActive bool) error IsExpired(ctx context.Context) (bool, error) Cancel(ctx context.Context) error ToBuiltinObject(ctx context.Context) (*BuiltinProductItemSubscription[AccountID], error) ToFormObject(ctx context.Context) (*ProductItemSubscriptionForm[AccountID], error) ApplyFormObject(ctx context.Context, form *ProductItemSubscriptionForm[AccountID]) error }
type ProductItemSubscriptionForm ¶
type ProductItemSubscriptionForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"user_account_id"` ProductItem *BuiltinProductItem[AccountID] `json:"product_item,omitempty"` SubscribedAt *time.Time `json:"subscribed_at,omitempty"` ExpiresAt *time.Time `json:"expires_at,omitempty"` Duration *time.Duration `json:"duration,omitempty"` SubscriptionType *string `json:"subscription_type,omitempty"` AutoRenew *bool `json:"auto_renew,omitempty"` IsActive *bool `json:"is_active,omitempty"` }
func (*ProductItemSubscriptionForm[AccountID]) Clone ¶
func (form *ProductItemSubscriptionForm[AccountID]) Clone(ctx context.Context) (ProductItemSubscriptionForm[AccountID], error)
type ProductItemSubscriptionManager ¶
type ProductItemSubscriptionManager[AccountID comparable] interface { GeneralAppObject GetProductItemSubscriptionWithID(ctx context.Context, aid uint64, fill bool) (ProductItemSubscription[AccountID], error) NewSubscription(ctx context.Context, account UserAccount[AccountID], productItem ProductItem[AccountID], duration time.Duration, subscriptionType string, autoRenew bool) (ProductItemSubscription[AccountID], error) RemoveSubscription(ctx context.Context, subscription ProductItemSubscription[AccountID]) error RemoveAllSubscriptions(ctx context.Context) error GetSubscriptions(ctx context.Context, subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error) GetSubscriptionCount(ctx context.Context) (uint64, error) GetUserSubscriptions(ctx context.Context, account UserAccount[AccountID], subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error) GetUserSubscriptionCount(ctx context.Context, account UserAccount[AccountID]) (uint64, error) GetProductItemSubscriptions(ctx context.Context, productItem ProductItem[AccountID], subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error) GetProductItemSubscriptionCount(ctx context.Context, productItem ProductItem[AccountID]) (uint64, error) SetRenewalHandler(ctx context.Context, handler RenewalHandlerFunc[AccountID]) error ProcessExpiredSubscriptions(ctx context.Context) error ToBuiltinObject(ctx context.Context) (*BuiltinProductItemSubscriptionManager[AccountID], error) }
type ProductManager ¶
type ProductManager[AccountID comparable] interface { GeneralAppObject GetProductCategoryWithID(ctx context.Context, aid uint64, fill bool) (ProductCategory[AccountID], error) GetProductWithID(ctx context.Context, aid uint64, fill bool) (Product[AccountID], error) GetProductItemWithID(ctx context.Context, aid uint64, fill bool) (ProductItem[AccountID], error) NewProductCategory(ctx context.Context, name string, parentCategory ProductCategory[AccountID]) (ProductCategory[AccountID], error) RemoveProductCategory(ctx context.Context, category ProductCategory[AccountID]) error RemoveAllProductCategroies(ctx context.Context) error GetProductCategories(ctx context.Context, categories []ProductCategory[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductCategory[AccountID], error) GetProductCategoryCount(ctx context.Context) (uint64, error) SearchForProductCategories(ctx context.Context, searchText string, deepSearch bool, categories []ProductCategory[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductCategory[AccountID], error) SearchForProducts(ctx context.Context, searchText string, deepSearch bool, products []Product[AccountID], skip int64, limit int64, queueOrder QueueOrder, category ProductCategory[AccountID]) ([]Product[AccountID], error) SearchForProductItems(ctx context.Context, searchText string, deepSearch bool, items []ProductItem[AccountID], skip int64, limit int64, queueOrder QueueOrder, product Product[AccountID], category ProductCategory[AccountID]) ([]ProductItem[AccountID], error) ToBuiltinObject(ctx context.Context) (*BuiltinProductManager[AccountID], error) }
type QueueOrder ¶
type QueueOrder string
const ( QueueOrderAscending QueueOrder = "asc" QueueOrderDescending QueueOrder = "desc" )
func (QueueOrder) String ¶
func (q QueueOrder) String() string
type RenewalHandlerFunc ¶
type RenewalHandlerFunc[AccountID comparable] func(ctx context.Context, subscription ProductItemSubscription[AccountID], account UserAccount[AccountID], productItem ProductItem[AccountID]) (success bool, amountCharged float64, err error)
type ShippingMethod ¶
type ShippingMethod interface {
GeneralAppObject
GetID(ctx context.Context) (uint64, error)
GetName(ctx context.Context) (string, error)
SetName(ctx context.Context, name string) error
GetPrice(ctx context.Context) (float64, error)
SetPrice(ctx context.Context, price float64) error
ToBuiltinObject(ctx context.Context) (*BuiltinShippingMethod, error)
ToFormObject(ctx context.Context) (*ShippingMethodForm, error)
ApplyFormObject(ctx context.Context, form *ShippingMethodForm) error
}
type ShippingMethodForm ¶
type ShippingMethodForm struct {
ID uint64 `json:"id"`
Name *string `json:"name,omitempty"`
Price *float64 `json:"price,omitempty"`
}
func (*ShippingMethodForm) Clone ¶
func (form *ShippingMethodForm) Clone(ctx context.Context) (ShippingMethodForm, error)
type ShippingMethodManager ¶
type ShippingMethodManager interface {
GeneralAppObject
GetShippingMethodWithID(ctx context.Context, aid uint64, fill bool) (ShippingMethod, error)
NewShippingMethod(ctx context.Context, name string, price float64) (ShippingMethod, error)
RemoveShippingMethod(ctx context.Context, shippingMethod ShippingMethod) error
RemoveAllShippingMethods(ctx context.Context) error
GetShippingMethods(ctx context.Context, shippingMethods []ShippingMethod, skip int64, limit int64, queueOrder QueueOrder) ([]ShippingMethod, error)
GetShippingMethodCount(ctx context.Context) (uint64, error)
GetShippingMethodByName(ctx context.Context, name string) (ShippingMethod, error)
ExistsShippingMethod(ctx context.Context, name string) (bool, error)
ToBuiltinObject(ctx context.Context) (*BuiltinShippingMethodManager, error)
}
type UserAccount ¶
type UserAccount[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (AccountID, error) GetToken(ctx context.Context) (string, error) SetToken(ctx context.Context, token string) error GetPassword(ctx context.Context) (string, error) SetPassword(ctx context.Context, password string) error ValidatePassword(ctx context.Context, password string) (bool, error) GetFirstName(ctx context.Context) (string, error) SetFirstName(ctx context.Context, name string) error GetLastName(ctx context.Context) (string, error) SetLastName(ctx context.Context, name string) error GetLastUpdatedAt(ctx context.Context) (time.Time, error) SetLastUpdatedAt(ctx context.Context, lastUpdateAt time.Time) error GetRole(ctx context.Context) (UserRole, error) SetRole(ctx context.Context, role UserRole) error GetUserLevel(ctx context.Context) (int64, error) // admin level for example SetUserLevel(ctx context.Context, level int64) error IsSuperUser(ctx context.Context) (bool, error) SetSuperUser(ctx context.Context, state bool) error IsActive(ctx context.Context) (bool, error) SetActive(ctx context.Context, state bool) error GetProfileImages(ctx context.Context) ([]FileReadCloser, error) SetProfileImages(ctx context.Context, images []FileReader) error GetBio(ctx context.Context) (string, error) SetBio(ctx context.Context, bio string) error // Ban Ban(ctx context.Context, till time.Duration, reason string) error Unban(ctx context.Context) error IsBanned(ctx context.Context) (reason string, err error) AllowTrading(ctx context.Context, state bool) error IsTradingAllowed(ctx context.Context) (bool, error) // Fine Fine(ctx context.Context, amount float64) error SetPenalty(ctx context.Context, penalty float64) error // Wallet (Money, Currency) GetWalletCurrency(ctx context.Context) (float64, error) SetWalletCurrency(ctx context.Context, currency float64) error ChargeWallet(ctx context.Context, currency float64) error TransferCurrency(ctx context.Context, to UserAccount[AccountID], amount float64) error // Carts NewShoppingCart(ctx context.Context, sessionText string) (UserShoppingCart[AccountID], error) RemoveShoppingCart(ctx context.Context, cart UserShoppingCart[AccountID]) error RemoveAllShoppingCarts(ctx context.Context) error // for this user GetShoppingCartCount(ctx context.Context) (uint64, error) GetShoppingCarts(ctx context.Context, outCarts []UserShoppingCart[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserShoppingCart[AccountID], error) // Addresses NewAddress(ctx context.Context, unitNumber, street_number, addressLine1, addressLine2, city, region, postalCode string, country Country, isDefault bool) (UserAddress[AccountID], error) RemoveAddress(ctx context.Context, address UserAddress[AccountID]) error RemoveAllAddresses(ctx context.Context) error // for this user GetAddresses(ctx context.Context, addresses []UserAddress[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserAddress[AccountID], error) GetAddressCount(ctx context.Context) (uint64, error) GetDefaultAddress(ctx context.Context) (UserAddress[AccountID], error) // Payment methods NewPaymentMethod(ctx context.Context, paymentType PaymentType, provider, accoutNumber string, expiryDate time.Time, isDefault bool) (UserPaymentMethod[AccountID], error) RemovePaymentMethod(ctx context.Context, paymentMethod UserPaymentMethod[AccountID]) error RemoveAllPaymentMethods(ctx context.Context) error GetPaymentMethods(ctx context.Context, paymentMethods []UserPaymentMethod[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserPaymentMethod[AccountID], error) GetPaymentMethodCount(ctx context.Context) (uint64, error) GetDefaultPaymentMethod(ctx context.Context) (UserPaymentMethod[AccountID], error) // Orders RemoveOrder(ctx context.Context, order UserOrder[AccountID]) error RemoveAllOrders(ctx context.Context) error // orders for this user GetOrders(ctx context.Context, orders []UserOrder[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserOrder[AccountID], error) GetOrderCount(ctx context.Context) (uint64, error) // Dept HasPenalty(ctx context.Context) (bool, error) // if wallet currency is negative it has penalty CalculateTotalDeptsWithoutPenalty(ctx context.Context) (currency float64, err error) // total shopping carts dept CalculateTotalDepts(ctx context.Context) (currency float64, err error) // depts without penalty + penalty depts // Reviews GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error) GetUserReviewCount(ctx context.Context) (uint64, error) // Subscriptions GetSubscriptions(ctx context.Context, subscriptions []ProductItemSubscription[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]ProductItemSubscription[AccountID], error) GetSubscriptionCount(ctx context.Context) (uint64, error) RemoveSubscription(ctx context.Context, subscription ProductItemSubscription[AccountID]) error RemoveAllSubscriptions(ctx context.Context) error // Factors GetUserFactors(ctx context.Context, factors []UserFactor[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserFactor[AccountID], error) GetUserFactorCount(ctx context.Context) (uint64, error) // Discounts NewDiscount(ctx context.Context, value float64, validCount int64) (UserDiscount[AccountID], error) RemoveDiscount(ctx context.Context, discount UserDiscount[AccountID]) error RemoveAllDiscounts(ctx context.Context) error GetDiscounts(ctx context.Context, discounts []UserDiscount[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserDiscount[AccountID], error) GetDiscountCount(ctx context.Context) (uint64, error) ToBuiltinObject(ctx context.Context) (*BuiltinUserAccount[AccountID], error) ToFormObject(ctx context.Context) (*UserAccountForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserAccountForm[AccountID]) error }
type UserAccountForm ¶
type UserAccountForm[AccountID comparable] struct { ID AccountID `json:"id"` TotalDepts *float64 `json:"total_depts,omitempty"` TotalDeptsWithoutPenalty *float64 `json:"total_depts_without_penalty,omitempty"` AddressCount *uint64 `json:"address_count,omitempty"` Bio *string `json:"bio,omitempty"` DefaultAddress *BuiltinUserAddress[AccountID] `json:"default_address,omitempty"` DefaultPaymentMethod *BuiltinUserPaymentMethod[AccountID] `json:"default_payment_method,omitempty"` FirstName *string `json:"first_name,omitempty"` LastName *string `json:"last_name,omitempty"` LastUpdatedAt *time.Time `json:"last_updated_at,omitempty"` OrderCount *uint64 `json:"order_count,omitempty"` Password *string `json:"password,omitempty"` PaymentMethodCount *uint64 `json:"payment_method_count,omitempty"` ProfileImages *[]string `json:"profile_images,omitempty"` Role *BuiltinUserRole `json:"role,omitempty"` ShoppingCartCount *uint64 `json:"shopping_cart_count,omitempty"` Token *string `json:"token,omitempty"` UserLevel *int64 `json:"user_level,omitempty"` WalletCurrency *float64 `json:"wallet_currency,omitempty"` Penalty *float64 `json:"penalty,omitempty"` IsActiveState *bool `json:"is_active_state,omitempty"` IsBannedState *string `json:"is_banned_state,omitempty"` IsSuperUserState *bool `json:"is_super_user_state,omitempty"` IsTradingAllowedState *bool `json:"is_trading_allowed,omitempty"` }
func (*UserAccountForm[AccountID]) Clone ¶
func (form *UserAccountForm[AccountID]) Clone(ctx context.Context) (UserAccountForm[AccountID], error)
type UserAccountManager ¶
type UserAccountManager[AccountID comparable] interface { GeneralAppObject GetAccount(ctx context.Context, token string) (UserAccount[AccountID], error) GetAccountWithID(ctx context.Context, aid AccountID, fill bool) (UserAccount[AccountID], error) NewAccount(ctx context.Context, token string, password string, twoFactor string) (UserAccount[AccountID], error) RemoveAccount(ctx context.Context, account UserAccount[AccountID]) error RemoveAccountWithToken(ctx context.Context, token string, password string, twoFactor string) error RemoveAllAccounts(ctx context.Context) error GetAccounts(ctx context.Context, accounts []UserAccount[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserAccount[AccountID], error) GetAccountCount(ctx context.Context) (uint64, error) Authenticate(ctx context.Context, token string, password string, twoFactor string) (UserAccount[AccountID], error) RequestTwoFactor(ctx context.Context, token string) (string, error) ValidateTwoFactor(ctx context.Context, token string, code string) (bool, error) CancelTwoFactor(ctx context.Context, token string) error ToBuiltinObject(ctx context.Context) (*BuiltinUserAccountManager[AccountID], error) }
type UserAddress ¶
type UserAddress[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetUnitNumber(ctx context.Context) (string, error) SetUnitNumber(ctx context.Context, unitNumber string) error GetStreetNumber(ctx context.Context) (string, error) SetStreetNumber(ctx context.Context, streetNumber string) error GetAddressLine1(ctx context.Context) (string, error) SetAddressLine1(ctx context.Context, address string) error GetAddressLine2(ctx context.Context) (string, error) SetAddressLine2(ctx context.Context, address string) error GetCity(ctx context.Context) (string, error) SetCity(ctx context.Context, city string) error GetRegion(ctx context.Context) (string, error) SetRegion(ctx context.Context, region string) error GetPostalCode(ctx context.Context) (string, error) SetPostalCode(ctx context.Context, code string) error GetCountry(ctx context.Context) (Country, error) SetCountry(ctx context.Context, country Country) error IsDefault(ctx context.Context) (bool, error) SetDefault(ctx context.Context) error ToBuiltinObject(ctx context.Context) (*BuiltinUserAddress[AccountID], error) ToFormObject(ctx context.Context) (*UserAddressForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserAddressForm[AccountID]) error }
type UserAddressForm ¶
type UserAddressForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` AddressLine1 *string `json:"address_line1,omitempty"` AddressLine2 *string `json:"address_line2,omitempty"` City *string `json:"city,omitempty"` Country *BuiltinCountry `json:"country,omitempty"` PostalCode *string `json:"postal_code,omitempty"` Region *string `json:"region,omitempty"` StreetNumber *string `json:"street_number,omitempty"` UnitNumber *string `json:"unit_number,omitempty"` IsDefaultState *bool `json:"is_default,omitempty"` }
func (*UserAddressForm[AccountID]) Clone ¶
func (form *UserAddressForm[AccountID]) Clone(ctx context.Context) (UserAddressForm[AccountID], error)
type UserAddressManager ¶
type UserAddressManager[AccountID comparable] interface { GeneralAppObject GetAddressWithID(ctx context.Context, aid uint64, fill bool) (UserAddress[AccountID], error) RemoveAllAddresses(ctx context.Context) error GetAddresses(ctx context.Context, addresses []UserAddress[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserAddress[AccountID], error) GetAddressCount(ctx context.Context) (uint64, error) ToBuiltinObject(ctx context.Context) (*BuiltinUserAddressManager[AccountID], error) }
type UserDiscount ¶
type UserDiscount[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetCode(ctx context.Context) (string, error) SetCode(ctx context.Context, code string) error GetValue(ctx context.Context) (float64, error) SetValue(ctx context.Context, value float64) error GetValidCount(ctx context.Context) (int64, error) SetValidCount(ctx context.Context, validCount int64) error DecrementValidCount(ctx context.Context) error GetUsedBy(ctx context.Context) ([]AccountID, error) HasUserUsed(ctx context.Context, account UserAccount[AccountID]) (bool, error) MarkAsUsedBy(ctx context.Context, account UserAccount[AccountID]) error ToBuiltinObject(ctx context.Context) (*BuiltinUserDiscount[AccountID], error) ToFormObject(ctx context.Context) (*UserDiscountForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserDiscountForm[AccountID]) error }
type UserDiscountForm ¶
type UserDiscountForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` Code *string `json:"code,omitempty"` Value *float64 `json:"value,omitempty"` ValidCount *int64 `json:"valid_count,omitempty"` UsedBy *[]AccountID `json:"used_by,omitempty"` }
func (*UserDiscountForm[AccountID]) Clone ¶
func (form *UserDiscountForm[AccountID]) Clone(ctx context.Context) (UserDiscountForm[AccountID], error)
type UserDiscountManager ¶
type UserDiscountManager[AccountID comparable] interface { GeneralAppObject GetUserDiscountWithID(ctx context.Context, aid uint64, fill bool) (UserDiscount[AccountID], error) NewUserDiscount(ctx context.Context, ownerAccount UserAccount[AccountID], value float64, validCount int64) (UserDiscount[AccountID], error) RemoveUserDiscount(ctx context.Context, discount UserDiscount[AccountID]) error RemoveAllUserDiscounts(ctx context.Context) error GetUserDiscounts(ctx context.Context, discounts []UserDiscount[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserDiscount[AccountID], error) GetUserDiscountCount(ctx context.Context) (uint64, error) GetUserDiscountByCode(ctx context.Context, code string) (UserDiscount[AccountID], error) ExistsUserDiscountCode(ctx context.Context, code string) (bool, error) ToBuiltinObject(ctx context.Context) (*BuiltinUserDiscountManager[AccountID], error) }
type UserFactor ¶
type UserFactor[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetProducts(ctx context.Context) (json.RawMessage, error) SetProducts(ctx context.Context, products json.RawMessage) error GetDiscount(ctx context.Context) (float64, error) SetDiscount(ctx context.Context, discount float64) error GetTax(ctx context.Context) (float64, error) SetTax(ctx context.Context, tax float64) error GetAmountPaid(ctx context.Context) (float64, error) SetAmountPaid(ctx context.Context, amountPaid float64) error ToBuiltinObject(ctx context.Context) (*BuiltinUserFactor[AccountID], error) ToFormObject(ctx context.Context) (*UserFactorForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserFactorForm[AccountID]) error }
type UserFactorForm ¶
type UserFactorForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` Products *json.RawMessage `json:"products,omitempty"` Discount *float64 `json:"discount,omitempty"` Tax *float64 `json:"tax,omitempty"` AmountPaid *float64 `json:"amount_paid,omitempty"` }
func (*UserFactorForm[AccountID]) Clone ¶
func (form *UserFactorForm[AccountID]) Clone(ctx context.Context) (UserFactorForm[AccountID], error)
type UserFactorManager ¶
type UserFactorManager[AccountID comparable] interface { GeneralAppObject GetFactorWithID(ctx context.Context, aid uint64, fill bool) (UserFactor[AccountID], error) GetUserFactors(ctx context.Context, account UserAccount[AccountID], factors []UserFactor[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserFactor[AccountID], error) GetUserFactorCount(ctx context.Context, account UserAccount[AccountID]) (uint64, error) RemoveAllUserFactors(ctx context.Context) error ToBuiltinObject(ctx context.Context) (*BuiltinUserFactorManager[AccountID], error) }
type UserOrder ¶
type UserOrder[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetOrderDate(ctx context.Context) (time.Time, error) SetOrderDate(ctx context.Context, date time.Time) error GetPaymentMethod(ctx context.Context) (UserPaymentMethod[AccountID], error) SetPaymentMethod(ctx context.Context, paymentMethod UserPaymentMethod[AccountID]) error GetShippingAddress(ctx context.Context) (UserAddress[AccountID], error) SetShippingAddress(ctx context.Context, address UserAddress[AccountID]) error GetShippingMethod(ctx context.Context) (ShippingMethod, error) SetShippingMethod(ctx context.Context, shippingMethod ShippingMethod) error GetOrderTotal(ctx context.Context) (float64, error) SetOrderTotal(ctx context.Context, price float64) error CalculateTotalPrice(ctx context.Context) (float64, error) GetStatus(ctx context.Context) (OrderStatus, error) SetStatus(ctx context.Context, status OrderStatus) error IsDeliveried(ctx context.Context) (bool, error) GetUserComment(ctx context.Context) (string, error) SetUserComment(ctx context.Context, comment string) error GetDeliveryDate(ctx context.Context) (time.Time, error) SetDeliveryDate(ctx context.Context, date time.Time) error GetDeliveryComment(ctx context.Context) (string, error) SetDeliveryComment(ctx context.Context, comment string) error Deliver(ctx context.Context, date time.Time, comment string) error GetProductItems(ctx context.Context, items []UserOrderProductItem[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserOrderProductItem[AccountID], error) GetProductItemCount(ctx context.Context) (uint64, error) SetProductItems(ctx context.Context, items []UserOrderProductItem[AccountID]) error ToBuiltinObject(ctx context.Context) (*BuiltinUserOrder[AccountID], error) ToFormObject(ctx context.Context) (*UserOrderForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserOrderForm[AccountID]) error }
type UserOrderForm ¶
type UserOrderForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` TotalPrice *float64 `json:"total_price,omitempty"` DeliveryComment *string `json:"delivery_comment,omitempty"` DeliveryDate *time.Time `json:"delivery_date,omitempty"` Date *time.Time `json:"date,omitempty"` Total *float64 `json:"total,omitempty"` PaymentMethod *BuiltinUserPaymentMethod[AccountID] `json:"payment_method,omitempty"` ProductItemCount *uint64 `json:"product_item_count,omitempty"` ShippingAddress *BuiltinUserAddress[AccountID] `json:"shipping_address,omitempty"` ShippingMethod *BuiltinShippingMethod `json:"shipping_method,omitempty"` Status *BuiltinOrderStatus `json:"status,omitempty"` UserComment *string `json:"user_comment,omitempty"` IsDeliveriedState *bool `json:"is_deliveried,omitempty"` }
func (*UserOrderForm[AccountID]) Clone ¶
func (form *UserOrderForm[AccountID]) Clone(ctx context.Context) (UserOrderForm[AccountID], error)
type UserOrderManager ¶
type UserOrderManager[AccountID comparable] interface { GeneralAppObject GetOrderWithID(ctx context.Context, aid uint64, fill bool) (UserOrder[AccountID], error) RemoveAllUserOrders(ctx context.Context) error GetUserOrders(ctx context.Context, orders []UserOrder[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserOrder[AccountID], error) GetUserOrderCount(ctx context.Context) (uint64, error) ToBuiltinObject(ctx context.Context) (*BuiltinUserOrderManager[AccountID], error) }
type UserOrderProductItem ¶
type UserOrderProductItem[AccountID comparable] struct { ProductItem *BuiltinProductItem[AccountID] `json:"product_item"` Quantity uint64 `json:"quantity"` Attributes json.RawMessage `json:"attributes,omitempty"` }
type UserPaymentMethod ¶
type UserPaymentMethod[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetPaymentType(ctx context.Context) (PaymentType, error) SetPaymentType(ctx context.Context, paymentType PaymentType) error GetProvider(ctx context.Context) (string, error) SetProvider(ctx context.Context, provider string) error GetAccountNumber(ctx context.Context) (string, error) SetAccountNumber(ctx context.Context, accountNumber string) error GetExpiryDate(ctx context.Context) (time.Time, error) SetExpiryDate(ctx context.Context, date time.Time) error IsExpired(ctx context.Context) (bool, error) IsDefault(ctx context.Context) (bool, error) SetDefault(ctx context.Context, state bool) error ToBuiltinObject(ctx context.Context) (*BuiltinUserPaymentMethod[AccountID], error) ToFormObject(ctx context.Context) (*UserPaymentMethodForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserPaymentMethodForm[AccountID]) error }
type UserPaymentMethodForm ¶
type UserPaymentMethodForm[AccountID any] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` PaymentType *BuiltinPaymentType `json:"payment_Type,omitempty"` Provider *string `json:"provider,omitempty"` AccountNumber *string `json:"account_number,omitempty"` ExpiryDate *time.Time `json:"expiry_date,omitempty"` IsExpiredState *bool `json:"is_expired,omitempty"` IsDefaultState *bool `json:"is_default,omitempty"` }
func (*UserPaymentMethodForm[AccountID]) Clone ¶
func (form *UserPaymentMethodForm[AccountID]) Clone(ctx context.Context) (UserPaymentMethodForm[AccountID], error)
type UserPaymentMethodManager ¶
type UserPaymentMethodManager[AccountID comparable] interface { GeneralAppObject GetPaymentMethodWithID(ctx context.Context, aid uint64, fill bool) (UserPaymentMethod[AccountID], error) RemoveAllPaymentMethods(ctx context.Context) error GetPaymentMethods(ctx context.Context, paymentMethods []UserPaymentMethod[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserPaymentMethod[AccountID], error) GetPaymentMethodCount(ctx context.Context) (uint64, error) ToBuiltinObject(ctx context.Context) (*BuiltinUserPaymentMethodManager[AccountID], error) }
type UserReview ¶
type UserReview[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetRatingValue(ctx context.Context) (int32, error) SetRatingValue(ctx context.Context, rating int32) error GetComment(ctx context.Context) (string, error) SetComment(ctx context.Context, comment string) error GetProductItem(ctx context.Context) (ProductItem[AccountID], error) ToBuiltinObject(ctx context.Context) (*BuiltinUserReview[AccountID], error) ToFormObject(ctx context.Context) (*UserReviewForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserReviewForm[AccountID]) error }
type UserReviewForm ¶
type UserReviewForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"user_account_id"` RatingValue *int32 `json:"rating_value,omitempty"` Comment *string `json:"comment,omitempty"` ProductItem *BuiltinProductItem[AccountID] `json:"product_item,omitempty"` }
func (*UserReviewForm[AccountID]) Clone ¶
func (form *UserReviewForm[AccountID]) Clone(ctx context.Context) (UserReviewForm[AccountID], error)
type UserReviewManager ¶
type UserReviewManager[AccountID comparable] interface { GeneralAppObject GetUserReviewWithID(ctx context.Context, aid uint64, fill bool) (UserReview[AccountID], error) NewUserReview(ctx context.Context, account UserAccount[AccountID], productItem ProductItem[AccountID], ratingValue int32, comment string) (UserReview[AccountID], error) RemoveUserReview(ctx context.Context, review UserReview[AccountID]) error RemoveAllUserReviews(ctx context.Context) error GetUserReviews(ctx context.Context, reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error) GetUserReviewCount(ctx context.Context) (uint64, error) GetUserReviewsForProductItem(ctx context.Context, productItem ProductItem[AccountID], reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error) GetUserReviewsForAccount(ctx context.Context, account UserAccount[AccountID], reviews []UserReview[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserReview[AccountID], error) ToBuiltinObject(ctx context.Context) (*BuiltinUserReviewManager[AccountID], error) }
type UserRole ¶
type UserRole interface {
GeneralAppObject
GetID(ctx context.Context) (uint64, error)
GetName(ctx context.Context) (string, error)
SetName(ctx context.Context, name string) error
ToBuiltinObject(ctx context.Context) (*BuiltinUserRole, error)
ToFormObject(ctx context.Context) (*UserRoleForm, error)
ApplyFormObject(ctx context.Context, form *UserRoleForm) error
}
type UserRoleForm ¶
func (*UserRoleForm) Clone ¶
func (form *UserRoleForm) Clone(ctx context.Context) (UserRoleForm, error)
type UserRoleManager ¶
type UserRoleManager interface {
GeneralAppObject
GetRoleWithID(ctx context.Context, aid uint64, fill bool) (UserRole, error)
NewUserRole(ctx context.Context, name string) (UserRole, error)
RemoveUserRole(ctx context.Context, role UserRole) error
RemoveAllUserRoles(ctx context.Context) error
GetUserRoles(ctx context.Context, roles []UserRole, skip int64, limit int64, queueOrder QueueOrder) ([]UserRole, error)
GetUserRoleCount(ctx context.Context) (uint64, error)
GetUserRoleByName(ctx context.Context, name string) (UserRole, error)
ExistsUserRole(ctx context.Context, name string) (bool, error)
ToBuiltinObject(ctx context.Context) (*BuiltinUserRoleManager, error)
}
type UserShoppingCart ¶
type UserShoppingCart[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetSessionText(ctx context.Context) (string, error) SetSessionText(ctx context.Context, sessionText string) error NewShoppingCartItem(ctx context.Context, item ProductItem[AccountID], count int64, attrs json.RawMessage) (UserShoppingCartItem[AccountID], error) RemoveShoppingCartItem(ctx context.Context, item UserShoppingCartItem[AccountID]) error RemoveAllShoppingCartItems(ctx context.Context) error GetShoppingCartItems(ctx context.Context, items []UserShoppingCartItem[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserShoppingCartItem[AccountID], error) GetShoppingCartItemCount(ctx context.Context) (uint64, error) CalculateDept(ctx context.Context, shippingMethod ShippingMethod) (float64, error) Order(ctx context.Context, paymentMethod UserPaymentMethod[AccountID], address UserAddress[AccountID], shippingMethod ShippingMethod, userComment string, discountCode string) (UserOrder[AccountID], error) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCart[AccountID], error) ToFormObject(ctx context.Context) (*UserShoppingCartForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserShoppingCartForm[AccountID]) error }
type UserShoppingCartForm ¶
type UserShoppingCartForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` SessionText *string `json:"session_text,omitempty"` ShoppingCartItemCount *uint64 `json:"shopping_cart_item_count,omitempty"` Dept *float64 `json:"dept,omitempty"` }
func (*UserShoppingCartForm[AccountID]) Clone ¶
func (form *UserShoppingCartForm[AccountID]) Clone(ctx context.Context) (UserShoppingCartForm[AccountID], error)
type UserShoppingCartItem ¶
type UserShoppingCartItem[AccountID comparable] interface { GeneralAppObject GetID(ctx context.Context) (uint64, error) GetUserAccountID(ctx context.Context) (AccountID, error) GetShoppingCart(ctx context.Context) (UserShoppingCart[AccountID], error) GetProductItem(ctx context.Context) (ProductItem[AccountID], error) GetQuantity(ctx context.Context) (int64, error) SetQuantity(ctx context.Context, quantity int64) error AddQuantity(ctx context.Context, delta int64) error GetAttributes(ctx context.Context) (json.RawMessage, error) SetAttributes(ctx context.Context, attrs json.RawMessage) error CalculateDept(ctx context.Context) (float64, error) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCartItem[AccountID], error) ToFormObject(ctx context.Context) (*UserShoppingCartItemForm[AccountID], error) ApplyFormObject(ctx context.Context, form *UserShoppingCartItemForm[AccountID]) error }
type UserShoppingCartItemForm ¶
type UserShoppingCartItemForm[AccountID comparable] struct { ID uint64 `json:"id"` UserAccountID AccountID `json:"account_id"` Dept *float64 `json:"dept,omitempty"` ProductItem *BuiltinProductItem[AccountID] `json:"product_item,omitempty"` Quantity *int64 `json:"quantity,omitempty"` ShoppingCart *BuiltinUserShoppingCart[AccountID] `json:"shopping_cart,omitempty"` Attributes *json.RawMessage `json:"attributes,omitempty"` }
func (*UserShoppingCartItemForm[AccountID]) Clone ¶
func (form *UserShoppingCartItemForm[AccountID]) Clone(ctx context.Context) (UserShoppingCartItemForm[AccountID], error)
type UserShoppingCartManager ¶
type UserShoppingCartManager[AccountID comparable] interface { GeneralAppObject GetShoppingCartWithID(ctx context.Context, aid uint64, fill bool) (UserShoppingCart[AccountID], error) GetShoppingCartItemWithID(ctx context.Context, aid uint64, fill bool) (UserShoppingCartItem[AccountID], error) RemoveAllShoppingCarts(ctx context.Context) error GetShoppingCarts(ctx context.Context, carts []UserShoppingCart[AccountID], skip int64, limit int64, queueOrder QueueOrder) ([]UserShoppingCart[AccountID], error) // for all users GetShoppingCartCount(ctx context.Context) (uint64, error) GetShoppingCartBySessionText(ctx context.Context, sessionText string) (UserShoppingCart[AccountID], error) ToBuiltinObject(ctx context.Context) (*BuiltinUserShoppingCartManager[AccountID], error) }
Source Files
¶
- account.go
- account_manager.go
- address.go
- app.go
- contracts.go
- country.go
- db_contracts.go
- fs_contracts.go
- order.go
- order_status.go
- payment_method.go
- payment_type.go
- product.go
- product_category.go
- product_item.go
- product_item_subscription.go
- product_manager.go
- shipping_method.go
- shopping_cart.go
- shopping_cart_item.go
- user_discount.go
- user_factor.go
- user_review.go
- user_role.go
- utils.go
Click to show internal directories.
Click to hide internal directories.