COOPENOMICS  v1
Кооперативная Экономика
Структура Apps::package

Запись каталога: один зарегистрированный пакет. Подробнее...

#include <table_apps_packages.hpp>

Открытые члены

uint64_t primary_key () const
 
uint64_t by_owner () const
 
uint64_t by_subnet () const
 

Открытые атрибуты

name package_id
 
std::string package_name
 
name owner
 
std::vector< name > compatible_subnets
 
std::string last_active_version
 
time_point_sec created_at
 
time_point_sec updated_at
 

Подробное описание

Запись каталога: один зарегистрированный пакет.

Идентификация: PK = package_id (Antelope name, ≤12 символов, [a-z1-5.]). Имя выбирает разработчик при публикации; уникальность гарантируется блокчейном (emplace фейлится, если такой package_id уже зарегистрирован).

Имена пакета:

  • package_id — кодовое неизменяемое имя в каталоге (этот PK).
  • package_name — внешнее человекочитаемое имя (например, npm @voskhod/sports-club-tracker, go-module path или OCI-image name). Меняется через setpkgname (если потребуется) или re-publish; в текущей схеме допускается изменение через rename-action в будущем.

compatible_subnets — human-labels подсетей (ru, by, ...). Реальная идентификация подсети — через chain_id, который хранится в coops/subs; здесь labels достаточно, потому что они используются только для display и грубой фильтрации в UI.

last_active_version — semver самого свежего active-релиза c scope.kind=all. Поле обновляется только при setrelease со scope=all и используется для быстрого ответа GET /v1/package/:id без сканирования таблицы releases. Canary-релизы это поле не трогают — оно отражает «версию по умолчанию» для кооперативов вне canary-целей.

См. также
lib/domain/table_apps_releases.hpp — связанные релизы (FK by_package).

Методы

◆ by_owner()

uint64_t Apps::package::by_owner ( ) const
inline

◆ by_subnet()

uint64_t Apps::package::by_subnet ( ) const
inline

◆ primary_key()

uint64_t Apps::package::primary_key ( ) const
inline

Данные класса

◆ compatible_subnets

std::vector<name> Apps::package::compatible_subnets

◆ created_at

time_point_sec Apps::package::created_at

◆ last_active_version

std::string Apps::package::last_active_version

◆ owner

name Apps::package::owner

◆ package_id

name Apps::package::package_id

◆ package_name

std::string Apps::package::package_name

◆ updated_at

time_point_sec Apps::package::updated_at

Объявления и описания членов структуры находятся в файле: