@@ -41,11 +41,3 @@ func Init() {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func Get(key string) any {
|
||||
return viper.Get(key)
|
||||
}
|
||||
|
||||
func Set(key string, value any) {
|
||||
viper.Set(key, value)
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
package config
|
||||
|
||||
var serverDef = server{
|
||||
Address: ":8000",
|
||||
DebugMode: false,
|
||||
FileLogger: false,
|
||||
JwtSecret: "something",
|
||||
}
|
||||
|
||||
var databaseDef = database{
|
||||
Type: "postgres",
|
||||
Host: "",
|
||||
Name: "",
|
||||
Username: "",
|
||||
Password: "",
|
||||
}
|
||||
@@ -7,8 +7,8 @@ type config struct {
|
||||
|
||||
type server struct {
|
||||
Address string `yaml:"address"`
|
||||
DebugMode bool `yaml:"debug_mode"`
|
||||
FileLogger bool `yaml:"file_logger"`
|
||||
DebugMode string `yaml:"debug_mode"`
|
||||
FileLogger string `yaml:"file_logger"`
|
||||
JwtSecret string `yaml:"jwt_secret"`
|
||||
}
|
||||
|
||||
|
||||
12
data/data.go
12
data/data.go
@@ -1,22 +1,22 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"nixcn-cms/config"
|
||||
"nixcn-cms/data/drivers"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
var Database *drivers.DBClient
|
||||
|
||||
func Init() {
|
||||
// Init database
|
||||
dbType := config.Get("database.type").(string)
|
||||
dbType := viper.GetString("database.type")
|
||||
exDSN := drivers.ExternalDSN{
|
||||
Host: config.Get("database.host").(string),
|
||||
Name: config.Get("database.name").(string),
|
||||
Username: config.Get("database.username").(string),
|
||||
Password: config.Get("database.password").(string),
|
||||
Host: viper.GetString("database.host"),
|
||||
Name: viper.GetString("database.name"),
|
||||
Username: viper.GetString("database.username"),
|
||||
Password: viper.GetString("database.password"),
|
||||
}
|
||||
|
||||
if dbType != "postgres" {
|
||||
|
||||
@@ -2,13 +2,13 @@ package jwt
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"nixcn-cms/config"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/google/uuid"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
type Claims struct {
|
||||
@@ -17,7 +17,7 @@ type Claims struct {
|
||||
}
|
||||
|
||||
func JWTAuth() gin.HandlerFunc {
|
||||
var JwtSecret = []byte(config.Get("server.jwt_secret").(string))
|
||||
var JwtSecret = []byte(viper.GetString("server.jwt_secret"))
|
||||
return func(c *gin.Context) {
|
||||
auth := c.GetHeader("Authorization")
|
||||
if auth == "" {
|
||||
@@ -62,7 +62,7 @@ func JWTAuth() gin.HandlerFunc {
|
||||
}
|
||||
|
||||
func GenerateToken(userID uuid.UUID, application string) (string, error) {
|
||||
var JwtSecret = []byte(config.Get("server.jwt_secret").(string))
|
||||
var JwtSecret = []byte(viper.GetString("server.jwt_secret"))
|
||||
claims := Claims{
|
||||
UserID: userID,
|
||||
RegisteredClaims: jwt.RegisteredClaims{
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/google/uuid"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -17,7 +18,7 @@ func init() {
|
||||
}
|
||||
|
||||
func generateTestToken(userID uuid.UUID, expire time.Duration) string {
|
||||
var JwtSecret = []byte(config.Get("server.jwt_secret").(string))
|
||||
var JwtSecret = []byte(viper.GetString("server.jwt_secret"))
|
||||
claims := Claims{
|
||||
UserID: userID,
|
||||
RegisteredClaims: jwt.RegisteredClaims{
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"nixcn-cms/config"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
func Init() {
|
||||
FileLogger := config.Get("server.file_logger").(bool)
|
||||
DebugMode := config.Get("server.debug_mode").(bool)
|
||||
FileLogger := viper.GetBool("server.file_logger")
|
||||
DebugMode := viper.GetBool("server.debug_mode")
|
||||
|
||||
if FileLogger {
|
||||
if FileLogger == true {
|
||||
gin.DisableConsoleColor()
|
||||
file, err := os.OpenFile("app.log", os.O_APPEND|os.O_CREATE|os.O_RDWR, 0666)
|
||||
if err != nil {
|
||||
@@ -28,7 +28,7 @@ func Init() {
|
||||
log.SetLevel(log.WarnLevel)
|
||||
}
|
||||
|
||||
if DebugMode {
|
||||
if DebugMode == true {
|
||||
gin.SetMode(gin.DebugMode)
|
||||
log.SetLevel(log.DebugLevel)
|
||||
} else {
|
||||
|
||||
@@ -2,12 +2,12 @@ package server
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"nixcn-cms/config"
|
||||
"nixcn-cms/logger"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
func Start() {
|
||||
@@ -18,14 +18,14 @@ func Start() {
|
||||
|
||||
// Start http server
|
||||
server := &http.Server{
|
||||
Addr: config.Get("server.address").(string),
|
||||
Addr: viper.GetString("server.address"),
|
||||
Handler: r,
|
||||
ReadTimeout: 10 * time.Second,
|
||||
WriteTimeout: 10 * time.Second,
|
||||
MaxHeaderBytes: 1 << 20,
|
||||
}
|
||||
|
||||
log.Info("Starting server on " + config.Get("server.address").(string))
|
||||
log.Info("Starting server on " + viper.GetString("server.address"))
|
||||
if err := server.ListenAndServe(); err != nil {
|
||||
log.Errorf("Error starting server: %v\n", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user