upstox-js-sdk
Version:
The official Node Js client for communicating with the Upstox API
257 lines (234 loc) • 8.07 kB
JavaScript
/*
* 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.62
*
* Do not edit the class manually.
*
*/
import {ApiClient} from '../ApiClient';
/**
* The MultiOrderRequest model module.
* @module model/MultiOrderRequest
* @version v0
*/
export class MultiOrderRequest {
/**
* Constructs a new <code>MultiOrderRequest</code>.
* @alias module:model/MultiOrderRequest
* @class
* @param quantity {Number} Quantity with which the order is to be placed
* @param product {module:model/MultiOrderRequest.ProductEnum} Signifies if the order was either Intraday, Delivery, CO or OCO
* @param validity {module:model/MultiOrderRequest.ValidityEnum} It can be one of the following - DAY(default), IOC
* @param price {Number} Price at which the order will be placed
* @param slice {Boolean} To divide the order line based on predefined exchange definitions
* @param instrumentToken {String} Key of the instrument
* @param orderType {module:model/MultiOrderRequest.OrderTypeEnum} Type of order. It can be one of the following MARKET refers to market order LIMIT refers to Limit Order SL refers to Stop Loss Limit SL-M refers to Stop Loss Market
* @param transactionType {module:model/MultiOrderRequest.TransactionTypeEnum} Indicates whether its a buy or sell order
* @param disclosedQuantity {Number} The quantity that should be disclosed in the market depth
* @param triggerPrice {Number} If the order is a stop loss order then the trigger price to be set is mentioned here
* @param isAmo {Boolean} Signifies if the order is an After Market Order
* @param correlationId {String} A unique identifier for tracking individual orders within the batch
*/
constructor(quantity, product, validity, price, slice, instrumentToken, orderType, transactionType, disclosedQuantity, triggerPrice, isAmo, correlationId) {
this.quantity = quantity;
this.product = product;
this.validity = validity;
this.price = price;
this.slice = slice;
this.instrument_token = instrumentToken;
this.order_type = orderType;
this.transaction_type = transactionType;
this.disclosed_quantity = disclosedQuantity;
this.trigger_price = triggerPrice;
this.is_amo = isAmo;
this.correlation_id = correlationId;
}
/**
* Constructs a <code>MultiOrderRequest</code> from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:model/MultiOrderRequest} obj Optional instance to populate.
* @return {module:model/MultiOrderRequest} The populated <code>MultiOrderRequest</code> instance.
*/
static constructFromObject(data, obj) {
if (data) {
obj = obj || new MultiOrderRequest();
if (data.hasOwnProperty('quantity'))
obj.quantity = ApiClient.convertToType(data['quantity'], 'Number');
if (data.hasOwnProperty('product'))
obj.product = ApiClient.convertToType(data['product'], 'String');
if (data.hasOwnProperty('validity'))
obj.validity = ApiClient.convertToType(data['validity'], 'String');
if (data.hasOwnProperty('price'))
obj.price = ApiClient.convertToType(data['price'], 'Number');
if (data.hasOwnProperty('tag'))
obj.tag = ApiClient.convertToType(data['tag'], 'String');
if (data.hasOwnProperty('slice'))
obj.slice = ApiClient.convertToType(data['slice'], 'Boolean');
if (data.hasOwnProperty('instrument_token'))
obj.instrument_token = ApiClient.convertToType(data['instrument_token'], 'String');
if (data.hasOwnProperty('order_type'))
obj.order_type = ApiClient.convertToType(data['order_type'], 'String');
if (data.hasOwnProperty('transaction_type'))
obj.transaction_type = ApiClient.convertToType(data['transaction_type'], 'String');
if (data.hasOwnProperty('disclosed_quantity'))
obj.disclosed_quantity = ApiClient.convertToType(data['disclosed_quantity'], 'Number');
if (data.hasOwnProperty('trigger_price'))
obj.trigger_price = ApiClient.convertToType(data['trigger_price'], 'Number');
if (data.hasOwnProperty('is_amo'))
obj.is_amo = ApiClient.convertToType(data['is_amo'], 'Boolean');
if (data.hasOwnProperty('correlation_id'))
obj.correlation_id = ApiClient.convertToType(data['correlation_id'], 'String');
}
return obj;
}
}
/**
* Quantity with which the order is to be placed
* @member {Number} quantity
*/
MultiOrderRequest.prototype.quantity = undefined;
/**
* Allowed values for the <code>product</code> property.
* @enum {String}
* @readonly
*/
MultiOrderRequest.ProductEnum = {
/**
* value: "I"
* @const
*/
I: "I",
/**
* value: "D"
* @const
*/
D: "D"
};
/**
* Signifies if the order was either Intraday, Delivery, CO or OCO
* @member {module:model/MultiOrderRequest.ProductEnum} product
*/
MultiOrderRequest.prototype.product = undefined;
/**
* Allowed values for the <code>validity</code> property.
* @enum {String}
* @readonly
*/
MultiOrderRequest.ValidityEnum = {
/**
* value: "DAY"
* @const
*/
DAY: "DAY",
/**
* value: "IOC"
* @const
*/
IOC: "IOC"
};
/**
* It can be one of the following - DAY(default), IOC
* @member {module:model/MultiOrderRequest.ValidityEnum} validity
*/
MultiOrderRequest.prototype.validity = undefined;
/**
* Price at which the order will be placed
* @member {Number} price
*/
MultiOrderRequest.prototype.price = undefined;
/**
* @member {String} tag
*/
MultiOrderRequest.prototype.tag = undefined;
/**
* To divide the order line based on predefined exchange definitions
* @member {Boolean} slice
*/
MultiOrderRequest.prototype.slice = undefined;
/**
* Key of the instrument
* @member {String} instrumentToken
*/
MultiOrderRequest.prototype.instrument_token = undefined;
/**
* Allowed values for the <code>orderType</code> property.
* @enum {String}
* @readonly
*/
MultiOrderRequest.OrderTypeEnum = {
/**
* value: "MARKET"
* @const
*/
MARKET: "MARKET",
/**
* value: "LIMIT"
* @const
*/
LIMIT: "LIMIT",
/**
* value: "SL"
* @const
*/
SL: "SL",
/**
* value: "SL-M"
* @const
*/
SL_M: "SL-M"
};
/**
* Type of order. It can be one of the following MARKET refers to market order LIMIT refers to Limit Order SL refers to Stop Loss Limit SL-M refers to Stop Loss Market
* @member {module:model/MultiOrderRequest.OrderTypeEnum} orderType
*/
MultiOrderRequest.prototype.order_type = undefined;
/**
* Allowed values for the <code>transactionType</code> property.
* @enum {String}
* @readonly
*/
MultiOrderRequest.TransactionTypeEnum = {
/**
* value: "BUY"
* @const
*/
BUY: "BUY",
/**
* value: "SELL"
* @const
*/
SELL: "SELL"
};
/**
* Indicates whether its a buy or sell order
* @member {module:model/MultiOrderRequest.TransactionTypeEnum} transactionType
*/
MultiOrderRequest.prototype.transaction_type = undefined;
/**
* The quantity that should be disclosed in the market depth
* @member {Number} disclosedQuantity
*/
MultiOrderRequest.prototype.disclosed_quantity = undefined;
/**
* If the order is a stop loss order then the trigger price to be set is mentioned here
* @member {Number} triggerPrice
*/
MultiOrderRequest.prototype.trigger_price = undefined;
/**
* Signifies if the order is an After Market Order
* @member {Boolean} isAmo
*/
MultiOrderRequest.prototype.is_amo = undefined;
/**
* A unique identifier for tracking individual orders within the batch
* @member {String} correlationId
*/
MultiOrderRequest.prototype.correlation_id = undefined;