Socket
Socket
Sign inDemoInstall

aps-data-api

Package Overview
Dependencies
155
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    aps-data-api

package for data extraction from APS company for omnimetic project


Version published
Weekly downloads
2
decreased by-33.33%
Maintainers
1
Created
Weekly downloads
 

Readme

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

Last updated on 02 Jan 2023

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc