mirror of https://github.com/veypi/OneAuth.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
//
|
|
// cfg.go
|
|
// Copyright (C) 2024 veypi <i@veypi.com>
|
|
// 2025-03-04 16:08:06
|
|
// Distributed under terms of the MIT license.
|
|
//
|
|
|
|
package cfg
|
|
|
|
import (
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
type Options struct {
|
|
DSN string `json:"dsn"` // Data Source Name
|
|
DB string `json:"db"` // DB type: mysql, postgres, sqlite
|
|
RedisAddr string `json:"redis_addr"`
|
|
|
|
ID string `json:"id"`
|
|
Key string `json:"key"`
|
|
TokenExpire time.Duration `json:"token_expire"` // Token expiration time in seconds
|
|
SMS *SMSConfig `json:"sms"`
|
|
}
|
|
|
|
var Config = &Options{
|
|
TokenExpire: time.Minute * 120,
|
|
ID: getEnv("APPID", "test"),
|
|
Key: getEnv("APPKEY", "asdfghjklqwertyuiopzxcvbnm1234567890"),
|
|
DSN: getEnv("DSN", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local"),
|
|
DB: getEnv("DB", "mysql"),
|
|
SMS: defaultSMS(),
|
|
}
|
|
|
|
func getEnv(key, defaultValue string) string {
|
|
v := os.Getenv(key)
|
|
if v != "" {
|
|
return v
|
|
}
|
|
return defaultValue
|
|
}
|
|
|
|
type PublicSettings struct {
|
|
SMS string `json:"sms"`
|
|
SMSKey string `json:"sms_key"`
|
|
SMSSecret string `json:"sms_secret"`
|
|
SMSRegion string `json:"sms_region"`
|
|
}
|