npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

qlik-saas

v0.1.1

Published

NodeJS package to interact with Qlik Sense Saas edition

Downloads

4

Readme

ko-fi

UNDER DEVELOPMENT!

Description

NodeJS package to communicate with Qlik Sense Saas edition.

The official documentation about each endpoint parameters can be found on qlik.dev

Install

yet to be published to npm

Usage

Using the package is quite similar to qrs-interact

The package expose 5 methods:

  • Get
    • params
      • path (string, mandatory) (spaces, spaces/space-id etc)
  • Delete
    • params
      • path (sting, mandatory)
  • Patch
    • params
      • TBA
  • Post
    • params
      • path (sting, mandatory) (spaces, spaces/space-id etc)
      • data (json, mandatory) (see each endpoint for the required format)
      • contentType (string, optional) (default is application/json)
  • Put
    • params
      • path (sting, mandatory) (spaces, spaces/space-id etc)
      • data (json, mandatory) (see each endpoint for the required format)
      • contentType (string, optional) (default is application/json)

Before usage the instance should be initialized:

let config = {
  url: `tenant.eu.qlikcloud.com`,
  token: `api-key-generated-from-the-admin-console `,
  version: X, // optional. default is: 1
};

let saasInstance = new qlikSaas(config);

Get method

// Get all available spaces
let allSpaces = await saasInstance.Get("spaces");

Delete method

// Delete single space
let deletedSpace = await saasInstance.Delete("spaces/1a002233cdd44555566ee77f");

Patch method

// TBA

Post method

// Create new space
let data = {
  name: "My new space",
  description: "New space for more apps",
  type: "shared",
};

let createSpace = await saasInstance.Post({
  path: "spaces",
  data: data,
  contentType: "application/json",
});

Put method

// Update space
let data = {
  name: "New name for old space",
};

let updateSpace = await saasInstance.Put({
  path: `spaces/1a002233cdd44555566ee77f`,
  data: data,
  contentType: "application/json",
});

Paging

When requesting data Qlik will page it by default (max 100 items can be returned in a single call). If there are more records to be returned, the package will extract them all before returning the result

Errors

Each method returns promise. Errors can be handled using the usual way:

// Update space
let data = {
  name: "New name for old space",
};

let updateSpace = await saasInstance
  .Put({
    path: `spaces/1a002233cdd44555566ee77f`,
    data,
    contentType: "application/json",
  })
  .catch(function (e) {
    // do something with the error here
    // if Qlik is raising the error then the format of the error will be { status: XXX, statusText: XXXXY, message: XXXXXXX }
    // if Qlik is NOT raising the error then the format is: { message: XXXXXXX } (no status)
  });

Authentication

At the moment the package interact with Qlik only via API keys

To be added

  • patch method
  • test cases (in progress)
  • proper error handling
  • published to npm
  • more methods?
  • more testing with the paging functionality
  • support browser based authentication headers?
  • able to use the package in browsers?