@arkw/admin

0.1.2 • Public • Published

Admin Console

Initialize CLI

  1. npx @arkw init or pnpx @arkw init
  2. When prompted, supply the necessary credentials:

Configure Next.js project

next.config.mjs

Update nextConfig with esmExternals: 'loose'

const nextConfig = {
  experimental: {
      esmExternals: 'loose',
  }
}

export default nextConfig;

Setup framework-utils

framework-utils.ts

import { createFramework } from ‘@arkw/core’
import { config } from ‘arkw.config.ts // update path accordingly

export const framework = createFramework(config)

How to wire a connect button

GoogleConnectButton.tsx

import { framework } from ‘./framework-utils’; // update path accordingly

const GoogleConnectButton = () => {
  const OAuthConnectionRoute = framework?.makeConnectURI({
    name: 'Google' // Integration name
    referenceId: ‘user-1’, // This is most likely your userID
    clientRedirectPath: "/", // Where you want to redirect to after successful connection.
  });

  return (
      <a href={OAuthConnectionRoute}>Connect with Google</a>
  )
}

How to query synced data

Server component

import { framework } from ‘./framework-utils’; // update path accordingly

const recordData = await framework.getIntegration('GOOGLE)?.query({
     referenceId: `1`,
     entityType: 'CONTACTS',
     filters: {
       'data.email': {
         contains: 'mail',
       },
     },
     sort: ['asc(createdAt)', 'desc(updatedAt)'],
});

Execute an action

const res = await framework.executeAction({
      integrationName: 'GOOGLE',
      action: 'SEND_EMAIL',
      payload: {
        data: {
          to: emails,
          subject,
          body,
        },
        ctx: {
          referenceId: 'user-1',
        },
      },
});

Readme

Keywords

none

Package Sidebar

Install

npm i @arkw/admin

Weekly Downloads

2

Version

0.1.2

License

none

Unpacked Size

4.7 kB

Total Files

2

Last publish

Collaborators

  • andrew.arkwright
  • smthomas
  • calcsam