@proca/api
TypeScript icon, indicating that this package has built-in type declarations

3.4.0 • Public • Published

Generate Sdk matching GraphQL schema and operations

  1. Run mix absinthe.schema.sdl --schema ProcaWeb.Schema in proca-backend repository
  2. Move schema.graphql to schema/
  3. Run npm run generate

Usage

Package exports two SDK's, dedicated to:

  • proca widget - 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, "user@domain.com", "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.

Dependencies (5)

Dev Dependencies (7)

Package Sidebar

Install

npm i @proca/api

Weekly Downloads

27

Version

3.4.0

License

AGPL-3.0

Unpacked Size

135 kB

Total Files

34

Last publish

Collaborators

  • 1v4n4
  • tttp
  • ftsq
  • procafoundation