package api import ( "git.sendico.io/tech/sxchnge/product/app/urls" "git.sendico.io/tech/sxchnge/product/auth/config" "git.sendico.io/tech/sxchnge/product/auth/flow" "git.sendico.io/tech/sxchnge/product/auth/storage" "git.sendico.io/tech/sxchnge/product/customers" "git.sendico.io/tech/sxchnge/product/identity" "git.sendico.io/tech/sxchnge/product/payments" "git.sendico.io/tech/sxchnge/product/twofactor" "git.sendico.io/tech/sxchnge/shared/logging" "github.com/go-chi/chi/v5" ) // Dependencies are initialized once and shared by installed transports. type Dependencies struct { Stores *storage.Stores Customers accountservice.AccountService Auth *flow.Service Factors *twofactor.Service Identity *identity.Service Payments *payments.Service Token middleware.TokenConfig Signature middleware.Signature LoginLimits middleware.LoginRateLimits } // Scope belongs to one installation. Router paths are relative to Mount. type Scope struct { Router chi.Router Mount string URLs domainprovider.DomainProvider Logger mlogger.Logger } type Installer func(Scope, *Dependencies) error type Mount struct { Version string `yaml:"version"` Path string `yaml:"path"` }