teldrive/internal/config/config.go
2024-06-27 00:35:23 +05:30

77 lines
1.4 KiB
Go

package config
import (
"time"
)
type Config struct {
Server ServerConfig
Log LoggingConfig
JWT JWTConfig
DB DBConfig
TG TGConfig
}
type ServerConfig struct {
Port int
GracefulShutdown time.Duration
EnablePprof bool
}
type TGConfig struct {
AppId int
AppHash string
RateLimit bool
RateBurst int
Rate int
DeviceModel string
SystemVersion string
AppVersion string
LangCode string
SystemLangCode string
LangPack string
SessionFile string
BgBotsLimit int
DisableStreamBots bool
BgBotsTimeout time.Duration
BgBotsCheckInterval time.Duration
Proxy string
ReconnectTimeout time.Duration
PoolSize int64
EnableLogging bool
Uploads struct {
EncryptionKey string
Threads int
MaxRetries int
Retention time.Duration
}
Stream struct {
MultiThreads int
Buffers int
ChunkTimeout time.Duration
}
}
type LoggingConfig struct {
Level int
Development bool
File string
}
type JWTConfig struct {
Secret string
SessionTime time.Duration
AllowedUsers []string
}
type DBConfig struct {
DataSource string
PrepareStmt bool
LogLevel int
Pool struct {
Enable bool
MaxOpenConnections int
MaxIdleConnections int
MaxLifetime time.Duration
}
}