1.0.0-beta.1 • Published 5 years ago

@naveego/client-metabase v1.0.0-beta.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

An isomorphic javascript sdk for - MetabaseApi

This package contains an isomorphic SDK for MetabaseApi.

Currently supported environments

  • Node.js version 6.x.x or higher
  • Browser JavaScript

How to Install

npm install @naveego/client-metabase

How to use

nodejs - Authentication, client creation and getPagedStatusesForBatch as an example written in TypeScript.

Install @azure/ms-rest-nodeauth
npm install @azure/ms-rest-nodeauth
Sample code
import * as msRest from "@azure/ms-rest-js";
import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
import { MetabaseApi, MetabaseApiModels, MetabaseApiMappers } from "@naveego/client-metabase";
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];

msRestNodeAuth.interactiveLogin().then((creds) => {
  const client = new MetabaseApi(creds, subscriptionId);
  const id = "testid";
  const page = 1;
  const pageSize = 1;
  client.getPagedStatusesForBatch(id, page, pageSize).then((result) => {
    console.log("The result is:");
    console.log(result);
  });
}).catch((err) => {
  console.error(err);
});

browser - Authentication, client creation and getPagedStatusesForBatch as an example written in JavaScript.

Install @azure/ms-rest-browserauth
npm install @azure/ms-rest-browserauth
Sample code

See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.

  • index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>@naveego/client-metabase sample</title>
    <script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
    <script src="node_modules/@azure/ms-rest-browserauth/dist/msAuth.js"></script>
    <script src="node_modules/@naveego/client-metabase/dist/client-metabase.js"></script>
    <script type="text/javascript">
      const subscriptionId = "<Subscription_Id>";
      const authManager = new msAuth.AuthManager({
        clientId: "<client id for your Azure AD app>",
        tenant: "<optional tenant for your organization>"
      });
      authManager.finalizeLogin().then((res) => {
        if (!res.isLoggedIn) {
          // may cause redirects
          authManager.login();
        }
        const client = new Naveego.ClientMetabase.MetabaseApi(res.creds, subscriptionId);
        const id = "testid";
        const page = 1;
        const pageSize = 1;
        client.getPagedStatusesForBatch(id, page, pageSize).then((result) => {
          console.log("The result is:");
          console.log(result);
        }).catch((err) => {
          console.log("An error occurred:");
          console.error(err);
        });
      });
    </script>
  </head>
  <body></body>
</html>

Related projects