104 lines
2.1 KiB
Go
104 lines
2.1 KiB
Go
package config
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
// GetAIServerURI ...
|
|
func GetAIServerURI()string {
|
|
return getEnvVariable("AI_SERVER_URI")
|
|
}
|
|
|
|
// GetAIChatServerPort ...
|
|
func GetAIChatServerPort()string {
|
|
return getEnvVariable("AI_CHAT_SERVER_PORT")
|
|
}
|
|
|
|
// GetAIChatModel ...
|
|
func GetAIChatModel()string {
|
|
return getEnvVariable("AI_CHAT_MODEL")
|
|
}
|
|
|
|
// GetAIChatModelFast ...
|
|
func GetAIChatModelFast()string {
|
|
return getEnvVariable("AI_CHAT_MODEL_FAST")
|
|
}
|
|
|
|
// GetAITranscribeServerPort ...
|
|
func GetAITranscribeServerPort()string {
|
|
return getEnvVariable("AI_TRANSCRIBE_SERVER_PORT")
|
|
}
|
|
|
|
// GetAITranscribeModel ...
|
|
func GetAITranscribeModel()string{
|
|
return getEnvVariable("AI_TRANSCRIBE_MODEL")
|
|
}
|
|
|
|
// GetAIChatImageModel ...
|
|
func GetAIChatImageModel()string {
|
|
return getEnvVariable("AI_CHAT_IMAGE")
|
|
}
|
|
|
|
// GetRateLimitSec
|
|
// Get the rate limit time amount to limit user request
|
|
// for example a user can make 1 request each sec "1 req x sec"
|
|
func GetRateLimitSec()float64{
|
|
amntStr := getEnvVariable("RATE_LIMIT_SEC")
|
|
amnt, err := strconv.ParseFloat(amntStr, 64)
|
|
if err != nil{
|
|
panic(err)
|
|
}
|
|
return amnt
|
|
}
|
|
|
|
// GetRateLimitAmount
|
|
// Get the rate limit amount of request to limit
|
|
// for example an user can make 10 request each 10 secs
|
|
func GetRateLimitAmount()int64{
|
|
amntStr := getEnvVariable("RATE_LIMIT_AMOUNT")
|
|
amnt, err := strconv.ParseInt(amntStr, 10, 64)
|
|
if err != nil{
|
|
panic(err)
|
|
}
|
|
return amnt
|
|
}
|
|
|
|
// GetAdminsList
|
|
// Get admin list who dont need auth
|
|
func GetAdminsList()string {
|
|
return getEnvVariable("ADMINS")
|
|
}
|
|
|
|
// GetToken
|
|
// Get telegram auth token
|
|
func GetToken() string {
|
|
return getEnvVariable("BOT_TOKEN")
|
|
}
|
|
|
|
// GetNatsURI
|
|
// Get nats uri for server connection
|
|
func GetNatsURI() string {
|
|
return getEnvVariable("NATS_SERVICE_URL")
|
|
}
|
|
|
|
// GetUserServiceURL
|
|
// Get uri for user service control GRPC
|
|
func GetUserServiceURL() string {
|
|
return getEnvVariable("TGBUSER_SERVICE_URL")
|
|
}
|
|
|
|
// GetEnvironment
|
|
// Get the environment to debug or prod
|
|
func GetEnvironment() string {
|
|
return getEnvVariable("ENV")
|
|
}
|
|
|
|
func getEnvVariable(key string) string {
|
|
if os.Getenv(key) == "" {
|
|
log.Fatal("error getting key: ", key)
|
|
}
|
|
return os.Getenv(key)
|
|
}
|