Инициализация проекта

Всем привет :)
This commit is contained in:
2025-10-16 16:27:36 +07:00
commit 0e93af1d8c
23 changed files with 4058 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
package database
import (
"regexp"
"strings"
)
// SanitizeFilename очищает имя файла от недопустимых символов
func SanitizeFilename(name string) string {
// Заменяем пробелы на подчеркивания
name = strings.ReplaceAll(name, " ", "_")
// Заменяем тире и другие символы на подчеркивания
name = strings.ReplaceAll(name, "-", "_")
// Удаляем все символы кроме букв, цифр и подчеркиваний
reg := regexp.MustCompile(`[^a-zA-Z0-9_а-яА-ЯёЁ]`)
name = reg.ReplaceAllString(name, "_")
// Убираем множественные подчеркивания
reg = regexp.MustCompile(`_+`)
name = reg.ReplaceAllString(name, "_")
// Убираем подчеркивания в начале и конце
name = strings.Trim(name, "_")
// Если имя пустое - возвращаем дефолтное
if name == "" {
name = "client"
}
return name
}