@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.

Readme

Keywords

none

Package Sidebar

Install

npm i @proca/api

Weekly Downloads

21

Version

3.4.0

License

AGPL-3.0

Unpacked Size

135 kB

Total Files

34

Last publish

Collaborators

  • 1v4n4
  • tttp
  • ftsq
  • procafoundation