Skip to content
On this page

Course Access

swaggercodecovphpunitdownloadsdownloadsdownloadsMaintainability

What does it do

This package is used to manage access to the course for individual users and user groups.

Additionally, it introduces a mechanism where users can send access enquiries with additional information, and administrators (users with appropriate permissions) can approve or remove them.

Installing

  • composer require escolalms/course-access
  • php artisan migrate
  • php artisan db:seed --class="EscolaLms\CourseAccess\Database\Seeders\CourseAccessPermissionSeeder"

Endpoints

The endpoints are defined in swagger

Tests

Run ./vendor/bin/phpunit to run tests. Test details codecov

Events

Course Access Enquiry

  • CourseAccessEnquiryAdminCreatedEvent - This event is dispatched when a student creates an enquiry for course access.
  • CourseAccessEnquiryStudentCreatedEvent - This event is dispatched to all users who have the EnquiryStatusEnum::APPROVE_COURSE_ACCESS_ENQUIRY permission, allowing them to approve the course access enquiry.

These events are listened to by the escolalms/templates-email package, which sends emails based on its own logic. Additionally, notifications are stored in database.

Course Access

  • CourseAssigned and CourseAccessStarted - These events are dispatched when a user is assigned access to a course. It contains information about the user and the course to which access has been granted.
  • CourseUnassigned and CourseFinished - These events are dispatched when a user is denied access to a course.

The escolalms/templates-email package also listens to the above events.

Course Access Enquiry - sequence diagram

null

Permissions

Permissions are defined in seeder.