Documentation
¶
Index ¶
- Constants
- Variables
- func AutoProvision(ctx context.Context, input AutoProvisionInput) (appentity.App, error)
- type App
- func (a App) DeleteCustomerData(ctx context.Context, input appentity.DeleteAppInstanceCustomerDataInput) error
- func (a App) DeleteInvoice(ctx context.Context, invoice billing.Invoice) error
- func (a App) FinalizeInvoice(ctx context.Context, invoice billing.Invoice) (*billing.FinalizeInvoiceResult, error)
- func (a App) GetCustomerData(ctx context.Context, input appentity.GetAppInstanceCustomerDataInput) (appentity.CustomerData, error)
- func (a App) UpsertCustomerData(ctx context.Context, input appentity.UpsertAppInstanceCustomerDataInput) error
- func (a App) UpsertInvoice(ctx context.Context, invoice billing.Invoice) (*billing.UpsertInvoiceResult, error)
- func (a App) ValidateCustomer(ctx context.Context, customer *customerentity.Customer, ...) error
- func (a App) ValidateInvoice(ctx context.Context, invoice billing.Invoice) error
- type AppFactory
- type AutoProvisionInput
- type Config
- type CustomerData
- type Factory
- func (a *Factory) InstallAppWithAPIKey(ctx context.Context, input appentity.AppFactoryInstallAppWithAPIKeyInput) (appentity.App, error)
- func (a *Factory) NewApp(_ context.Context, appBase appentitybase.AppBase) (appentity.App, error)
- func (a *Factory) UninstallApp(ctx context.Context, input appentity.UninstallAppInput) error
- type InvoiceUpsertCallback
- type MockApp
- func (m *MockApp) AssertExpectations(t *testing.T)
- func (m *MockApp) DeleteCustomerData(ctx context.Context, input appentity.DeleteAppInstanceCustomerDataInput) error
- func (m *MockApp) DeleteInvoice(ctx context.Context, invoice billing.Invoice) error
- func (m *MockApp) FinalizeInvoice(ctx context.Context, invoice billing.Invoice) (*billing.FinalizeInvoiceResult, error)
- func (m *MockApp) GetCustomerData(ctx context.Context, input appentity.GetAppInstanceCustomerDataInput) (appentity.CustomerData, error)
- func (m *MockApp) NewApp(_ context.Context, app appentitybase.AppBase) (appentity.App, error)
- func (m *MockApp) OnDeleteInvoice(err error)
- func (m *MockApp) OnFinalizeInvoice(result *billing.FinalizeInvoiceResult)
- func (m *MockApp) OnUpsertInvoice(cb InvoiceUpsertCallback)
- func (m *MockApp) OnValidateCustomer(err error)
- func (m *MockApp) OnValidateInvoice(err error)
- func (m *MockApp) Reset(t *testing.T)
- func (m *MockApp) UpsertCustomerData(ctx context.Context, input appentity.UpsertAppInstanceCustomerDataInput) error
- func (m *MockApp) UpsertInvoice(ctx context.Context, invoice billing.Invoice) (*billing.UpsertInvoiceResult, error)
- func (m *MockApp) ValidateCustomer(appID string, customer *customerentity.Customer, ...) error
- func (m *MockApp) ValidateInvoice(appID string, invoice billing.Invoice) error
- type MockableFactory
Constants ¶
View Source
const (
InvoiceTSFormat = "20060102-150405"
)
Variables ¶
View Source
var ( MarketplaceListing = appentitybase.MarketplaceListing{ Type: appentitybase.AppTypeSandbox, Name: "Sandbox", Description: "Sandbox can be used to test OpenMeter without external connections.", IconURL: "https://openmeter.cloud/favicon.ico", Capabilities: []appentitybase.Capability{ CollectPaymentCapability, CalculateTaxCapability, InvoiceCustomerCapability, }, } CollectPaymentCapability = appentitybase.Capability{ Type: appentitybase.CapabilityTypeCollectPayments, Key: "sandbox_collect_payment", Name: "Payment", Description: "Process payments", } CalculateTaxCapability = appentitybase.Capability{ Type: appentitybase.CapabilityTypeCalculateTax, Key: "sandbox_calculate_tax", Name: "Calculate Tax", Description: "Calculate tax for a payment", } InvoiceCustomerCapability = appentitybase.Capability{ Type: appentitybase.CapabilityTypeInvoiceCustomers, Key: "sandbox_invoice_customer", Name: "Invoice Customer", Description: "Invoice a customer", } )
Functions ¶
func AutoProvision ¶
AutoProvision creates a new default sandbox app if it doesn't exist, otherwise returns the existing one.
We install the sandbox app by default in the system, so that the user can start trying out the system right away.
Types ¶
type App ¶
type App struct {
appentitybase.AppBase
}
func (App) DeleteCustomerData ¶
func (App) DeleteInvoice ¶
func (App) FinalizeInvoice ¶
func (App) GetCustomerData ¶
func (a App) GetCustomerData(ctx context.Context, input appentity.GetAppInstanceCustomerDataInput) (appentity.CustomerData, error)
func (App) UpsertCustomerData ¶
func (App) UpsertInvoice ¶
func (App) ValidateCustomer ¶
func (a App) ValidateCustomer(ctx context.Context, customer *customerentity.Customer, capabilities []appentitybase.CapabilityType) error
type AppFactory ¶
type AutoProvisionInput ¶
func (AutoProvisionInput) Validate ¶
func (a AutoProvisionInput) Validate() error
type CustomerData ¶
type CustomerData struct{}
func (CustomerData) Validate ¶
func (c CustomerData) Validate() error
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
func NewFactory ¶
func (*Factory) InstallAppWithAPIKey ¶
func (*Factory) UninstallApp ¶
type InvoiceUpsertCallback ¶
type InvoiceUpsertCallback func(billing.Invoice) *billing.UpsertInvoiceResult
type MockApp ¶
type MockApp struct {
// contains filtered or unexported fields
}
func NewMockApp ¶
func (*MockApp) AssertExpectations ¶
func (*MockApp) DeleteCustomerData ¶
func (*MockApp) DeleteInvoice ¶
func (*MockApp) FinalizeInvoice ¶
func (*MockApp) GetCustomerData ¶
func (m *MockApp) GetCustomerData(ctx context.Context, input appentity.GetAppInstanceCustomerDataInput) (appentity.CustomerData, error)
func (*MockApp) OnDeleteInvoice ¶
func (*MockApp) OnFinalizeInvoice ¶
func (m *MockApp) OnFinalizeInvoice(result *billing.FinalizeInvoiceResult)
func (*MockApp) OnUpsertInvoice ¶
func (m *MockApp) OnUpsertInvoice(cb InvoiceUpsertCallback)
func (*MockApp) OnValidateCustomer ¶
func (*MockApp) OnValidateInvoice ¶
func (*MockApp) UpsertCustomerData ¶
func (*MockApp) UpsertInvoice ¶
func (*MockApp) ValidateCustomer ¶
func (m *MockApp) ValidateCustomer(appID string, customer *customerentity.Customer, capabilities []appentitybase.CapabilityType) error
type MockableFactory ¶
type MockableFactory struct {
*Factory
// contains filtered or unexported fields
}
func NewMockableFactory ¶
func NewMockableFactory(_ *testing.T, config Config) (*MockableFactory, error)
func (*MockableFactory) DisableMock ¶
func (m *MockableFactory) DisableMock()
func (*MockableFactory) EnableMock ¶
func (m *MockableFactory) EnableMock(t *testing.T) *MockApp
func (*MockableFactory) NewApp ¶
func (m *MockableFactory) NewApp(ctx context.Context, appBase appentitybase.AppBase) (appentity.App, error)
Click to show internal directories.
Click to hide internal directories.