Passed
Push — main ( 8298b6...aafc79 )
by Yume
01:56 queued 45s
created

infrastructures.ConnectInfluxDB   A

Complexity

Conditions 2

Size

Total Lines 16
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 13
nop 1
dl 0
loc 16
rs 9.75
c 0
b 0
f 0
1
package infrastructures
2
3
import (
4
	"context"
5
6
	influxdb2 "github.com/influxdata/influxdb-client-go/v2"
7
	"github.com/memnix/memnix-rest/config"
8
	"github.com/memnix/memnix-rest/pkg/env"
9
)
10
11
var influxClient *influxdb2.Client
12
13
func ConnectInfluxDB(env env.IEnv) error {
14
	var host string
15
	var token string
16
	if config.IsDevelopment() {
17
		host = env.GetEnv("DEBUG_INFLUXDB_URL")
18
		token = env.GetEnv("DEBUG_INFLUXDB_TOKEN")
19
	} else {
20
		host = env.GetEnv("INFLUXDB_URL")
21
		token = env.GetEnv("INFLUXDB_TOKEN")
22
	}
23
	client := influxdb2.NewClient(host, token)
24
	influxClient = &client
25
26
	_, err := client.Health(context.Background())
27
28
	return err
29
}
30
31
func DisconnectInfluxDB() error {
32
	(*influxClient).Close()
33
34
	return nil
35
}
36
37
func GetInfluxDBClient() *influxdb2.Client {
38
	return influxClient
39
}
40