escolalms/mattermost

Escola LMS mattermost integration.
11,037
Install
composer require escolalms/mattermost
Latest Version:0.1.6
PHP:>=7.4
License:MIT
Last Updated:Mar 25, 2026
Links: GitHub  ·  Packagist
Maintainer: qunabu

Mattermost

swagger codecov phpunit downloads downloads downloads Maintainability Test Coverage

What does it do

This package is used for Mattermost integration.

It listens for Events then add/remove user for mattermost and particular channels either as standard user or admin.

Installing

  • composer require escolalms/mattermost

Example

You can configure the package using Facade

Config::set('mattermost.package_status', PackageStatusEnum::ENABLED);
Config::set('mattermost.servers.default.host', 'localhost');
Config::set('mattermost.servers.default.login', 'login');
Config::set('mattermost.servers.default.password', 'password');

or /api/admin/config endpoint

$this->actingAs($this->user, 'api')->json(
    'POST',
    '/api/admin/config',
    [
        'config' => [
            [
                'key' => 'mattermost.package_status',
                'value' => PackageStatusEnum::ENABLED,
            ],
            [
                'key' => 'mattermost.servers.default.host',
                'value' => 'localhost',
            ],
            [
                'key' => 'mattermost.servers.default.login',
                'value' => 'login',
            ],
            [
                'key' => 'mattermost.servers.default.password',
                'value' => 'password',
            ],
        ]
    ]
);

Endpoints

All the endpoints are defined in swagger

Test

Run ./vendor/bin/phpunit to run tests. See tests folder as it's quite good staring point as documentation appendix. Test details codecov phpunit

Listeners

Handling events

  • EscolaLms\Auth\Events\AccountConfirmed => add user to Mattermost
  • EscolaLms\Auth\Events\AccountDeleted => remove user from Mattermost
  • EscolaLms\Auth\Events\AccountBlocked => block user account
  • EscolaLms\Courses\Events\CourseAssigned => add user to course channel with member role
  • EscolaLms\Courses\Events\CourseUnassigned => remove user from course channel
  • EscolaLms\Courses\Events\CourseTutorAssigned => add user to course channel with channel_admin role
  • EscolaLms\Courses\Events\CourseTutorUnassigned => remove user from course channel
  • EscolaLms\Webinar\Events\WebinarUserAssigned => add user to webinar channel with member role
  • EscolaLms\Webinar\Events\WebinarUserUnassigned => remove user from webinar channel
  • EscolaLms\Webinar\Events\WebinarTrainerAssigned => add user to webinar channel with channel_admin role
  • EscolaLms\Webinar\Events\WebinarTrainerUnassigned => remove user from webinar channel

Related Packages

mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

21,010,090 1,982
kyslik/column-sortable

Package for handling column sorting in Laravel 6.x

6,282,182 647
mews/captcha

Laravel 5/6/7/8/9/10/11/12 Captcha Package

6,095,827 2,586
ajthinking/archetype

Programmatically edit PHP and Laravel files.

4,372,487 272