escolalms/course-access

Escola Headless LMS Course Access

Installs: 4 732

Dependents: 3

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:package

0.1.2 2024-03-20 13:34 UTC

This package is auto-updated.

Last update: 2024-12-10 10:58:23 UTC


README

swagger codecov phpunit downloads downloads downloads Maintainability

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

Permissions

Permissions are defined in seeder.