Конфигурация для инициализации кооператива
example-config.ts
Пример конфигурации в формате TypeScript для инициализации кооператива. Этот файл находится в src/scripts/example-config.ts и содержит типизированные данные с автодополнением.
Использование
- Скопируйте
src/scripts/example-config.tsв удобное место - Измените данные в файле (используйте автодополнение TypeScript)
- Запустите инициализацию:
npm run init:cooperative ./path/to/your-config.ts
Или используйте функцию createCooperativeConfig для создания конфигурации:
import { createCooperativeConfig } from './src/scripts/example-config';
const myConfig = createCooperativeConfig({
short_name: 'Мой Новый Кооператив',
email: 'info@mynewcoop.ru',
city: 'Санкт-Петербург',
// ... другие поля
});
Обязательные поля
Все поля в конфигурации обязательны для заполнения:
- organization_data: Данные организации кооператива
organization_data
- short_name: Краткое наименование организации
- full_name: Полное наименование организации
- type: Тип организации (
coop,prodcoop,ooo,oao,zao,pao,ao) - email: Email организации
- phone: Телефон представителя
- country: Страна (обычно "Russia")
- city: Город
- full_address: Юридический адрес
- fact_address: Фактический адрес
details (реквизиты организации)
- inn: ИНН (10 или 12 цифр)
- kpp: КПП (9 цифр)
- ogrn: ОГРН (13 или 15 цифр)
represented_by (представитель)
- first_name: Имя представителя
- last_name: Фамилия представителя
- middle_name: Отчество представителя
- position: Должность представителя
- based_on: Основание полномочий
bank_account (банковский счет)
- bank_name: Наименование банка
- account_number: Номер счета (20 цифр)
- currency: Валюта счета (обычно "RUB")
bank_account.details
- bik: БИК банка (9 цифр)
- corr: Корреспондентский счет (20 цифр)
- kpp: КПП банка (9 цифр)
Важные замечания
- Server Secret: Автоматически берется из переменной окружения
SERVER_SECRET - GraphQL Endpoint: Всегда использует
http://localhost:3000/graphql - Валидация: Все поля проходят строгую валидацию перед отправкой
- Одноразовость: Инициализация кооператива может быть выполнена только один раз
- Безопасность: После инициализации данные нельзя изменить
Пример успешного выполнения
$ npm run init:cooperative ./cooperative-config.json
🚀 Начинаем инициализацию кооператива...
✅ Конфигурация загружена
🔗 Подключено к GraphQL API
📤 Отправляем запрос на инициализацию...
✅ Кооператив успешно инициализирован!
📊 Результат: {
"initSystem": {
"coopname": "mycoop",
"system_status": "initialized",
"blockchain_info": {
"head_block_num": 12345,
"head_block_time": "2024-01-01T00:00:00.000Z"
}
}
}
Возможные ошибки
- "SERVER_SECRET не найден в переменных окружения": Убедитесь, что переменная окружения
SERVER_SECRETустановлена - "Организация уже инициализирована": Кооператив уже был инициализирован ранее
- "Connection refused": Убедитесь, что контроллер запущен на
http://localhost:3000 - Ошибки валидации: Проверьте заполнение всех обязательных полей