@proca/api
v4.0.1
Published
Client library for Proca API
Readme
Generate Sdk matching GraphQL schema and operations
- Run
mix absinthe.schema.sdl --schema ProcaWeb.Schemain proca-backend repository - Run
npm run generate
Usage
Package exports two SDK's, dedicated to:
- proca widget (is this used?) - contains functions to fetch action page data, relevant campaign statistics, store contact and action data.
- proca admin panel or CLI - contains functions for organisation, user, campaign, acton page management, as well as contact and action data export.
Simple example:
import {client, getWidgetSdk, getAdminSdk} from '@proca/api'
// create a new GraphQL client
const client = new client("https://api-stg.proca.app/api")
const sdk = widgetSdk(client)
try {
const actionPage = await sdk.GetActionPage({"name": "tttp.eu/campaign-non-commercial"})
// process
} except (error) {
const error = errror.response.errors[0]
const error_code = error.extensions.code
const error_message = error.message
const error_path = error.path
// handle error
}To use authenticated API, use authBasic or authToken:
import { authBasic } from "@proca/api";
client = authBasic(client, "[email protected]", "password123");
sdk = adminSdk(client);Operations in SDK
The sdk's contain operations defined in schema directory, in widget.graphql and admin.graphql. You can create queries in GraphiQL UI.
