package mongo

import "time"

// Conf is MongoDB client configuration for DocumentDB helpers.
// Use json tags for go-zero conf (see etc/gateway.yaml).
type Conf struct {
	Schema           string        `json:",default=mongodb"`
	User             string        `json:",optional"`
	Password         string        `json:",optional"`
	Host             string        `json:",optional"`
	Port             int           `json:",optional"` // if Host has no ":port", appended in buildConnectionURI
	Database         string        `json:",optional"`
	AuthSource       string        `json:",optional"`
	ReplicaName      string        `json:",optional"`
	TLS              bool          `json:",optional"`
	MaxPoolSize      uint64        `json:",optional"`
	MinPoolSize      uint64        `json:",optional"`
	MaxConnIdleTime  time.Duration `json:",optional"`
	Compressors      []string      `json:",optional"`
	ConnectTimeoutMs int64         `json:",optional"`
}
