mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
feat(subscriptions): introduce config options and user attribute to support subscriptions
This commit is contained in:
parent
52d45d4644
commit
333c1b5dd0
@ -122,6 +122,10 @@ type serverConfig struct {
|
|||||||
TlsKeyPath string `yaml:"tls_key_path" default:"" env:"WAKAPI_TLS_KEY_PATH"`
|
TlsKeyPath string `yaml:"tls_key_path" default:"" env:"WAKAPI_TLS_KEY_PATH"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type subscriptionsConfig struct {
|
||||||
|
Enabled bool `yaml:"enabled" default:"false" env:"WAKAPI_SUBSCRIPTIONS_ENABLED"`
|
||||||
|
}
|
||||||
|
|
||||||
type sentryConfig struct {
|
type sentryConfig struct {
|
||||||
Dsn string `env:"WAKAPI_SENTRY_DSN"`
|
Dsn string `env:"WAKAPI_SENTRY_DSN"`
|
||||||
EnableTracing bool `yaml:"enable_tracing" env:"WAKAPI_SENTRY_TRACING"`
|
EnableTracing bool `yaml:"enable_tracing" env:"WAKAPI_SENTRY_TRACING"`
|
||||||
@ -161,6 +165,7 @@ type Config struct {
|
|||||||
Security securityConfig
|
Security securityConfig
|
||||||
Db dbConfig
|
Db dbConfig
|
||||||
Server serverConfig
|
Server serverConfig
|
||||||
|
Subscriptions subscriptionsConfig
|
||||||
Sentry sentryConfig
|
Sentry sentryConfig
|
||||||
Mail mailConfig
|
Mail mailConfig
|
||||||
}
|
}
|
||||||
|
@ -13,27 +13,28 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type User struct {
|
type User struct {
|
||||||
ID string `json:"id" gorm:"primary_key"`
|
ID string `json:"id" gorm:"primary_key"`
|
||||||
ApiKey string `json:"api_key" gorm:"unique; default:NULL"`
|
ApiKey string `json:"api_key" gorm:"unique; default:NULL"`
|
||||||
Email string `json:"email" gorm:"index:idx_user_email; size:255"`
|
Email string `json:"email" gorm:"index:idx_user_email; size:255"`
|
||||||
Location string `json:"location"`
|
Location string `json:"location"`
|
||||||
Password string `json:"-"`
|
Password string `json:"-"`
|
||||||
CreatedAt CustomTime `gorm:"type:timestamp; default:CURRENT_TIMESTAMP" swaggertype:"string" format:"date" example:"2006-01-02 15:04:05.000"`
|
CreatedAt CustomTime `gorm:"type:timestamp; default:CURRENT_TIMESTAMP" swaggertype:"string" format:"date" example:"2006-01-02 15:04:05.000"`
|
||||||
LastLoggedInAt CustomTime `gorm:"type:timestamp; default:CURRENT_TIMESTAMP" swaggertype:"string" format:"date" example:"2006-01-02 15:04:05.000"`
|
LastLoggedInAt CustomTime `gorm:"type:timestamp; default:CURRENT_TIMESTAMP" swaggertype:"string" format:"date" example:"2006-01-02 15:04:05.000"`
|
||||||
ShareDataMaxDays int `json:"-"`
|
ShareDataMaxDays int `json:"-"`
|
||||||
ShareEditors bool `json:"-" gorm:"default:false; type:bool"`
|
ShareEditors bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
ShareLanguages bool `json:"-" gorm:"default:false; type:bool"`
|
ShareLanguages bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
ShareProjects bool `json:"-" gorm:"default:false; type:bool"`
|
ShareProjects bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
ShareOSs bool `json:"-" gorm:"default:false; type:bool; column:share_oss"`
|
ShareOSs bool `json:"-" gorm:"default:false; type:bool; column:share_oss"`
|
||||||
ShareMachines bool `json:"-" gorm:"default:false; type:bool"`
|
ShareMachines bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
ShareLabels bool `json:"-" gorm:"default:false; type:bool"`
|
ShareLabels bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
IsAdmin bool `json:"-" gorm:"default:false; type:bool"`
|
IsAdmin bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
HasData bool `json:"-" gorm:"default:false; type:bool"`
|
HasData bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
WakatimeApiKey string `json:"-"` // for relay middleware and imports
|
WakatimeApiKey string `json:"-"` // for relay middleware and imports
|
||||||
WakatimeApiUrl string `json:"-"` // for relay middleware and imports
|
WakatimeApiUrl string `json:"-"` // for relay middleware and imports
|
||||||
ResetToken string `json:"-"`
|
ResetToken string `json:"-"`
|
||||||
ReportsWeekly bool `json:"-" gorm:"default:false; type:bool"`
|
ReportsWeekly bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
PublicLeaderboard bool `json:"-" gorm:"default:false; type:bool"`
|
PublicLeaderboard bool `json:"-" gorm:"default:false; type:bool"`
|
||||||
|
SubscribedUntil *CustomTime `json:"-" gorm:"type:timestamp" swaggertype:"string" format:"date" example:"2006-01-02 15:04:05.000"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Login struct {
|
type Login struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user