Change language

rp-files

Назначение

Единая файловая абстракция экосистемы: любой модуль, которому нужны
«файлы», обращается сюда вместо создания собственной таблицы имен и путей.
Хранит метаданные, коллекции и списки чанков; сами байты находятся в
блочном хранилище и доступны через клиент сервиса хранилища.

Ментальная модель

Файл = запись (имя, расширение, коллекция, владелец) + упорядоченный список ссылок на чанки
в блочном хранилище. Классификация (detectType), материализация
и сохранение работают с метаданными — байты поднимаются только когда действительно нужны
(подготовка модели, обслуживание загрузок).

Ценность для экосистемы

Точка входа приема файлов:

  • Файлы, чанки, коллекции и метаданные за единым API; байты чанков делегированы блочному хранилищу.
  • Любой домен привязывает непрозрачный id файла к своей сущности вместо копирования байтов.

Нецели

  • Не сырое блочное хранилище — байты чанков находятся в блочном хранилище.
  • Не распаковка архивов и не конвертация моделей.

Граница ответственности

Владеет записями файлов, коллекциями и жизненным циклом списков чанков; не владеет
деталями реализации объектного хранилища или преобразованиями байтов.

Прямые зависимости модулей

  • Нет — байты чанков идут через клиент сервиса хранилища, что является транспортным
    вызовом, как у любого внешнего потребителя, а не связью модуль-к-модулю.
    rp-files хранит имена, коллекции и список чанков; данных не хранит.

Участие в решении

  • requests

Источник

modules/repositories/data/rp-files