UNPKG

starkcore

Version:

Basic SDK functionalities for the starkbank and starkinfra SDKs

41 lines (37 loc) 2.04 kB
const User = require('./user').User; class Project extends User { /** * * Project Object * * @description The Project object is an authentication entity for the SDK that is permanently * linked to a specific Workspace. * All requests to the Stark Bank API must be authenticated via an SDK user, * which must have been previously created at the Stark Bank or Stark Infra websites * [https://web.sandbox.starkbank.com] or [https://web.starkbank.com] * before you can use it in this SDK. Projects may be passed as the user parameter on * each request or may be defined as the default user at the start (See README). * * Parameters (required): * @param id [string]: unique id required to identify project. ex: '5656565656565656' * @param privateKey [EllipticCurve.Project()]: PEM string of the private key linked to the project. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----' * @param environment [string]: environment where the project is being used. ex: 'sandbox' or 'production' * * Attributes (return-only): * @param name [string, default '']: project name. ex: 'MyProject' * @param allowedIps [list of strings]: list containing the strings of the ips allowed to make requests on behalf of this project. ex: ['190.190.0.50'] * @param pem [string]: private key in pem format. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----' * */ constructor({ id, privateKey, environment, name = '', allowedIps = [] }) { super({id, privateKey, environment}); this.name = name; this.allowedIps = allowedIps; } accessId() { return 'project/' + this.id; } }; exports.Project = Project;