statikbe/udb-helpers

Helper & authentication functions for uitdatabank

1.6.0 2024-03-01 14:10 UTC

This package is auto-updated.

Last update: 2024-03-30 14:21:34 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.