Files
2026-10-09 01:45:17 +00:00

2.9 KiB

Модуль: Ресурсы компаний

Ответственность: читает публичные данные .template/companies/, нормализует JSON, создаёт устойчивые Typst paths и применяет явные overrides подписи и печати. Расположение: .template/lib/infrastructure/company-assets.typ

Публичный интерфейс

Символ Тип Описание
load-company() функция Загружает профиль по разрешённому id и принимает logo, signature, stamp overrides
available-companies() функция Возвращает детерминированный список встроенных ids
merge-resources() чистая функция Применяет только явно переданные resource overrides

Зависимости

Модуль Что использует
.template/lib/domain/company.typ company-profile() и validate-company()
.template/companies/*/data.json Публичные реквизиты организаций
.template/companies/*/logo.* Публичные логотипы
.template/lib/assets/placeholders/ Безопасные круг и крест

Инварианты

  • Адаптер не сканирует assets/ или .private/.
  • Относительные внутренние paths создаются в infrastructure-файле.
  • Private paths организаций создаются адаптером сотрудников из явной настройки и передаются как готовые path.
  • Идентификатор компании выбирается из явного registry.
  • Публичные JSON не содержат путей к реальным подписям и печатям.
  • none сохраняется как отсутствие ресурса и обрабатывается media policy.
  • Указанный override не подменяется placeholder при ошибке загрузки.

Намеренно НЕ обрабатывает

  • Layout логотипа, подписи или печати.
  • Поиск файлов по имени.
  • Сетевую загрузку реквизитов.

Заметки для агента

Typst path сохраняет контекст файла, в котором создан. Public company paths создавайте здесь, а absolute .private/ paths — только в private/employee adapter. Значения auto и none должны различаться: auto означает взять публичное значение профиля, none — осознанно применить media policy.