escolalms / tracker
Escola Headless LMS Tracker
Installs: 7 278
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:package
pkg:composer/escolalms/tracker
Requires
- php: >=7.4
- escolalms/auth: ^0
- escolalms/core: ^1.2.2
- laravel/framework: >=8.0
Requires (Dev)
- orchestra/testbench: ^6
- phpunit/phpunit: ^9.0
README
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
| id | user_id | path | full_path | method | extra | created_at | updated_at | 
|---|---|---|---|---|---|---|---|
| 1 | 2 | /api/admin/example-1 | /api/admin/example-1?key=value | GET | NULL | 2022-04-14 08:49:25 | 2022-04-14 08:49:25 | 
| 2 | 33 | /api/admin/example-2 | /api/admin/example-2 | POST | NULL | 2022-04-14 08:49:25 | 2022-04-14 08:49:25 | 
Endpoints
Tests
Run ./vendor/bin/phpunit to run tests. See tests folder as it's quite good staring point as documentation appendix.
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.sqlitefile 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:clearorphp artisan cache:clearcommand. 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.