Reapply "Build post chat and attachment workflows"
Some checks failed
CI / frontend (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / backend (push) Has been cancelled

This reverts commit 5bc4a551af.
This commit is contained in:
Cauê Faleiros
2026-06-10 09:24:44 -03:00
parent 5bc4a551af
commit 3314c2e863
30 changed files with 3021 additions and 204 deletions

View File

@@ -48,7 +48,7 @@ func Load() Config {
SuperAdminEmail: env("SUPER_ADMIN_EMAIL", ""),
SuperAdminPassword: env("SUPER_ADMIN_PASSWORD", ""),
JWTSecret: env("JWT_SECRET", ""),
AccessTokenTTL: minutes("JWT_ACCESS_TOKEN_TTL_MINUTES", 15),
AccessTokenTTL: minutes("JWT_ACCESS_TOKEN_TTL_MINUTES", 480),
RefreshTokenTTL: hours("JWT_REFRESH_TOKEN_TTL_DAYS", 7*24),
CORSAllowedOrigins: list("CORS_ALLOWED_ORIGINS", "http://localhost:5173"),
CalendarProvider: env("CALENDAR_PROVIDER", "brasilapi"),
@@ -56,14 +56,14 @@ func Load() Config {
CalendarAPIKey: env("CALENDAR_API_KEY", ""),
CalendarCacheTTL: hours("CALENDAR_CACHE_TTL_HOURS", 24),
UploadMaxSizeMB: integer("UPLOAD_MAX_SIZE_MB", 10),
UploadAllowedMIMEs: list("UPLOAD_ALLOWED_MIME_TYPES", "image/jpeg,image/png,image/webp,application/pdf"),
UploadAllowedMIMEs: list("UPLOAD_ALLOWED_MIME_TYPES", "image/jpeg,image/png,image/webp,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"),
StorageDriver: env("STORAGE_DRIVER", "local"),
StorageLocalPath: env("STORAGE_LOCAL_PATH", "/var/lib/mira/uploads"),
SMTPHost: env("SMTP_HOST", ""),
SMTPPort: env("SMTP_PORT", "587"),
SMTPUser: env("SMTP_USER", ""),
SMTPPassword: env("SMTP_PASSWORD", ""),
SMTPFromEmail: env("SMTP_FROM_EMAIL", ""),
SMTPPassword: envAlias("SMTP_PASS", "SMTP_PASSWORD", ""),
SMTPFromEmail: envAlias("MAIL_FROM", "SMTP_FROM_EMAIL", ""),
SMTPFromName: env("SMTP_FROM_NAME", "Mira"),
}
}
@@ -76,6 +76,14 @@ func env(key, fallback string) string {
return value
}
func envAlias(primary string, secondary string, fallback string) string {
value := strings.TrimSpace(os.Getenv(primary))
if value != "" {
return value
}
return env(secondary, fallback)
}
func list(key, fallback string) []string {
raw := env(key, fallback)
parts := strings.Split(raw, ",")