- Добавлен файл LICENSE с лицензией GNU General Public License версии 3.0. - Создан скрипт PowerShell (build-all.ps1) для сборки двоичных файлов Windows и Linux из Windows с использованием кросс-компиляции. - Разработан скрипт сборки Linux (build-linux.sh) для сборки двоичных файлов Linux. - Реализован скрипт PowerShell (build-windows.ps1) для сборки двоичных файлов Windows. - Каждый скрипт сборки включает упаковку и генерацию контрольной суммы SHA256 для двоичных файлов.
25 lines
846 B
Go
25 lines
846 B
Go
package repositories
|
||
|
||
import (
|
||
"compress/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
|
||
}
|