From c0aa75b9800e3a1ba8ef4043858ed3d45ec33f38 Mon Sep 17 00:00:00 2001 From: Medzik <8584366-Medzik@users.noreply.gitlab.com> Date: Thu, 29 Jul 2021 18:51:15 +0000 Subject: [PATCH] Redis --- .env.schema | 4 +++ .gitignore | 2 ++ .goreleaser.yml | 4 ++- backend/ping.go | 23 ++++++++------ backend/status.go | 8 +++++ backend/ticker.go | 5 ++- config.schema.toml | 15 +++++++++ config/env.go | 5 +++ config/no-env.go | 10 ------ config/toml.go | 43 ++++++++++++++++++++++++++ database/{ => mongo}/connect.go | 2 +- database/{ => mongo}/delete.go | 2 +- database/{ => mongo}/getAll.go | 2 +- database/{ => mongo}/insert.go | 2 +- database/{ => mongo}/type.go | 2 +- database/redis/connect.go | 16 ++++++++++ database/redis/status.go | 40 ++++++++++++++++++++++++ go.mod | 13 +++----- go.sum | 55 +++++++++++++++++++++++---------- init.go | 24 -------------- main.go | 38 ++++++++++++++++++++--- nodemon.json | 4 +-- update/ticker.go | 2 +- website/routes/api/delete.go | 4 +-- website/routes/api/getAll.go | 10 +++--- website/routes/api/insert.go | 6 ++-- website/routes/api/status.go | 6 ++-- website/server.go | 3 +- 28 files changed, 251 insertions(+), 99 deletions(-) create mode 100644 backend/status.go create mode 100644 config.schema.toml create mode 100644 config/toml.go rename database/{ => mongo}/connect.go (98%) rename database/{ => mongo}/delete.go (94%) rename database/{ => mongo}/getAll.go (95%) rename database/{ => mongo}/insert.go (94%) rename database/{ => mongo}/type.go (73%) create mode 100644 database/redis/connect.go create mode 100644 database/redis/status.go delete mode 100644 init.go diff --git a/.env.schema b/.env.schema index c3f6427..6989a4f 100644 --- a/.env.schema +++ b/.env.schema @@ -2,3 +2,7 @@ MONGODB_URI=mongodb+srv://... MONGODB_DB=... MONGODB_COLLECTION=... + +# Redis +REDIS_ADDR=... +REDIS_PASS=... diff --git a/.gitignore b/.gitignore index 94ab595..e5551dc 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ dist/ # Test binary, built with `go test -c` *.test + +config.toml diff --git a/.goreleaser.yml b/.goreleaser.yml index 215d611..e5f3027 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -20,7 +20,9 @@ archives: - format: tar.gz files: - - none* + - LICENSE + - .env.schema + - config.schema.toml checksum: name_template: 'md5_checksums.txt' diff --git a/backend/ping.go b/backend/ping.go index 1c7128a..66bd1bb 100644 --- a/backend/ping.go +++ b/backend/ping.go @@ -4,16 +4,14 @@ import ( "net/http" "gitlab.com/gaming0skar123/go/pingbot/common" - "gitlab.com/gaming0skar123/go/pingbot/database" + "gitlab.com/gaming0skar123/go/pingbot/database/mongo" + "gitlab.com/gaming0skar123/go/pingbot/database/redis" ) -var AmountSuccess uint -var AmountErr uint - var checkErr = common.CheckErr func ping() { - results, err := database.GetAll() + results, err := mongo.GetAll() if checkErr(err, "get all from db") { return } @@ -23,23 +21,28 @@ func ping() { } } -func loop(value database.URL) { +func loop(value mongo.URL) { req, err := http.NewRequest("GET", value.URL, nil) if checkErr(err, "new http request") { - AmountErr++ + Status.Error++ return } client := http.DefaultClient r, err := client.Do(req) if checkErr(err, "ping url") { - AmountErr++ + Status.Error++ return } if r.StatusCode >= 200 && r.StatusCode < 400 { - AmountSuccess++ + Status.Success++ } else { - AmountErr++ + Status.Error++ } + + redis.StatusUpdate(redis.StatusType{ + Success: Status.Success, + Error: Status.Error, + }) } diff --git a/backend/status.go b/backend/status.go new file mode 100644 index 0000000..00022ad --- /dev/null +++ b/backend/status.go @@ -0,0 +1,8 @@ +package backend + +var Status StatusType + +type StatusType struct { + Success int64 + Error int64 +} diff --git a/backend/ticker.go b/backend/ticker.go index c433ff9..2877b77 100644 --- a/backend/ticker.go +++ b/backend/ticker.go @@ -4,13 +4,16 @@ import ( "time" "gitlab.com/gaming0skar123/go/pingbot/config" + "gitlab.com/gaming0skar123/go/pingbot/database/redis" ) func Ticker() { // Ping on Start + redis.StatusGet() ping() + redis.StatusGet() - ticker := time.NewTicker(config.PingBot_Ticker) + ticker := time.NewTicker(config.Toml.Backend.Ping * time.Minute) quit := make(chan struct{}) diff --git a/config.schema.toml b/config.schema.toml new file mode 100644 index 0000000..ee8239b --- /dev/null +++ b/config.schema.toml @@ -0,0 +1,15 @@ +[http] +enabled=true # Enable Website +port=8080 # Port to listen + +[backend] +enabled=true # Enable Backend +ping=3 # Ping every three minutes + +[autoupdate] +enabled=true # Enable Auto Updater +check=2 # Check every two minutes + +[cluster] +id=1 # Cluster ID +node=1 # Node ID diff --git a/config/env.go b/config/env.go index e5acff5..f1afd6c 100644 --- a/config/env.go +++ b/config/env.go @@ -6,6 +6,11 @@ import ( _ "github.com/joho/godotenv/autoload" ) +// mongo var Mongo_URI = os.Getenv("MONGODB_URI") var Mongo_DB = os.Getenv("MONGODB_DB") var Mongo_Collection = os.Getenv("MONGODB_COLLECTION") + +// redis +var Redis_Addr = os.Getenv("REDIS_ADDR") +var Redis_Pass = os.Getenv("REDIS_PASS") diff --git a/config/no-env.go b/config/no-env.go index 33cc0cb..4594461 100644 --- a/config/no-env.go +++ b/config/no-env.go @@ -1,13 +1,3 @@ package config -import "time" - -// backend -var PingBot_Ticker = 2 * time.Minute - -// update var GH_Repo = "MedzikUser/go-pingbot" -var Latest_Version_Check = 2 * time.Minute - -// website -var Port = ":8080" diff --git a/config/toml.go b/config/toml.go new file mode 100644 index 0000000..d54dd13 --- /dev/null +++ b/config/toml.go @@ -0,0 +1,43 @@ +package config + +import ( + "time" + + "github.com/BurntSushi/toml" + "gitlab.com/gaming0skar123/go/pingbot/common" +) + +type tomlConfig struct { + HTTP httpConfig + Backend backendConfig + AutoUpdate autoUpdateConfig + Cluster clusterConfig +} + +type httpConfig struct { + Enabled bool + Port int +} + +type backendConfig struct { + Enabled bool + Ping time.Duration +} + +type autoUpdateConfig struct { + Enabled bool + Check time.Duration +} + +type clusterConfig struct { + ID int + Node int +} + +var Toml tomlConfig + +func init() { + _, err := toml.DecodeFile("./config.toml", &Toml) + + common.CheckErr(err, "decode toml config") +} diff --git a/database/connect.go b/database/mongo/connect.go similarity index 98% rename from database/connect.go rename to database/mongo/connect.go index d1b175d..96fc772 100644 --- a/database/connect.go +++ b/database/mongo/connect.go @@ -1,4 +1,4 @@ -package database +package mongo import ( "context" diff --git a/database/delete.go b/database/mongo/delete.go similarity index 94% rename from database/delete.go rename to database/mongo/delete.go index 205f1ba..1423b18 100644 --- a/database/delete.go +++ b/database/mongo/delete.go @@ -1,4 +1,4 @@ -package database +package mongo import ( "context" diff --git a/database/getAll.go b/database/mongo/getAll.go similarity index 95% rename from database/getAll.go rename to database/mongo/getAll.go index f863e79..a50be5e 100644 --- a/database/getAll.go +++ b/database/mongo/getAll.go @@ -1,4 +1,4 @@ -package database +package mongo import ( "context" diff --git a/database/insert.go b/database/mongo/insert.go similarity index 94% rename from database/insert.go rename to database/mongo/insert.go index 765234f..bbf3caf 100644 --- a/database/insert.go +++ b/database/mongo/insert.go @@ -1,4 +1,4 @@ -package database +package mongo import ( "context" diff --git a/database/type.go b/database/mongo/type.go similarity index 73% rename from database/type.go rename to database/mongo/type.go index 8e37be1..b41b389 100644 --- a/database/type.go +++ b/database/mongo/type.go @@ -1,4 +1,4 @@ -package database +package mongo type URL struct { URL string `bson:"_id"` diff --git a/database/redis/connect.go b/database/redis/connect.go new file mode 100644 index 0000000..235e8bc --- /dev/null +++ b/database/redis/connect.go @@ -0,0 +1,16 @@ +package redis + +import ( + "github.com/go-redis/redis/v8" + "gitlab.com/gaming0skar123/go/pingbot/config" +) + +var DB *redis.Client + +func Connect() { + DB = redis.NewClient(&redis.Options{ + Addr: config.Redis_Addr, + Password: config.Redis_Pass, + DB: 0, + }) +} diff --git a/database/redis/status.go b/database/redis/status.go new file mode 100644 index 0000000..35e1fb4 --- /dev/null +++ b/database/redis/status.go @@ -0,0 +1,40 @@ +package redis + +import ( + "context" + "encoding/json" + "strconv" + "time" + + "gitlab.com/gaming0skar123/go/pingbot/common" + "gitlab.com/gaming0skar123/go/pingbot/config" +) + +type StatusType struct { + Success int64 + Error int64 +} + +func StatusUpdate(status StatusType) { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + key := "status" + strconv.Itoa(config.Toml.Cluster.ID) + " " + strconv.Itoa(config.Toml.Cluster.Node) + + b, err := json.Marshal(status) + if common.CheckErr(err, "redis: marshal json") { + return + } + + DB.Set(ctx, key, string(b), 0) +} + +func StatusGet() { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + key := "status" + strconv.Itoa(config.Toml.Cluster.ID) + " " + strconv.Itoa(config.Toml.Cluster.Node) + + s := DB.Get(ctx, key) + println(s.Val()) +} diff --git a/go.mod b/go.mod index f20456d..6679634 100644 --- a/go.mod +++ b/go.mod @@ -3,36 +3,31 @@ module gitlab.com/gaming0skar123/go/pingbot go 1.16 require ( + github.com/BurntSushi/toml v0.3.1 github.com/MedzikUser/go-github-selfupdate v1.3.1 github.com/blang/semver/v4 v4.0.0 github.com/gin-contrib/cors v1.3.1 github.com/gin-gonic/gin v1.7.2 - github.com/go-playground/validator/v10 v10.7.0 // indirect + github.com/go-playground/validator/v10 v10.8.0 // indirect + github.com/go-redis/redis/v8 v8.11.1 github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/joho/godotenv v1.3.0 - github.com/jpillora/opts v1.2.0 github.com/json-iterator/go v1.1.11 // indirect github.com/klauspost/compress v1.13.1 // indirect - github.com/leodido/go-urn v1.2.1 // indirect github.com/mattn/go-isatty v0.0.13 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.1 // indirect - github.com/posener/complete v1.2.3 // indirect github.com/sirupsen/logrus v1.8.1 github.com/struCoder/pidusage v0.2.0 github.com/ugorji/go v1.2.6 // indirect github.com/ulikunitz/xz v0.5.10 // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect go.mongodb.org/mongo-driver v1.7.0 - golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 // indirect - golang.org/x/net v0.0.0-20210716203947-853a461950ff // indirect + golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985 // indirect golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 // indirect golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect - golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 61d5776..a006b0c 100644 --- a/go.sum +++ b/go.sum @@ -31,6 +31,7 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/MedzikUser/go-github-selfupdate v1.3.1 h1:PlLrOMEucL8B2LNRUaceAgvu17J4x02NTcPa78ZMxl0= @@ -38,6 +39,8 @@ github.com/MedzikUser/go-github-selfupdate v1.3.1/go.mod h1:vq1/KNWXN7R/aKZFD5p2 github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -46,11 +49,15 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/gin-contrib/cors v1.3.1 h1:doAsuITavI4IOcd0Y19U4B+O0dNWihRyX//nn4sEmgA= github.com/gin-contrib/cors v1.3.1/go.mod h1:jjEJ4268OPZUcU7k9Pm653S7lXUGcqMADzFA61xsmDk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -70,8 +77,10 @@ github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEK github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-playground/validator/v10 v10.7.0 h1:gLi5ajTBBheLNt0ctewgq7eolXoDALQd5/y90Hh9ZgM= -github.com/go-playground/validator/v10 v10.7.0/go.mod h1:xm76BBt941f7yWdGnI2DVPFFg1UK3YY04qifoXU3lOk= +github.com/go-playground/validator/v10 v10.8.0 h1:1kAa0fCrnpv+QYdkdcRzrRM7AyYs5o8+jZdJCz9xj6k= +github.com/go-playground/validator/v10 v10.8.0/go.mod h1:9JhgTzTaE31GZDpH/HSvHiRJrJ3iKAgqqH0Bl/Ocjdk= +github.com/go-redis/redis/v8 v8.11.1 h1:Aqf/1y2eVfE9zrySM++/efzwv3mkLH7n/T96//gbo94= +github.com/go-redis/redis/v8 v8.11.1/go.mod h1:DLomh7y2e3ggQXQLd1YgmvIfecPJoFl7WU5SOQ/r06M= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= @@ -139,8 +148,9 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-github/v30 v30.1.0 h1:VLDx+UolQICEOKu2m4uAoMti1SxuEBAl7RSEG16L+Oo= github.com/google/go-github/v30 v30.1.0/go.mod h1:n8jBpHl45a/rlBUtRJMOG4GhNADUQFEufcolZ95JfU8= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -159,12 +169,6 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -174,8 +178,6 @@ github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf/go.mod h github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jpillora/opts v1.2.0 h1:H8vWooV3P9nsqmCcPgxNZyIa7GPOWA1KQFsfAzIkCtE= -github.com/jpillora/opts v1.2.0/go.mod h1:7p7X/vlpKZmtaDFYKs956EujFqA6aCrOkcCaS6UBcR4= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= @@ -212,9 +214,17 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.2 h1:3mYCb7aPxS/RU7TI1y4rkEn1oKmPRjNJLNEXgw7MH2I= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.15.0 h1:1V1NfVQR87RtWAgp1lv9JZJ5Jap+XFGKPi00andXGi4= +github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg= github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.5 h1:7n6FEkpFmfCoo2t+YYqXH0evK+a9ICQz0xcAy9dYcaQ= +github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -222,9 +232,6 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.2.2-0.20190308074557-af07aa5181b3/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= -github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -270,6 +277,7 @@ github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.mongodb.org/mongo-driver v1.7.0 h1:hHrvOBWlWB2c7+8Gh/Xi5jj82AgidK/t7KVXBZ+IyUA= go.mongodb.org/mongo-driver v1.7.0/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -341,13 +349,16 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210716203947-853a461950ff h1:j2EK/QoxYNBsXI4R7fQkkRUk8y6wnOBI+6hgPdP/6Ds= -golang.org/x/net v0.0.0-20210716203947-853a461950ff/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985 h1:4CSI6oo7cOjJKajidEljs9h+uP0rRZBPPPhcCbj5mw8= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -365,6 +376,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -383,8 +395,11 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -401,7 +416,9 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= @@ -463,6 +480,7 @@ golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -555,10 +573,13 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= diff --git a/init.go b/init.go deleted file mode 100644 index 86debc8..0000000 --- a/init.go +++ /dev/null @@ -1,24 +0,0 @@ -package main - -import ( - "github.com/jpillora/opts" - "gitlab.com/gaming0skar123/go/pingbot/update" -) - -type CMDOptions struct { - Update bool `opts:"help=automatic updates"` -} - -func init() { - cmd := CMDOptions{ - Update: true, - } - - opts.Parse(&cmd) - - if cmd.Update { - go update.Ticker() - } else { - log.Warn("Auto Update -> Disabled") - } -} diff --git a/main.go b/main.go index 13458ad..5fd1776 100644 --- a/main.go +++ b/main.go @@ -1,10 +1,16 @@ package main import ( + "os" + "os/signal" + "syscall" + "gitlab.com/gaming0skar123/go/pingbot/backend" "gitlab.com/gaming0skar123/go/pingbot/common" "gitlab.com/gaming0skar123/go/pingbot/config" - "gitlab.com/gaming0skar123/go/pingbot/database" + "gitlab.com/gaming0skar123/go/pingbot/database/mongo" + "gitlab.com/gaming0skar123/go/pingbot/database/redis" + "gitlab.com/gaming0skar123/go/pingbot/update" "gitlab.com/gaming0skar123/go/pingbot/website" ) @@ -13,8 +19,32 @@ var log = common.Log func main() { log.Info("You're using verion: ", config.Version) - database.Connect() + mongo.Connect() + redis.Connect() - go website.Server() - backend.Ticker() + if config.Toml.HTTP.Enabled { + go website.Server() + } else { + log.Warn("HTTP Server -> Disabled") + } + + if config.Toml.Backend.Enabled { + go backend.Ticker() + } else { + log.Warn("Backend -> Disabled") + } + + if config.Toml.AutoUpdate.Enabled { + go update.Ticker() + } else { + log.Warn("Auto Update -> Disabled") + } + + c := make(chan os.Signal) + signal.Notify(c, os.Interrupt, syscall.SIGTERM) + func() { + <-c + log.Warn("Stopping...") + os.Exit(1) + }() } diff --git a/nodemon.json b/nodemon.json index 04e49b7..e70e119 100644 --- a/nodemon.json +++ b/nodemon.json @@ -1,7 +1,7 @@ { "watch": ["*"], - "ext": "go json", + "ext": "go toml", "signal": "SIGTERM", "quiet": true, - "exec": "clear && go build -o pingbot.out || exit 1 && ./pingbot.out || echo \"[\\033[0;31mPROGRAM PANIC\\033[0m]\" || exit 1" + "exec": "clear && go build -o pingbot.out || exit 1 && ./pingbot.out || echo \"[\\033[0;31mPROGRAM PANIC\\033[0m]\" || exit 1 && echo \"[\\033[0;31mPROGRAM END\\033[0m]\"" } diff --git a/update/ticker.go b/update/ticker.go index 5375f1f..4d37169 100644 --- a/update/ticker.go +++ b/update/ticker.go @@ -10,7 +10,7 @@ func Ticker() { // Check on start Update() - ticker := time.NewTicker(config.Latest_Version_Check) + ticker := time.NewTicker(config.Toml.AutoUpdate.Check * time.Minute) quit := make(chan struct{}) diff --git a/website/routes/api/delete.go b/website/routes/api/delete.go index cf99f5b..c04889d 100644 --- a/website/routes/api/delete.go +++ b/website/routes/api/delete.go @@ -5,7 +5,7 @@ import ( "net/http" "github.com/gin-gonic/gin" - "gitlab.com/gaming0skar123/go/pingbot/database" + "gitlab.com/gaming0skar123/go/pingbot/database/mongo" ) func Delete(c *gin.Context) { @@ -23,7 +23,7 @@ func Delete(c *gin.Context) { url = string(d) - r, err := database.Delete(&database.URL{ + r, err := mongo.Delete(&mongo.URL{ URL: url, }) diff --git a/website/routes/api/getAll.go b/website/routes/api/getAll.go index 3dc0926..6a0e8fb 100644 --- a/website/routes/api/getAll.go +++ b/website/routes/api/getAll.go @@ -5,11 +5,11 @@ import ( "net/http" "github.com/gin-gonic/gin" - "gitlab.com/gaming0skar123/go/pingbot/database" + "gitlab.com/gaming0skar123/go/pingbot/database/mongo" ) func GetAll(c *gin.Context) { - results, err := database.GetAll() + results, err := mongo.GetAll() // Error Handling if err != nil { c.JSON(http.StatusInternalServerError, json{ @@ -31,12 +31,10 @@ func GetAll(c *gin.Context) { return } - var db []database.URL + var db []string for _, value := range results { - db = append(db, database.URL{ - URL: value.URL, - }) + db = append(db, value.URL) } c.JSON(http.StatusOK, json{ diff --git a/website/routes/api/insert.go b/website/routes/api/insert.go index c65d68f..9c1edde 100644 --- a/website/routes/api/insert.go +++ b/website/routes/api/insert.go @@ -4,11 +4,11 @@ import ( "net/http" "github.com/gin-gonic/gin" - "gitlab.com/gaming0skar123/go/pingbot/database" + "gitlab.com/gaming0skar123/go/pingbot/database/mongo" ) func Insert(c *gin.Context) { - var post database.URL + var post mongo.URL err := c.BindJSON(&post) if err != nil { c.JSON(http.StatusBadRequest, json{ @@ -38,7 +38,7 @@ func Insert(c *gin.Context) { return } - _, err = database.Insert(&database.URL{ + _, err = mongo.Insert(&mongo.URL{ URL: post.URL, }) if err != nil { diff --git a/website/routes/api/status.go b/website/routes/api/status.go index 45be571..df33074 100644 --- a/website/routes/api/status.go +++ b/website/routes/api/status.go @@ -22,9 +22,9 @@ func Status(c *gin.Context) { c.JSON(http.StatusOK, json{ "ping": json{ - "all": backend.AmountSuccess + backend.AmountErr, - "success": backend.AmountSuccess, - "err": backend.AmountErr, + "all": backend.Status.Error + backend.Status.Success, + "success": backend.Status.Success, + "err": backend.Status.Error, }, "sys": json{ "pid": pid, diff --git a/website/server.go b/website/server.go index 015b596..f9c5118 100644 --- a/website/server.go +++ b/website/server.go @@ -1,6 +1,7 @@ package website import ( + "fmt" "os" "github.com/gin-contrib/cors" @@ -26,7 +27,7 @@ func Server() { api.ApplyRoutes(router) - err := router.Run(config.Port) + err := router.Run(fmt.Sprint(":", config.Toml.HTTP.Port)) if common.CheckErr(err, "gin start") { os.Exit(1) }