Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aps-data-api

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aps-data-api

package for data extraction from APS company for omnimetic project

  • 1.3.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
52
decreased by-47.47%
Maintainers
1
Weekly downloads
 
Created
Source

aps-data-api

npm package for APS company for data extraction

  • This package contains two methods of data extraction
  1. getServiceAccounts - It gives the response in the form of list of service-accounts related to given user-account
  2. getMonthlyUtilityData - It gives the response in the form of list of monthly-utility-data for given service-account

Installation

npm i aps-data-api --save

How to use?

import { APSUtilityDataService } from 'aps-data-api';
const apsUtilityDataService = new APSUtilityDataService();

const payload: GetDataPayload = {
    password: string;
    username: string;
  };

const res = await apsUtilityDataService.getServiceAccounts(payload)

After data extraction, we will get response as -

res: UtilityUserAccountResponse = {
      id: string
      name: string
      serviceAccounts[]: [{id:string, address:Address}]
    };

const res = await apsUtilityDataService.getMonthlyUtilityData(payload)

After data extraction, we will get response as -

res: MonthlyUtilityData[] = {
      id: string
      amountInCents: number
      energyConsumptionInWatts: number
      month: string
      serviceAccountId: string
      year: number
  };

Methods

    getServiceAccounts: (
      payload: GetDataPayload,
    ) => Promise<UtilityUserAccountResponse>;

    getMonthlyUtilityData: (
      payload: GetDataPayload,
    ) => Promise<MonthlyUtilityData[]>;

    setProxy:(proxy: string[]) => Promise<void>

Options

GetDataPayload = {
    password: string;
    username: string;
  };

WHERE,
password: password of the user-account
username: username of the user-account

proxy:string[]

WHERE,
proxy: VGS proxy we set

Responses

UtilityUserAccountResponse = {
      id: string
      name: string
      serviceAccounts[]: [{id:string, address:Address}]
    };

WHERE,
id: user-account id
name: Name of the user
serviceAccounts[]: List of service-accounts which are linked to given user-account id

MonthlyUtilityData[] = {
      id: string
      amountInCents: number
      energyConsumptionInWatts: number
      month: string
      serviceAccountId: string
      year: number
  };

WHERE,
id: id of monthly utility data model
amountInCents: Cost of electricity used in respective month and year in cents
energyConsumptionInWatts: Amount of electricity consumed in respective month and year in watts
month: Month of year for which utility data is extracted
serviceAccountId: service-account id for which utility data is extracted
year: Year of calender for which utility data is extracted

Scripts

  • npm run build - For building the app.
  • npm run test - Run automated test cases via mocha and chai.
  • npm run start - For starting the app.
  • npm run serve - For building and starting the app with auto-reload on changes.
  • npm run lint - To perform linting

Overview

  • Typescript support

  • Environment specific configuation support. The application use config npm module.

  • Linting support

npm run lint

Error Handling

  • If we pass incorrect credentials for getting utility-data, then...
import { APSUtilityDataService } from 'aps-data-api';
const apsUtilityDataService = new APSUtilityDataService();

const payload: GetDataPayload = {
    password: incorrect-username;
    username: incorrect-password;
  };

const res = await apsUtilityDataService.getServiceAccounts(payload)


  • The Promise gets rejected with AuthenticationError with message - access_denied

  • If we pass correct credentials for getting utility-data, but data extraction failed and service cannot extract data, then...

import { APSUtilityDataService } from 'aps-data-api';
const apsUtilityDataService = new APSUtilityDataService();

const payload: GetDataPayload = {
    password: correct-username;
    username: correct-password;
  };

const res = await apsUtilityDataService.getMonthlyUtilityData(payload)

  • The Promise gets rejected with DataExtractionError with message - Failed to extract data

Keywords

FAQs

Package last updated on 02 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc