- Добавлен release-body.md для подробных заметок о релизе на русском языке. - Реализован release-gitea.ps1 для автоматизированного релиза Gitea с помощью PowerShell. - Создан release-gitea.sh для автоматизированного релиза Gitea с помощью Bash. - Добавлен release.sh для сборки и маркировки релизов с поддержкой нескольких платформ. - Улучшен пользовательский интерфейс благодаря информативному логированию и обработке ошибок. - Добавлена поддержка переменных окружения и управления конфигурацией. - Добавлена функция создания архивов и загрузки ресурсов в Gitea.
25 lines
848 B
Go
25 lines
848 B
Go
package repositories
|
||
|
||
import (
|
||
"compressor/internal/domain/entities"
|
||
)
|
||
|
||
// PDFCompressor интерфейс для сжатия PDF файлов
|
||
type PDFCompressor interface {
|
||
Compress(inputPath, outputPath string, config *entities.CompressionConfig) (*entities.CompressionResult, error)
|
||
}
|
||
|
||
// FileRepository интерфейс для работы с файловой системой
|
||
type FileRepository interface {
|
||
GetFileInfo(path string) (*entities.PDFDocument, error)
|
||
FileExists(path string) bool
|
||
CreateDirectory(path string) error
|
||
ListPDFFiles(directory string) ([]string, error)
|
||
}
|
||
|
||
// ConfigRepository интерфейс для работы с конфигурацией
|
||
type ConfigRepository interface {
|
||
GetCompressionConfig(level int) (*entities.CompressionConfig, error)
|
||
ValidateConfig(config *entities.CompressionConfig) error
|
||
}
|