Package: pencil-spaces
Generated from api/packages/pencil-spaces
Source: api/packages/pencil-spaces · imported version 0.0.3. The sections after the README are extracted from the code on every docs build.
README
Section titled “README”What does it do
Section titled “What does it do”This package is used for integration with Pencil Spaces.
Currently available features:
- API user creation
- Space creation
- Generating a link for the logged-in user
Installing
Section titled “Installing”composer require ulams/pencil-spacesphp artisan migrate
Configuration
Section titled “Configuration”You can configure the package by adding values to your .env file
PENCIL_SPACES_API_KEY=api-keyPENCIL_SPACES_API_URL=https://api-url.comor using Facade
use Illuminate\Support\Facades\Config;
Config::set('pencil_spaces.api_key', 'api_key');Config::set('pencil_spaces.api_url', 'https://api-url.com');or /api/admin/config endpoint
$this->actingAs($this->user, 'api')->json( 'POST', '/api/admin/config', [ 'config' => [ [ 'key' => 'pencil_spaces.api_key', 'value' => 'api_key', ], [ 'key' => 'pencil_spaces.api_url', 'value' => 'https://api-url.com', ], ] ]);Example
Section titled “Example”Use Ulams\PencilSpaces\Facades\PencilSpace Facade for integration.
- Generate a direct login link for an API-managed user =>
PencilSpace::getDirectLoginUrl(int $userId, string $redirectUrl = null) - Create Space =>
PencilSpace::createSpace(CreatePencilSpaceResource $createSpaceResource)
An account in Pencil Space will be created for users who don’t have one. The table pencil_space_accounts will store the userId and email returned from Pencil Space.
Endpoints
Section titled “Endpoints”Run ./vendor/bin/phpunit to run tests.
Test details
You can use PencilSpace::fake() in your tests. Requests to the API will be mocked, and you will be able to test your feature.
Listeners
Section titled “Listeners”This package doesn’t listen for any events.
More documentation in the package
Section titled “More documentation in the package”API endpoints
Section titled “API endpoints”| Method | Path | Auth | Action |
|---|---|---|---|
POST |
/api/pencil-spaces/login |
yes | PencilSpaceApiController@login |
Permissions
Section titled “Permissions”| Permission | Seeded for roles | Constant |
|---|---|---|
pencil-spaces_login |
admin, student | PencilSpacesPermissionEnum::PENCIL_SPACES_LOGIN |
Settings
Section titled “Settings”Registered with AdministrableConfig::registerConfig (editable in the admin panel under Configuration → Settings).
| Key | Rules | Public | Read-only |
|---|---|---|---|
pencil_spaces.api_url |
string | no | |
pencil_spaces.api_key |
string | no |
Events
Section titled “Events”None.
Artisan commands
Section titled “Artisan commands”None.
Scheduled jobs
Section titled “Scheduled jobs”None.
Environment variables read
Section titled “Environment variables read”PENCIL_SPACES_API_KEY, PENCIL_SPACES_API_URL