escolalms/tracker

Escola Headless LMS Tracker

Installs: 6 469

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:package

0.1.0 2024-02-14 13:40 UTC

This package is auto-updated.

Last update: 2024-08-14 14:44:42 UTC


README

swagger codecov phpunit downloads downloads downloads

What does it do

The package is used to track the api route. Tracker is enabled by default and track routes with /api/admin prefix. By default, /api/admin/tracks/routes is ignored.

Installing

  • composer require escolalms/tracker
  • php artisan migrate
  • php artisan db:seed --class="EscolaLms\Tracker\Database\Seeders\TrackerPermissionSeeder"

Configuration

You can configure this package by specifying keys in the .env file.

  • TRACKER_ENABLED - enable or disable route tracking
  • TRACKER_ROUTE_PREFIX - set tracked route prefix
  • TRACKER_CONNECTION - database connection, by default sqlite

You can also use facade to configure tracker.

Tracker::disable();
Http::get('api/admin/example-route')
Tracker::enable();

... 

Tracker::ignoreUris(['api/admin/example-route']);
Http::get('api/admin/example-route')

... 

Tracker::prefix('api');
Http::get('api/example-route')

Database

TrackRoutes - stores tracked routes

Table track_routes sample rows

Endpoints

swagger

Tests

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

codecov phpunit

Permissions

Permissions are defined in seeder

Problems

  • No permission to write to the database:

    If you encounter such an error you need to check the permissions of the database.sqlite file on the server. If the file is not given write permissions, SQL will throw an error about not being able to write. The file should have at least 0666 permissions.

  • track_routes table not found:

    The error occurs because the migrations that create the tables have not been run. There is only an empty database file. You should run the php artisan oprimize:clear or php artisan cache:clear command. SqliteServiceProvider will check from the values in the cache whether migrations have been run and if the table does not exist it will create it in the database.