upstox-js-sdk
Version:
The official Node Js client for communicating with the Upstox API
115 lines (110 loc) • 4.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.IPOApi = void 0;
var _ApiClient = require("../ApiClient");
var _ApiGatewayErrorResponse = require("../model/ApiGatewayErrorResponse");
var _IpoDetailsResponse = require("../model/IpoDetailsResponse");
var _IpoListingResponse = require("../model/IpoListingResponse");
/*
* OpenAPI definition
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
*
* OpenAPI spec version: v0
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
*
* Swagger Codegen version: 3.0.79
*
* Do not edit the class manually.
*
*/
/**
* IPO service.
* @module api/IPOApi
* @version v0
*/
class IPOApi {
/**
* Constructs a new IPOApi.
* @alias module:api/IPOApi
* @class
* @param {module:ApiClient} [apiClient] Optional API client implementation to use,
* default to {@link module:ApiClient#instanc
e} if unspecified.
*/
constructor(apiClient) {
this.apiClient = apiClient || _ApiClient.ApiClient.instance;
}
/**
* Callback function to receive the result of the getIpoDetails operation.
* @callback moduleapi/IPOApi~getIpoDetailsCallback
* @param {String} error Error message, if any.
* @param {module:model/IpoDetailsResponse{ data The data returned by the service call.
* @param {String} response The complete HTTP response.
*/
/**
* Get IPO Details
* Fetches detailed information for an IPO by its slug ID.
* @param {Object} id IPO slug ID
* @param {module:api/IPOApi~getIpoDetailsCallback} callback The callback function, accepting three arguments: error, data, response
* data is of type: {@link <&vendorExtensions.x-jsdoc-type>}
*/
getIpoDetails(id, callback) {
let postBody = null;
// verify the required parameter 'id' is set
if (id === undefined || id === null) {
throw new Error("Missing the required parameter 'id' when calling getIpoDetails");
}
let pathParams = {
'id': id
};
let queryParams = {};
let headerParams = {};
let formParams = {};
let authNames = ['OAUTH2'];
let contentTypes = [];
let accepts = ['*/*', 'application/json'];
let returnType = _IpoDetailsResponse.IpoDetailsResponse;
return this.apiClient.callApi('/v2/ipos/{id}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, callback);
}
/**
* Callback function to receive the result of the getIpoListing operation.
* @callback moduleapi/IPOApi~getIpoListingCallback
* @param {String} error Error message, if any.
* @param {module:model/IpoListingResponse{ data The data returned by the service call.
* @param {String} response The complete HTTP response.
*/
/**
* Get IPO Listing
* Fetches list of IPOs filtered by status.
* @param {Object} opts Optional parameters
* @param {Object} opts.status IPO status. Allowed values: open, closed, listed, upcoming (default to <.>)
* @param {Object} opts.issueType Issue type filter. Allowed values: regular, sme
* @param {Object} opts.pageNumber Page number (default: 1) (default to <.>)
* @param {Object} opts.records Number of records per page (default: 20, max: 30) (default to <.>)
* @param {module:api/IPOApi~getIpoListingCallback} callback The callback function, accepting three arguments: error, data, response
* data is of type: {@link <&vendorExtensions.x-jsdoc-type>}
*/
getIpoListing(opts, callback) {
opts = opts || {};
let postBody = null;
let pathParams = {};
let queryParams = {
'status': opts['status'],
'issue_type': opts['issueType'],
'page_number': opts['pageNumber'],
'records': opts['records']
};
let headerParams = {};
let formParams = {};
let authNames = ['OAUTH2'];
let contentTypes = [];
let accepts = ['*/*', 'application/json'];
let returnType = _IpoListingResponse.IpoListingResponse;
return this.apiClient.callApi('/v2/ipos', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, callback);
}
}
exports.IPOApi = IPOApi;