Untitled

 avatar
unknown
plain_text
23 days ago
4.6 kB
4
Indexable
//go:generate mockgen -source=$GOFILE -package=$GOPACKAGE --destination=mock_test.go
package ordermanagementv1

import (
	"context"

	"google.golang.org/genproto/googleapis/type/date"
	"google.golang.org/grpc"

	paymentsolutionv1 "github.com/kouzoh/platform-client-go/src/merpay/paymentsolution/v1"

	"github.com/kouzoh/mercari-globalone/internal/layers/tier1/modules/ordermanagement/infrastructure/db"
	translationv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier2/modules/i18n/applications/translation/v1"
	orderv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier2/modules/order/applications/order/v1"
	productinventoryv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier2/modules/product/applications/productinventory/v1"
	couponv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier2/modules/promotion/applications/coupon/v1"
	offerv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier2/modules/promotion/applications/offer/v1"
	proxyv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier2/modules/proxy/applications/proxy/v1"
	userv1 "github.com/kouzoh/mercari-globalone/internal/pkg/proto/layers/tier3/modules/user/applications/user/v1"
)

type productInventoryClient interface {
	BatchGetProducts(ctx context.Context, in *productinventoryv1.BatchGetProductsRequest, opts ...grpc.CallOption) (*productinventoryv1.BatchGetProductsResponse, error)
	BatchCheckProductExclusionRules(
		ctx context.Context, in *productinventoryv1.BatchCheckProductExclusionRulesRequest, opts ...grpc.CallOption,
	) (*productinventoryv1.BatchCheckProductExclusionRulesResponse, error)
}

type proxyClient interface {
	CreateProxyCheckoutParameters(ctx context.Context, in *proxyv1.CreateProxyCheckoutParametersRequest, opts ...grpc.CallOption) (*proxyv1.CreateProxyCheckoutParametersResponse, error)
	CalculateFeeTable(ctx context.Context, in *proxyv1.CalculateFeeTableRequest, opts ...grpc.CallOption) (*proxyv1.CalculateFeeTableResponse, error)
	ListProxyOrders(ctx context.Context, in *proxyv1.ListProxyOrdersRequest, opts ...grpc.CallOption) (*proxyv1.ListProxyOrdersResponse, error)
}

type orderClient interface {
	GetOrder(ctx context.Context, in *orderv1.GetOrderRequest, opts ...grpc.CallOption) (*orderv1.GetOrderResponse, error)
	BatchGetOrders(ctx context.Context, in *orderv1.BatchGetOrdersRequest, opts ...grpc.CallOption) (*orderv1.BatchGetOrdersResponse, error)
	DeleteOrder(ctx context.Context, in *orderv1.DeleteOrderRequest, opts ...grpc.CallOption) (*orderv1.DeleteOrderResponse, error)
	CreateOrder(ctx context.Context, in *orderv1.CreateOrderRequest, opts ...grpc.CallOption) (*orderv1.CreateOrderResponse, error)
	NotifyEvent(ctx context.Context, in *orderv1.NotifyEventRequest, opts ...grpc.CallOption) (*orderv1.NotifyEventResponse, error)
}

type userClient interface {
	GetUser(ctx context.Context, in *userv1.GetUserRequest, opts ...grpc.CallOption) (*userv1.GetUserResponse, error)
}

type paymentSolutionClient interface {
	CreateCheckoutSession(ctx context.Context, in *paymentsolutionv1.CreateCheckoutSessionRequest, opts ...grpc.CallOption) (*paymentsolutionv1.CreateCheckoutSessionResponse, error)
}

type couponClient interface {
	GetApplicableCoupons(ctx context.Context, in *couponv1.GetApplicableCouponsRequest, opts ...grpc.CallOption) (*couponv1.GetApplicableCouponsResponse, error)
	ValidateCoupon(ctx context.Context, in *couponv1.ValidateCouponRequest, opts ...grpc.CallOption) (*couponv1.ValidateCouponResponse, error)
}

type offerClient interface {
	GetOfferPrice(ctx context.Context, in *offerv1.GetOfferPriceRequest, opts ...grpc.CallOption) (*offerv1.GetOfferPriceResponse, error)
}

type repository interface {
	CreateOrderCheckoutSession(ctx context.Context, arg db.CreateOrderCheckoutSessionParams) (db.OrderCheckoutSession, error)
	CreateOperation(ctx context.Context, arg db.CreateOperationParams) (db.Operation, error)
	DeleteOperation(ctx context.Context, arg db.DeleteOperationParams) error
	GetUserPreferences(ctx context.Context, id string) (db.UserPreference, error)
	UpsertUserPreferences(ctx context.Context, arg db.UpsertUserPreferencesParams) error
}

type categoryValidator interface {
	ValidateAge(ctx context.Context, productCategory int32, buyerBirthDate *date.Date, buyerRegion string) error
}

type translationClient interface {
	TranslateDynamicContent(ctx context.Context, in *translationv1.TranslateDynamicContentRequest, opts ...grpc.CallOption) (*translationv1.TranslateDynamicContentResponse, error)
}
Editor is loading...
Leave a Comment