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

srp-data-api

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

srp-data-api

package for data extraction from SRP company for getting utility data

  • 1.4.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
30
increased by650%
Maintainers
1
Weekly downloads
 
Created
Source

srp-data-api

npm package for SRP 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 srp-data-api --save

How to use?

import { SRPUtilityDataService } from 'srp-data-api';
const srpUtilityDataService = new SRPUtilityDataService();

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

const res = await srpUtilityDataService.getServiceAccounts(payload)

After data extraction, we will get response as -

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

const res = await srpUtilityDataService.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 { SRPUtilityDataService } from 'srp-data-api';
const srpUtilityDataService = new SRPUtilityDataService();

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

const res = await srpUtilityDataService.getServiceAccounts(payload)


  • The Promise gets rejected with AuthenticationError with message - The user name or password is incorrect.

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

import { SRPUtilityDataService } from 'srp-data-api';
const srpUtilityDataService = new SRPUtilityDataService();

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

const res = await srpUtilityDataService.getMonthlyUtilityData(payload)

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

Keywords

FAQs

Package last updated on 26 Sep 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