@esri/telemetry-reporting-client
TypeScript icon, indicating that this package has built-in type declarations

3.2.4 • Public • Published

npm version build status apache licensed

Telemetry Reporting Client

Library for interfacing with the Telemetry Reporting Service.

Installation

yarn add @esri/telemetry-reporting-client

Example Usage

getTelemetryReport

import { getTelemetryReport } from '@esri/telemetry-reporting-client';

const requestParams = {
  scope: {
    hostname: 'hostname',
  },
  dateRange: {
    startDate: '2019-01-01',
    endDate: '2019-01-31',
  },
  metrics: ['page-views:count'],
};

const requestOptions = {
  httpMethod: 'POST',
  params: {},
  authentication: {
    token: 'token',
  },
  hubApiUrl: 'https://hubqa.arcgis.com',
  customDimensionsConfig: {
    details: 1,
    userType: 2,
    id: 16,
  },
};

const report = getTelemetryReport(requestParams, requestOptions)
  .then((response) => {
    data = response.data;
  })
  .catch((error) => {
    // Handle error
  });

buildSimpleDimensionFilters

import { buildSimpleDimensionFilters } from '@esri/telemetry-reporting-client';

const event = {
  category: 'Interaction',
  action: 'Download',
  label: 'Cache',
};

const dimensionFilters = buildSimpleDimensionFilters(event);

isAuthorized

import { isAuthorized } from '@esri/telemetry-reporting-client';

const result = isAuthorized({
      itemId: '3ef',
      hostname: 'hubqa.arcgis.com',
      agoPortalUrl: 'https://qaext.arcgis.com/sharing/rest',
      hubApiUrl: 'https://hubqa.arcgis.com',
      token: 'token'
    })
    .then((response) => {
      return response;
    })
    .catch((error) => {
      // Handle error
    });

If you have already fetch the AGO user, you can make this call more perfomant by passing in the user (thus avoiding have to fetch it again) :

import { isAuthorized } from '@esri/telemetry-reporting-client';
import { UserSession } from '@esri/arcgis-rest-auth';

const userSession = new UserSession({
      token: token,
});
const user = await userSession.getUser();

const result = isAuthorized({
      itemId: '3ef',
      hostname: 'hubqa.arcgis.com',
      agoPortalUrl: 'https://qaext.arcgis.com/sharing/rest',
      hubApiUrl: 'https://hubqa.arcgis.com',
      user,
      token: 'token'
    })
    .then((response) => {
      return response;
    })
    .catch((error) => {
      // Handle error
    });

Note that the token is still required in order to fetch the target item (if it is private).

Commands

  • yarn start: This builds to /dist and runs the project in watch mode so any edits you save inside src rebuilds to /dist.

  • yarn build: One-off build to the /dist

  • yarn test: Runs the full test suite.

  • yarn test:watch: Runs the full test suite in watch mode so any edits you make will re-run the tests.

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

License

Copyright © 2022 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.

Readme

Keywords

none

Package Sidebar

Install

npm i @esri/telemetry-reporting-client

Weekly Downloads

268

Version

3.2.4

License

Apache-2.0

Unpacked Size

219 kB

Total Files

44

Last publish

Collaborators

  • kit12303
  • jordantsanz
  • allieraney
  • robert.vo
  • noahmulfinger
  • ssylvia
  • paulcpederson
  • jgravois
  • patrickarlt
  • nixta
  • odoe
  • jwasilgeo
  • tomwayson
  • benstoltz
  • dbouwman
  • thollingshead
  • hhkaos
  • dpaddock
  • esri_dev
  • driskull
  • jamin415
  • katelynseitz
  • jpurusho
  • rlibed
  • mtschudi
  • ajturner
  • gavinr
  • kellyhutchins
  • mjuniper
  • john4818
  • pr3tori4n
  • gbrown-gis
  • haoliang
  • macandcheese
  • jcfranco
  • alan0002
  • richgwozdz
  • rweber.esri
  • vivzhang
  • juliannemarik
  • drspacemanphd