statikbe / udb-helpers
Helper & authentication functions for uitdatabank
Requires
- ext-curl: *
- guzzlehttp/guzzle: ^6.0|^7.0
This package is auto-updated.
Last update: 2024-10-30 15:32:42 UTC
README
Installation
First, install the package through composer:
composer require statikbe/udb-helpers
Then you can instanciate the EntryAPI class with the following parameters:
use statikbe\udb\EntryAPI; use statikbe\udb\Environments; $udb = new EntryAPI( getenv("UDB_KEY"), // API key '/var/www/path/to/your/jwt/token.json', // Path to where you're JWT token will be stored Environments::PROD // The package includes an enum for that sets endpoints based in environment );
Authentication
To authenticate with UDB, you'll need a JWT token. The url from which you get that token can be generate with the following command:
$url = $udb->api->generalJwtUrl(); echo $url; exit;
The code above will echo a URL. Paste that URL in a browser window, then you'll be prompted to log in with your UiT-ID. After logging in you'll see a blank screen with "An internal server error occurred".
You can find the access token and the refresh token in the url of that page.
Save both tokens in the json file the specified above, formatted like this:
{ "accessToken": "", "refreshToken": "" }
Usage
Once you've authenticated with the API, you can use the following functions:
Searching for places
$udb->searchPlaces([]);
The function takes on array of potential search parameters, those can be found here
Get all details for a specific place
$udb->getPlace($placeId);
Create a place
The data passed should be an array, with fields that match the place model.
$udb->createPlace($data);
Searching for Organizers
$udb->searchOrganizers([]);
The function takes on array of potential search parameters, those can be found here
Get all details for a specific organizer
$udb->getOrganizer($organizerId);
Create an organizer
The data passed should be an array, with fields that match the organizer model.
$udb->createOrganizer($data);
Create an event
The data passed should be an array, with fields that match the event model.
$udb->createEvent($data);
Update an event
The data passed should be an array, with fields that match the event model.
$udb->updateEvent($eventId, $data);
Update the workflowStatus of an event
The data passed should be an array, with fields that match the workflowStatus model.
$udb->updateWorkflowStatus($eventId, $data);
Update the workflowStatus of a place
The data passed should be an array, with fields that match the workflowStatus model.
$udb->updatePlaceWorkflowStatus($eventId, $data);
// More to be added as we further develop this package.