Собрания
Разработчикам¶
Канонические имена полей и типов — в файле components/controller/schema.gql монорепозитория; интерактивно — в документации GraphQL-API.
Одно собрание¶
🛠️ SDK: Queries.Meet.GetMeet | Query.getMeet
Получить данные собрания по хешу Требуемые роли: chairman, member, user.
import { Queries } from '@coopenomics/sdk';
const variables: Queries.Meet.GetMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
};
};
const { [Queries.Meet.GetMeet.name]: result } = await client.Query(
Queries.Meet.GetMeet.query,
{ variables }
);
Результат:
interface IOutput {
getMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Список собраний¶
🛠️ SDK: Queries.Meet.GetMeets | Query.getMeets
Получить список всех собраний кооператива Требуемые роли: chairman, member, user.
import { Queries } from '@coopenomics/sdk';
const variables: Queries.Meet.GetMeets.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
};
};
const { [Queries.Meet.GetMeets.name]: result } = await client.Query(
Queries.Meet.GetMeets.query,
{ variables }
);
Результат:
interface IOutput {
getMeets: <{
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
}[]>; // Получить список всех собраний кооператива
Требуемые роли: chairman, member, user.
}
ОСП: голосование¶
🛠️ SDK: Mutations.Meet.VoteOnAnnualGeneralMeet | Mutation.voteOnAnnualGeneralMeet
Голосование на общем собрании пайщиков Требуемые роли: member.
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.VoteOnAnnualGeneralMeet.IInput = {
data: {
ballot: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
answers: <{
id: <string>; // ID вопроса
number: <string>; // Номер вопроса
vote: <string>; // Голос (за/против/воздержался)
}[]>; // Ответы голосования
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя голосующего
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания, по которому производится голосование
username: <string>; // Идентификатор члена кооператива, который голосует
votes: <{
question_id: <number>; // Идентификатор вопроса повестки
vote: <string>; // Решение по вопросу (вариант голосования)
}[]>; // Бюллетень с решениями по вопросам повестки
};
};
const { [Mutations.Meet.VoteOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.VoteOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
voteOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
ОСП: уведомить¶
🛠️ SDK: Mutations.Meet.NotifyOnAnnualGeneralMeet | Mutation.notifyOnAnnualGeneralMeet
Уведомление о проведении общего собрания пайщиков Требуемые роли: chairman, member.
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.NotifyOnAnnualGeneralMeet.IInput = {
data: {
coopname: <string>;
meet_hash: <string>;
notification: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
username: <string>;
};
};
const { [Mutations.Meet.NotifyOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.NotifyOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
notifyOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
ОСП: перезапуск¶
🛠️ SDK: Mutations.Meet.RestartAnnualGeneralMeet | Mutation.restartAnnualGeneralMeet
Перезапуск общего собрания пайщиков Требуемые роли: chairman.
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.RestartAnnualGeneralMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Доп. информация для нового слота; передайте явно, если нужна в повестке и уведомлениях. Поле не передано — у нового собрания details пустой
hash: <string>; // Хеш собрания, которое необходимо перезапустить
new_close_at: <any>; // Новая дата закрытия собрания
new_open_at: <any>; // Новая дата открытия собрания
newproposal: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
is_repeated: <boolean>; // Флаг повторного собрания
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet: {
close_at_datetime: <string>; // Дата и время окончания собрания
open_at_datetime: <string>; // Дата и время начала собрания
type: <string>; // Тип собрания (очередное или внеочередное)
};
questions: <{
context?: <null | string>; // Контекст или дополнительная информация по вопросу
decision: <string>; // Предлагаемое решение по вопросу повестки
number: <string>; // Номер вопроса в повестке
title: <string>; // Заголовок вопроса повестки
}[]>;
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
};
};
const { [Mutations.Meet.RestartAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.RestartAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
restartAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
ОСП: подпись председателя¶
🛠️ SDK: Mutations.Meet.SignByPresiderOnAnnualGeneralMeet | Mutation.signByPresiderOnAnnualGeneralMeet
Подписание решения председателем на общем собрании пайщиков Требуемые роли: chairman, member.
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
presider_decision: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
username: <string>; // Имя аккаунта пользователя
};
};
const { [Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
signByPresiderOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
ОСП: подпись секретаря¶
🛠️ SDK: Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet | Mutation.signBySecretaryOnAnnualGeneralMeet
Подписание решения секретарём на общем собрании пайщиков Требуемые роли: chairman, member.
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
secretary_decision: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
username: <string>; // Имя аккаунта пользователя
};
};
const { [Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
signBySecretaryOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
details?: <null | string>; // Дополнительная информация о формате собрания
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Остальные мутации жизненного цикла ОСП (генерация документов повестки, бюллетеня и т.д.) — см. Реестр собраний стола совета (тот же модуль Mutations.Meet.*).
Часть шагов (голос по решению совета, исполнение ряда решений) выполняется подписью и отправкой транзакции в блокчейн через Client.Blockchain / класс Blockchain в пакете @coopenomics/sdk, а не отдельной мутацией GraphQL; см. 🛠️ Classes.Blockchain и 🛠️ Classes.Client.