alkem-io / client-lib

Library for interacting with the api of the Alkemio platform (GraphQL api).
European Union Public License 1.2
1 stars 1 forks source link

Alkemio Logo

Enabling society to collaborate. Building a better future, together.

Alkemio Client Library

The alkemio-lib package is for working directly with the Alkemio server, primarily using the graphql based api. For more details about Alkemio please visit either the webiste or repo.

The key capabilities of this package include:

This package also provides a sample script, src/validate-connection.ts, to demonstrate the usage of the package.

Finally, this package provides a utility for carrying out performance test data population for a Alkemio server.

Connecting to the Alkemio platform api

To use this package, first instantiate an instance of the AlkemioClient class, passing in the Alkemio server end point:

  const alkemioClient = new AlkemioClient({
    apiEndpointPrivateGraphql: 'http://localhost:3000/api/private/non-interactive/graphql',
  });

The alkemioClient can then be used to access the Alkemio server api using provided wrapper methods e.g.

  await alkemioClient.testConnection();

The capabilities provided by the Alkemio server api is continually expanding, so not all capabillities of the server are guaranteed to be exposed by this package. For full details of the graphql api exposed by the Alkemio server please browse the schema for the graphql api via our Dev environment.

The set of wrapper calls provided is based on needs to date; feel free to augment with new ones as the needs arise.

Authentication

The following environment variables are used to specify the api endpoint and authentication parameters:

Other usages of client lib, such as from populator, are expected to provide the key parameters programmatically.