@doubledutch/admin-client

2.2.3 • Public • Published

@doubledutch/admin-client

DoubleDutch client library for building admin pages for extensions within the CMS.

Automated setup

The easiest way to get started is to install the DoubleDutch command line tool and run doubledutch init.

See also @doubledutch/firebase-connector for an easy backend for your DoubleDutch extension.

Usage

import client from '@doubledutch/admin-client'

client.getToken().then(token => console.log(`${token} is a valid DoubleDutch CMS access token, usually used indirectly by other client libraries.`))

class App extends React.Component {
  constructor(props) {
    super(props)
    this.state = {}
    client.getCurrentUser()
      .then(currentUser => this.setState({currentUser}))
  }

  render() {
    const {currentUser} = this.state
    return (
      <div>
        {currentUser && <div>Hello {currentUser.firstName}</div>}
      </div>
    )
  }
}

Documentation

client.getToken()

Returns a Promise which resolves to a valid CMS access token. Normally used indirectly by other client libraries to access the DoubleDutch platform.

client.getToken().then(token => /* Use the token. */)

client.getAttendee(id)

Returns a Promise which resolves to the attendee in the current event.

client.getAttendee(42).then(attendee => console.log(attendee))

client.getAttendees(query)

Returns a Promise which resolves to all the attendees in the current event, or the top 200 filtered by a query string.

client.getAttendees().then(attendees => console.log(attendees))
client.getAttendees('John').then(attendees => console.log(attendees))

client.getAttendeeGroups()

Returns a Promise which resolves to all the attendee groups in the current event

client.getAttendeeGroups().then(groups => console.log(groups))

client.getCurrentEventInfo()

Returns a Promise which resolves to information about the current event

client.getCurrentEventInfo().then(evt => console.log(evt))
{
  "name": "SKO",
  "id": "sample-event-id",
  "timeZone": "America/Los_Angeles",
  "startDate": "2018-04-26T00:00:00",
  "endDate": "2018-04-27T00:00:00",
  "canRegister": false,
}

client.getTiers()

Returns a Promise which resolves to all the attendee groups in the current event, for events with Content Visibility enabled.

client.getTiers().then(tiers => console.log(tiers))

client.cmsRequest(method, relativeURL, bodyJSON)

Returns a Promise which resolves to the parsed response body for a successful CMS request for the current event.

client.cmsRequest('GET', '/api/users').then(users => console.log(users))

client.navigateCms(relativeURL)

Instructs the parent CMS window to navigate to a relative URL.

client.navigateCms('/some/other/page')

client.getCmsBaseUrl()

Returns the base url of the parent CMS window.

client.getCmsBaseUrl()

Package Sidebar

Install

npm i @doubledutch/admin-client

Weekly Downloads

1

Version

2.2.3

License

Apache-2.0

Unpacked Size

37.6 kB

Total Files

10

Last publish

Collaborators

  • doubledutch-engineering
  • adamliechty
  • estamps