postgresql-rpc-shell

обертка для RPC

Автор: {"name":"Aleksandr Krasnov"}
Версия: 1.0.9
Постоянная ссылка: http://docs.appcode.pw/projects?project=postgresql-rpc-shell

Описание

Модуль для обработки RPC запросов.

Способы получения и обработки данных

Формат возвращения результата

{
    meta: {
        success: boolean,
        msg: string,
        fullMsg: string
    },
    result: any|string
}

, где:

Router (обработчики запросов)

Базовый shell команды

В файле shell-context есть функции которые можно вызывать через команду PN.shell…

Логирование данные в файл

По умолчанию при подключение оболочки shell доступна возможность логирования. Инициализация:

app.use(vPath, shell({
    ...
    logLevel: 'debug'
}));
...
var logger = require('postgresql-rpc-shell/logger');
logger.debug('');

Подробнее см. тут.

Хранение данных

Для хранения состояния подключения пользователя (сессию) применяется БД Mongo. Создание подключения производиться в файле mongoDb.js.

Создание подключения

var mongoDb = require('postgresql-rpc-shell/modules/mongoDb');
mongoDb({ url: 'mongodb://localhost:27017', dbName: 'MongoSession' }, function (err, client) {
    global.mongoDb = client;

    ...
});

Настройка почтового клиента

var mailsender = require('./mailsender');
mailsender({});

, где {} - настройки

Настройки авторизации

Уровень защиты

Сервисы

Предназначены для добавления новых алгоритмов, например авторизации по СМС

Генерация пароля и безопасность

Для безопасность пароля применяется модуль crypto. Подробнее см. здесь

Обработка запросов websocket

Статья на эту тему описана тут

Обработка RPC запросов

Статья на эту тему описана тут

Установка из репозитория

git clone git://git.appcode.pw/postgresql-rpc-shell.git

Зависимости

Файлы

Файл Создан Обновлен Примечание
/modules/system-logs/index.js 24.05.2019 08:44:15 27.05.2019 12:43:46
/router/rpc.js 24.05.2019 08:37:28 27.05.2019 12:56:06 Выполнение RPC запросов
/modules/system-logs/log.js 24.05.2019 08:28:52 24.05.2019 08:28:53 буфер логирования
/router/viewactions.js 24.05.2019 08:19:00 27.05.2019 12:57:45
/router/menu.js 24.05.2019 08:17:52 27.05.2019 12:57:24
/router/cache.js 24.05.2019 07:56:27 27.05.2019 12:57:16
/modules/system-logs/router/audit.js 23.05.2019 15:51:23 27.05.2019 12:44:00 Требуется авторизация пользователя
/router/changePassword.js 23.05.2019 15:50:01 27.05.2019 12:55:24 выполняется только для авторизированных пользователей
/router/notification.js 23.05.2019 15:47:06 27.05.2019 12:57:32
/router/user.js 23.05.2019 15:46:18 27.05.2019 12:57:39
/context/user.js 23.05.2019 13:27:23 27.05.2019 12:42:41 контекст для работы с пользователем
/modules/authorize/util.js 21.05.2019 11:29:21 21.05.2019 11:29:21 утилиты для авторизации
/util.js 09.04.2019 15:24:25 23.05.2019 13:14:13 набор утилит для облочки (postgresql-shell-rpc)
/modules/rpc/access-filter.js 03.04.2019 09:20:43 25.06.2019 14:16:38 фильтр RPC запроса
/context/profile.js 26.03.2019 08:39:17 23.05.2019 13:23:48 контекст для работы с профилем пользователя
/context/notification.js 21.03.2019 16:35:58 27.05.2019 12:42:10 базовый контекст для работы оболочки postgresql-shell-rpc
/context/shell.js 21.03.2019 16:33:27 27.05.2019 12:42:28 базовый контекст для работы оболочки postgresql-shell-rpc
/router/removeUserAccount.js 20.03.2019 14:06:52 23.05.2019 13:34:30 удаление учетной записи происходит авторизованным пользователем
/modules/authorize/authorize-services.js 20.03.2019 13:57:17 20.03.2019 13:57:54 сервисы для авторизации
/router/register.js 20.03.2019 13:31:30 20.03.2019 13:31:30 после регистрации пользователя на почтовой ящик отправляется письмо в котором есть ссылка для подтвердения
/router/resetPassword.js 20.03.2019 13:22:50 23.05.2019 13:34:51 обработчик сброса паролей
/router/resources.js 20.03.2019 11:01:20 20.03.2019 11:03:50
/modules/authorize/mongo-session/mongo-session-authorize.js 20.03.2019 09:56:10 26.06.2019 13:45:00 авторизация на основе хранения сессии пользователя. механизм хранения - БД mongo
/modules/cacher.js 18.03.2019 15:22:03 25.06.2019 12:54:19
/modules/resources.js 18.03.2019 15:20:32 23.05.2019 13:27:31
/modules/rpc/accesses-cacher.js 18.03.2019 15:15:06 25.06.2019 10:43:42
/modules/system-logs/audit.js 18.03.2019 08:24:43 24.05.2019 08:30:49 буфер аудита
/modules/rpc/rpc-query.js 18.03.2019 08:10:25 25.06.2019 09:22:16 обработчик запросов RPC
/modules/authorize/mongo-session/register-mongo.js 15.03.2019 16:58:13 21.05.2019 11:19:40 регистрация событий безопасности в БД mongo
/modules/authorize/mongo-session/mongo-session-connection.js 15.03.2019 16:50:29 21.05.2019 11:19:42 предназначен для хранения пользовательского состояния (session)
/modules/authorize/authorizeDb.js 15.03.2019 15:51:53 25.06.2019 09:33:56 API для работы с механизмом авторизацией
/modules/authorize/base-authorize.js 15.03.2019 15:46:10 25.06.2019 08:45:29 базовый механизм авторизации. Логин и пароль шифруются как base64 строка
/modules/authorize/saltHash.js 15.03.2019 15:43:37 21.05.2019 11:33:54
/modules/mongoDb.js 15.03.2019 15:19:09 23.05.2019 13:04:41 Создание подключение к БД Mongo
/router/email.js 15.03.2019 09:34:52 21.05.2019 11:49:30 модуль для тестирования отправки почтовых сообщений (требуется авторизация пользователя)