escolalms / mattermost
Escola LMS mattermost integration.
Installs: 8 037
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:package
Requires
- php: >=7.4
- escolalms/auth: ^0
- escolalms/core: ^1
- escolalms/settings: ^0
- gnello/laravel-mattermost-driver: ^1
- guzzlehttp/guzzle: ^7
- laravel/framework: >=8.0
Requires (Dev)
- escolalms/course-access: ^0
- escolalms/courses: ^0
- escolalms/webinar: ^0
- orchestra/testbench: >=5.0
- phpunit/phpunit: ^9.0
README
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
Test
Run ./vendor/bin/phpunit
to run tests. See tests folder as it's quite good staring point as documentation appendix.
Test details
Listeners
Handling events
EscolaLms\Auth\Events\AccountConfirmed
=> add user to MattermostEscolaLms\Auth\Events\AccountDeleted
=> remove user from MattermostEscolaLms\Auth\Events\AccountBlocked
=> block user accountEscolaLms\Courses\Events\CourseAssigned
=> add user to course channel with member roleEscolaLms\Courses\Events\CourseUnassigned
=> remove user from course channelEscolaLms\Courses\Events\CourseTutorAssigned
=> add user to course channel with channel_admin roleEscolaLms\Courses\Events\CourseTutorUnassigned
=> remove user from course channelEscolaLms\Webinar\Events\WebinarUserAssigned
=> add user to webinar channel with member roleEscolaLms\Webinar\Events\WebinarUserUnassigned
=> remove user from webinar channelEscolaLms\Webinar\Events\WebinarTrainerAssigned
=> add user to webinar channel with channel_admin roleEscolaLms\Webinar\Events\WebinarTrainerUnassigned
=> remove user from webinar channel