This commit is contained in:
2026-10-03 13:22:11 +07:00
parent 05090722a0
commit 2caa2c1a88
74 changed files with 44 additions and 676 deletions
@@ -12,8 +12,6 @@ const FileName = "scenario.json"
// Version is the current scenario.json format version.
const Version = 1
// ScenarioJSON — описание сценария в архиве; Story — в формате колонки
// scenarios.scenario в БД.
type ScenarioJSON struct {
Version int `json:"version"`
Name string `json:"name"`
@@ -22,7 +20,6 @@ type ScenarioJSON struct {
Story *storytelling.Story `json:"story"`
}
// Scenario — данные сценария, необходимые для сборки архива.
type Scenario struct {
Name string
Description *string
@@ -36,12 +33,7 @@ type Bundle struct {
Files map[string][]byte
}
// IScenarioArchive — контракт модуля scenario_archive: сборка и разбор
// ZIP-архива сценария.
type IScenarioArchive interface {
// Pack собирает ZIP-архив сценария: ссылки на изображения хранилища
// переписываются в images/<имя>, файлы запрашиваются через getFile;
// внешние URL остаются без изменений.
Pack(
ctx context.Context,
scenario *Scenario,
@@ -49,6 +41,5 @@ type IScenarioArchive interface {
getFile func(ctx context.Context, name string) ([]byte, error),
) ([]byte, error)
// Unpack разбирает входящий архив с проверкой лимитов и путей записей.
Unpack(data []byte) (*Bundle, error)
}