Versions in this module Expand all Collapse all v1 v1.0.1 Apr 13, 2026 v1.0.0 Apr 10, 2026 Changes in this version + var ErrBatchInsertFailed = errors.InternalServer("INFLUXDB_BATCH_INSERT_FAILED", "batch insert failed") + var ErrClientNotConnected = errors.InternalServer("INFLUXDB_CLIENT_NOT_CONNECTED", "client not connected") + var ErrEmptyData = errors.InternalServer("INFLUXDB_EMPTY_DATA", "empty data") + var ErrInfluxDBClientNotInitialized = errors.InternalServer("INFLUXDB_CLIENT_NOT_INITIALIZED", "client not initialized") + var ErrInfluxDBConnectFailed = errors.InternalServer("INFLUXDB_CONNECT_FAILED", "connect failed") + var ErrInfluxDBCreateDatabaseFailed = errors.InternalServer("INFLUXDB_CREATE_DATABASE_FAILED", "database create failed") + var ErrInfluxDBQueryFailed = errors.InternalServer("INFLUXDB_QUERY_FAILED", "query failed") + var ErrInsertFailed = errors.InternalServer("INFLUXDB_INSERT_FAILED", "insert failed") + var ErrInvalidPoint = errors.InternalServer("INFLUXDB_INVALID_POINT", "invalid point") + var ErrNoPointsToInsert = errors.InternalServer("INFLUXDB_NO_POINTS_TO_INSERT", "no points to insert") + func BatchInsert[T any](ctx context.Context, c *Client, data []*T, mapper Mapper[T]) error + func BoolToString(value *bool) string + func BuildQuery(table string, filters map[string]interface{}, operators map[string]string, ...) (string, []interface{}) + func BuildQueryWithParams(table string, filters map[string]interface{}, operators map[string]string, ...) string + func ConvertAnyToPointsSafe(pts []any) ([]*influxdb3.Point, error) + func GetBoolPointTag(point *influxdb3.Point, name string) *bool + func GetEnumPointTag[T ~int32](point *influxdb3.Point, name string, valueMap map[string]int32) *T + func GetPointTag(point *influxdb3.Point, name string) *string + func GetTimestampField(point *influxdb3.Point, name string) *timestamppb.Timestamp + func GetUint32Field(point *influxdb3.Point, name string) *uint32 + func GetUint32PointTag(point *influxdb3.Point, name string) *uint32 + func GetUint64PointTag(point *influxdb3.Point, name string) *uint64 + func Insert[T any](ctx context.Context, c *Client, data *T, mapper Mapper[T]) error + func ProtoMessageToPoint(msg proto.Message, overrides map[string]string) (*influxdb3.Point, error) + func Query[T any](ctx context.Context, c *Client, query string, mapper Mapper[T]) ([]*T, error) + func StructToPoint(s interface{}) (*influxdb3.Point, error) + func Uint64ToString(value *uint64) string + type Client struct + func NewClient(opts ...Option) (*Client, error) + func (c *Client) BatchInsert(ctx context.Context, points []*influxdb3.Point) error + func (c *Client) Close() + func (c *Client) Count(ctx context.Context, query string) (int64, error) + func (c *Client) ExecInfluxQLQuery(ctx context.Context, query string, opts ...influxdb3.QueryOption) (*influxdb3.QueryIterator, error) + func (c *Client) ExecSQLQuery(ctx context.Context, query string, opts ...influxdb3.QueryOption) (*influxdb3.QueryIterator, error) + func (c *Client) Exist(ctx context.Context, query string) (bool, error) + func (c *Client) Insert(ctx context.Context, point *influxdb3.Point) error + func (c *Client) Query(ctx context.Context, query string) (*influxdb3.QueryIterator, error) + func (c *Client) QueryWithParams(ctx context.Context, table string, filters map[string]interface{}, ...) (*influxdb3.QueryIterator, error) + func (c *Client) ServerVersion() string + func (c *Client) WritePoints(ctx context.Context, pts []any) error + func (c *Client) WritePointsStrict(ctx context.Context, points []*influxdb3.Point) error + type Mapper interface + ToData func(point *influxdb3.Point) *T + ToPoint func(data *T) *influxdb3.Point + type Option func(o *Client) + func WithAuthScheme(authScheme string) Option + func WithDatabase(database string) Option + func WithHost(host string) Option + func WithIdleConnectionTimeout(idleTimeout time.Duration) Option + func WithLogger(logger log.Logger) Option + func WithMaxIdleConnections(maxIdle int) Option + func WithOptions(opts *influxdb3.ClientConfig) Option + func WithOrganization(organization string) Option + func WithQueryTimeout(timeout time.Duration) Option + func WithTLSConfig(tlsConfig *tls.Config) Option + func WithToken(token string) Option + func WithWriteTimeout(timeout time.Duration) Option + type Repository struct + func NewRepository[DTO any, ENTITY any](client *Client, collection string, logger *log.Helper) *Repository[DTO, ENTITY] + func (r *Repository[DTO, ENTITY]) BatchCreate(_ context.Context, dtos []*DTO) ([]*DTO, error) + func (r *Repository[DTO, ENTITY]) Count(ctx context.Context, baseWhere string, whereArgs ...any) (int64, error) + func (r *Repository[DTO, ENTITY]) Create(_ context.Context, dto *DTO) (*DTO, error) + func (r *Repository[DTO, ENTITY]) Exists(ctx context.Context, baseWhere string, whereArgs ...any) (bool, error) + func (r *Repository[DTO, ENTITY]) ListWithPagination(ctx context.Context, req *paginationV1.PaginationRequest) ([]*DTO, int64, error) + func (r *Repository[DTO, ENTITY]) ListWithPaging(ctx context.Context, req *paginationV1.PagingRequest) ([]*DTO, int64, error)