nikservik/simple-support

Simple support for Laravel

Installs: 42

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

Type:laravel-package

2.04 2023-11-26 23:15 UTC

README

Пакет реализует диалоги с пользователями и отправку уведомлений сразу всем пользователям.

Установка

Добавить в composer.json

    "require": {
        ...
        "nikservik/simple-support": "^2.0",
        ...
    },
    "config": {
        ...
        "github-oauth": {
            "github.com": "токен доступа (создается в настройках)"
        }
    },
    "repositories" : [
        {
            "type": "vcs",
            "url" : "git@github.com:nikservik/simple-support.git"
        }
    ]

После этого выполнить

composer update

Миграции

Миграции можно опубликовать

php artisan vendor:publish --tag="simple-support-migrations"

Или раскомментировать фичу autoload-migrations в конфигурации.

Выполнить миграции:

php artisan migrate

Конфигурация

Опубликовать файл конфигурации:

php artisan vendor:publish --tag="simple-support-config"

Содержимое файла конфигурации по умолчанию:

    // чтобы отключить любую возможность, достаточно ее закомментировать
    'features' => [
        'user-can-send-message',
        'user-can-update-message',
        'user-can-delete-message',
        'send-notifications-to-telegram',
//        'register-api-routes',
//        'autoload-migrations',
    ],

    // без / в начале и в конце
    'route' => 'support',

    // сколько сообщений загружается одним запросом
    'messages-per-page' => 20,

    // метод подсчета непрочитанных сообщений
    // fast - одним запросом с тремя вложенными
    // simple - тремя запросами
    'unread-count' => 'simple',

    // настройки для отправки уведомлений о новых сообщениях от пользователей
    'telegram' => [
        'url' => 'https://api.telegram.org/bot',
        'token' => env('SUPPORT_BOT_TOKEN'),
        'chat' => env('SUPPORT_BOT_CHAT'),
    ],

В .env нужно добавить 2 настройки: идентификатор бота и идентификатор чата, в который он будет слать уведомления.

SUPPORT_BOT_TOKEN=
SUPPORT_BOT_CHAT=

История изменений

2.03

  • из выборки исключены сообщения и уведомления, созданные до регистрации пользователя

2.02

  • оптимизация countUnread

2.01

  • В Actions вынесен метод jsonResponse
  • asController возвращает значение, которое можно использовать во view
  • Можно наследовать Actions и добавлять свой htmlResponse

2.0

  • Добавлены общие уведомления в чат с пользователем
  • Возможность отвечать на сообщение
  • Отключаемые в конфигурации фичи
  • Административная часть вынесена в пакет admin-support
  • Полностью описан API в стандарте OpenAPI
  • Добавлены фабрики
  • Все действия переписаны на основе laravel-actions
  • Полное покрытие тестами и standalone-тестирование
  • Описание установки