Documentation ¶
Index ¶
- Variables
- func ErrWriteFileToDatabase(fileName string) error
- func Get(ctx context.Context) (db.Provider, error)
- func GetEnity(ctx context.Context, enityName string) (interface{}, error)
- func Registrate(ctx context.Context) (context.Context, error)
- func RegistrateEnity(ctx context.Context, enityName string, options interface{}) (context.Context, error)
- type Config
- type Enity
- func (c *Enity) DeleteFile(fileID string) error
- func (c *Enity) GetFile(fileID string) (*bytes.Buffer, int64, error)
- func (c *Enity) GetFileByName(fileName, fileprefix string) (*bytes.Buffer, int64, error)
- func (c *Enity) GetMetrics(prefix string) stats.MapMetricsOptions
- func (c *Enity) GetReadyHandlers(prefix string) stats.MapCheckFunc
- func (c *Enity) RenameFile(fileID, newFilename string) error
- func (c *Enity) Shutdown() error
- func (c *Enity) Start() error
- func (c *Enity) UpdateFile(fileID, fileprefix string, multipartForm *multipart.Form) error
- func (c *Enity) WaitForEstablishing()
- func (c *Enity) WriteMultipart(fileprefix string, multipartForm *multipart.Form) (ObjectIDFileName, error)
- type ObjectIDFileName
- type Provider
Constants ¶
This section is empty.
Variables ¶
var (
ErrFailedReadInputFile = errors.New("could not read the input file")
)
Functions ¶
func ErrWriteFileToDatabase ¶
Types ¶
type Config ¶
type Config struct { // DSN is a connection string in form of DSN. Example: // mongodb://user:password@host:port/dbname. // Default: "mongodb://db:db@localhost:27017/db" DSN string `envconfig:"optional"` // Options is a string with additional options that will be passed // to connection. Default: "maxPoolSize=30&minPoolSize=10&maxIdleTimeMS=5000&ssl=false". Options string `envconfig:"optional"` // StartWatcher indicates to connection controller that it should // also start asynchronous connection watcher. StartWatcher bool `envconfig:"optional"` // Timeout is a timeout in seconds for connection checking. Every // this count of seconds database connection will be checked for // aliveness and, if it dies, attempt to reestablish connection // will be made. Default timeout is 10 seconds. Timeout time.Duration `envconfig:"optional"` }
Config represents configuration structure for every connection.
func (*Config) SetDefault ¶
SetDefault checks connection config. If required field is empty - it will be filled with some default value. Returns a copy of config.
type Enity ¶
type Enity struct { // Metrics stats.Service // Connection to database Conn *mongo.Client // contains filtered or unexported fields }
Enity is a connection controlling structure. It controls connection, asynchronous queue and everything that related to specified connection.
func GetEnityTypeCast ¶ added in v0.4.1
func (*Enity) DeleteFile ¶ added in v0.5.0
func (*Enity) GetFileByName ¶ added in v0.5.0
func (*Enity) GetMetrics ¶
func (c *Enity) GetMetrics(prefix string) stats.MapMetricsOptions
GetMetrics return map of the metrics from database connection
func (*Enity) GetReadyHandlers ¶
func (c *Enity) GetReadyHandlers(prefix string) stats.MapCheckFunc
GetReadyHandlers return array of the readyHandlers from database connection
func (*Enity) RenameFile ¶ added in v0.5.0
func (*Enity) Shutdown ¶
Shutdown shutdowns queue worker and connection watcher. Later will also close connection to database. This is a blocking call.
func (*Enity) UpdateFile ¶ added in v0.5.0
func (*Enity) WaitForEstablishing ¶
func (c *Enity) WaitForEstablishing()
WaitForEstablishing will block execution until connection will be successfully established and database migrations will be applied (or rolled back).
func (*Enity) WriteMultipart ¶
type ObjectIDFileName ¶ added in v0.5.0
ObjectIDFileName is a map between objectID and file name
type Provider ¶
type Provider struct {
*providerwithmetrics.Provider
}
Provider for database mongo
func NewProvider ¶
NewProvider creates new provider.
func (*Provider) CreateEnity ¶
CreateEnity should create enity using passed parameters.