dbp / relay-checkin-bundle
Installs: 12 594
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 2
Type:symfony-bundle
Requires
- php: >=8.1
- ext-json: *
- api-platform/core: ^3.2
- dbp/relay-base-person-bundle: ^0.2.33
- dbp/relay-core-bundle: ^0.1.196
- guzzlehttp/guzzle: ^7.0
- kevinrob/guzzle-cache-middleware: ^3.3 || ^4.0 || ^5.0 || ^6.0
- league/uri: ^6.4 || ^7.4
- league/uri-interfaces: ^2.3.0 || ^7.4.0
- psr/http-message: ^1.0 || ^2.0
- psr/log: ^1.1.4 || ^2.0.0 || ^3.0.0
- symfony/config: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-foundation: ^6.4
- symfony/http-kernel: ^6.4
- symfony/lock: ^6.4
- symfony/messenger: ^6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.50
- phpstan/phpstan: ^2.0.0
- phpstan/phpstan-phpunit: ^2.0.0
- phpstan/phpstan-symfony: ^2.0.0
- phpunit/phpunit: ^10.1
- symfony/browser-kit: ^6.4
- symfony/http-client: ^6.4
- symfony/monolog-bridge: ^6.4
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^6.4
- vimeo/psalm: ^5.22.2
README
GitHub | Packagist | Frontend Application | Check-in Website
This bundle handles check-ins to places and contact tracing for warning about COVID-19 cases.
You will need to install and set up the Digital Blueprint fork of CampusQR, the open source system for contact tracing at universities.
See Check-in Website for more information.
There is a corresponding frontend application that uses this API at Check-in Frontend Application.
Bundle installation
You can install the bundle directly from packagist.org.
composer require dbp/relay-checkin-bundle
Integration into the Relay API Server
- Add the bundle to your
config/bundles.php
in front ofDbpRelayCoreBundle
:
... Dbp\Relay\CheckinBundle\DbpRelayCheckinBundle::class => ['all' => true], Dbp\Relay\CoreBundle\DbpRelayCoreBundle::class => ['all' => true], ];
- Run
composer install
to clear caches
Configuration
The bundle has a campus_qr_url
and a campus_qr_token
configuration value that you can specify in your
app, either by hardcoding it, or by referencing an environment variable.
For this create config/packages/dbp_relay_checkin.yaml
in the app with the following content:
dbp_relay_checkin: campus_qr_url: 'https://campusqr.your.domain' # campus_qr_url: '%env(CAMPUS_QR_URL)%' campus_qr_token: 'secret token' # campus_qr_token: '%env(CAMPUS_QR_TOKEN)%'
If you were using the DBP API Server Template as template for your Symfony application, then the configuration file should have already been generated for you.
To handle locking you need to configure locking in the core bundle.
You also need to configure the Symfony Messenger in the core bundle to check out guests after a certain amount of time.
For more info on bundle configuration see https://symfony.com/doc/current/bundles/configuration.html.
Roles
This bundle needs the roles ROLE_SCOPE_LOCATION-CHECK-IN
and ROLE_SCOPE_LOCATION-CHECK-IN-GUEST
assigned to the user
to get permissions for the api.