api_connect_nodejs 1.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,21 +26,12 @@ validatePlaceTrade = (object) => {
26
26
  ordTyp: Joi.string()
27
27
  .valid(...orderTypeArray)
28
28
  .required(),
29
- qty: Joi.number().integer().positive().required(),
29
+ qty: Joi.number().required(),
30
30
  sym: Joi.string().required(),
31
31
  lmPrc: Joi.number().required(),
32
- dscQty: Joi.string().required(),
33
- trgPrc: Joi.string().required(),
34
- prdCode: Joi.string()
35
- .valid(...productTypeArray)
36
- .required(),
37
- mktPro: Joi.string().allow("").required(),
38
- posSqr: Joi.string().required(),
39
- minQty: Joi.string().required(),
40
- ordSrc: Joi.string().required(),
41
- vnCode: Joi.string().allow("", "NA").required(),
42
- rmk: Joi.string().allow("", "NA").required(),
43
- flQty: Joi.boolean().required(),
32
+ dscQty: Joi.string(),
33
+ trgPrc: Joi.string(),
34
+ prdCode: Joi.string().valid(...productTypeArray),
44
35
  }).options({ abortEarly: false });
45
36
 
46
37
  return placeTradeSchema.validate(object);
@@ -58,22 +49,18 @@ validateModifyTrade = (object) => {
58
49
  dur: Joi.string()
59
50
  .valid(...validityArray)
60
51
  .required(),
61
- flQty: Joi.string().required(),
62
52
  ordTyp: Joi.string()
63
53
  .valid(...orderTypeArray)
64
54
  .required(),
65
- qty: Joi.number().integer().positive().required(),
66
- dscQty: Joi.string().required(),
55
+ qty: Joi.number().required(),
56
+ dscQty: Joi.string(),
67
57
  sym: Joi.string().required(),
68
- mktPro: Joi.string().allow("").required(),
69
58
  lmPrc: Joi.number().required(),
70
- trgPrc: Joi.string().required(),
59
+ trgPrc: Joi.string(),
71
60
  prdCode: Joi.string()
72
61
  .valid(...productTypeArray)
73
62
  .required(),
74
- dtDays: Joi.string().allow("").required(),
75
63
  nstOID: Joi.string().required(),
76
- valid: Joi.boolean().required(),
77
64
  }).options({ abortEarly: false });
78
65
 
79
66
  return modifyTradeSchema.validate(object);
@@ -111,21 +98,13 @@ validatePlaceGtcGtdTrade = (object) => {
111
98
  ordTyp: Joi.string()
112
99
  .valid(...orderTypeArray)
113
100
  .required(),
114
- qty: Joi.number().integer().positive().required(),
101
+ qty: Joi.number().required(),
115
102
  lmPrc: Joi.number().required(),
116
103
  prdCode: Joi.string()
117
104
  .valid(...productTypeArray)
118
105
  .required(),
119
106
  dtDays: Joi.string().required(),
120
- ordSrc: Joi.string().required(),
121
- vnCode: Joi.string().allow("", "NA").required(),
122
- oprtn: "<=",
123
- srcExp: Joi.string().required(),
124
- tgtId: Joi.string().required(),
125
- brnchNm: Joi.string().required(),
126
- brk: Joi.string().required(),
127
- amo: Joi.boolean().required(),
128
- valid: Joi.boolean().required(),
107
+ sym: Joi.string().required(),
129
108
  }).options({ abortEarly: false });
130
109
 
131
110
  return PlaceGtcGtdTradeSchema.validate(object);
@@ -143,26 +122,15 @@ validatePlaceCoverTrade = (object) => {
143
122
  dur: Joi.string()
144
123
  .valid(...validityArray)
145
124
  .required(),
146
- flQty: Joi.boolean().required(),
147
125
  ordTyp: Joi.string()
148
126
  .valid(...orderTypeArray)
149
127
  .required(),
150
- qty: Joi.number().integer().positive().required(),
151
- dscQty: Joi.string().required(),
128
+ qty: Joi.number().required(),
129
+ dscQty: Joi.string(),
152
130
  sym: Joi.string().required(),
153
- mktPro: Joi.string().allow("").required(),
154
131
  lmPrc: Joi.number().required(),
155
- trgPrc: Joi.string().required(),
156
- prdCode: Joi.string()
157
- .valid(...productTypeArray)
158
- .required(),
159
- dtDays: Joi.string().allow("").required(),
160
- posSqr: Joi.string().required(),
161
- minQty: Joi.string().required(),
162
- ordSrc: Joi.string().required(),
163
- vnCode: Joi.string().allow("", "NA").required(),
164
- rmk: Joi.string().allow("", "NA").required(),
165
- valid: Joi.boolean().required(),
132
+ trgPrc: Joi.string(),
133
+ prdCode: Joi.string().valid(...productTypeArray),
166
134
  }).options({ abortEarly: false });
167
135
 
168
136
  return placeCoverTradeSchema.validate(object);
@@ -180,38 +148,27 @@ validateModifyCoverTrade = (object) => {
180
148
  dur: Joi.string()
181
149
  .valid(...validityArray)
182
150
  .required(),
183
- flQty: Joi.boolean().required(),
184
151
  ordTyp: Joi.string()
185
152
  .valid(...orderTypeArray)
186
153
  .required(),
187
- qty: Joi.number().integer().positive().required(),
188
- dscQty: Joi.string().required(),
189
- mktPro: Joi.string().allow("").required(),
154
+ qty: Joi.number().required(),
155
+ sym: Joi.string().required(),
156
+ dscQty: Joi.string(),
190
157
  lmPrc: Joi.number().required(),
191
- trgPrc: Joi.string().required(),
192
- prdCode: Joi.string()
193
- .valid(...productTypeArray)
194
- .required(),
195
- dtDays: Joi.string().allow("").required(),
158
+ trgPrc: Joi.string(),
159
+ prdCode: Joi.string().valid(...productTypeArray),
196
160
  nstOID: Joi.string().required(),
197
- valid: Joi.boolean().required(),
198
161
  }).options({ abortEarly: false });
199
162
 
200
163
  return modifyCovertrade.validate(object);
201
164
  };
202
165
 
203
- validateExitCoverTrade = (object) => {
166
+ validateExitCoverTrade = (orderId) => {
167
+ const object = {
168
+ nstOID: orderId,
169
+ };
204
170
  const exitCoverTradeSchema = Joi.object({
205
171
  nstOID: Joi.string().required(),
206
- exc: Joi.string()
207
- .valid(...exchangeTypeArray)
208
- .required(),
209
- ordTyp: Joi.string()
210
- .valid(...orderTypeArray)
211
- .required(),
212
- prdCode: Joi.string()
213
- .valid(...productTypeArray)
214
- .required(),
215
172
  }).options({ abortEarly: false });
216
173
 
217
174
  return exitCoverTradeSchema.validate(object);
@@ -229,26 +186,15 @@ validatePlaceAMOTrade = (object) => {
229
186
  dur: Joi.string()
230
187
  .valid(...validityArray)
231
188
  .required(),
232
- flQty: Joi.boolean().required(),
233
189
  ordTyp: Joi.string()
234
190
  .valid(...orderTypeArray)
235
191
  .required(),
236
- qty: Joi.number().integer().positive().required(),
237
- dscQty: Joi.string().required(),
192
+ qty: Joi.number().required(),
193
+ dscQty: Joi.string(),
238
194
  sym: Joi.string().required(),
239
- mktPro: Joi.string().allow("").required(),
240
195
  lmPrc: Joi.number().required(),
241
- trgPrc: Joi.string().required(),
242
- prdCode: Joi.string()
243
- .valid(...productTypeArray)
244
- .required(),
245
- dtDays: Joi.string().allow("").required(),
246
- posSqr: Joi.string().required(),
247
- minQty: Joi.string().required(),
248
- ordSrc: Joi.string().required(),
249
- vnCode: Joi.string().allow("", "NA").required(),
250
- rmk: Joi.string().allow("", "NA").required(),
251
- valid: Joi.boolean().required(),
196
+ trgPrc: Joi.string(),
197
+ prdCode: Joi.string().valid(...productTypeArray),
252
198
  }).options({ abortEarly: false });
253
199
 
254
200
  return placeAMOTradeSchema.validate(object);
@@ -266,21 +212,16 @@ validateModifyAMOTrade = (object) => {
266
212
  dur: Joi.string()
267
213
  .valid(...validityArray)
268
214
  .required(),
269
- flQty: Joi.boolean().required(),
270
215
  ordTyp: Joi.string()
271
216
  .valid(...orderTypeArray)
272
217
  .required(),
273
- qty: Joi.number().integer().positive().required(),
274
- dscQty: Joi.string().required(),
275
- mktPro: Joi.string().allow("").required(),
218
+ qty: Joi.number().required(),
219
+ dscQty: Joi.string(),
276
220
  lmPrc: Joi.number().required(),
277
- trgPrc: Joi.string().required(),
278
- prdCode: Joi.string()
279
- .valid(...productTypeArray)
280
- .required(),
281
- dtDays: Joi.string().allow("").required(),
221
+ trgPrc: Joi.string(),
222
+ prdCode: Joi.string().valid(...productTypeArray),
282
223
  nstOID: Joi.string().required(),
283
- valid: Joi.boolean().required(),
224
+ sym: Joi.string().required(),
284
225
  }).options({ abortEarly: false });
285
226
 
286
227
  return modifyAMOTradeSchema.validate(object);
@@ -307,7 +248,7 @@ validateConvertPosition = (object) => {
307
248
  const ConvertPositionSchema = Joi.object({
308
249
  nstOID: Joi.string().required(),
309
250
  flID: Joi.string().required(),
310
- prdCodeCh: "CNC",
251
+ prdCodeCh: Joi.string().required(),
311
252
  prdCode: Joi.string()
312
253
  .valid(...productTypeArray)
313
254
  .required(),
@@ -324,41 +265,27 @@ validateConvertPosition = (object) => {
324
265
 
325
266
  validatePlaceMF = (object) => {
326
267
  const placeMFSchema = Joi.object({
327
- currentOrdSts: "ACCEPTED",
328
268
  token: Joi.string().required(),
329
269
  isin: Joi.string().required(),
330
270
  txnTyp: Joi.string().required(),
331
271
  clientCode: Joi.string().required(),
332
- qty: Joi.number().integer().positive().required(),
272
+ qty: Joi.number().required(),
333
273
  amt: Joi.number().positive().required(),
334
274
  reInvFlg: Joi.string().required(),
335
- reqstdBy: Joi.string().required(),
336
- folioNo: Joi.string().required(),
337
- ordTyp: Joi.string()
338
- .valid(...orderTypeArray)
339
- .required(),
340
- txnId: Joi.string().allow("0").required(),
275
+ folioNo: Joi.any().when("txnTyp", {
276
+ switch: [
277
+ { is: "SIP", then: Joi.string().required() },
278
+ { is: "XSIP", then: Joi.string().required() },
279
+ ],
280
+ otherwise: Joi.string().allow(''),
281
+ }),
341
282
  schemeName: Joi.string().required(),
342
- rmrk: Joi.string().required(),
343
- mnRdmFlg: Joi.string().required(),
344
- ordSrc: Joi.string().required(),
345
- strtDy: 0,
346
283
  strtDt: Joi.string().required(),
347
284
  endDt: Joi.string().required(),
348
- sipFrq: Joi.string().required(),
349
285
  gfot: Joi.string().required(),
350
- tnr: Joi.string().required(),
351
- mdtId: Joi.string().required(),
352
- sipregno: Joi.string().required(),
353
- siporderno: Joi.string().required(),
354
- schemePlan: "Direct",
355
- schemeCode: "schemeCode",
356
- closeAccountFlag: Joi.string().required(),
357
- kycflag: Joi.string().required(),
358
- dpc: Joi.string().required(),
359
- euinflag: Joi.string().required(),
360
- euinnumber: Joi.string().required(),
361
- physicalFlag: Joi.string().required(),
286
+ schemePlan: Joi.string().required(),
287
+ schemeCode: Joi.string().required(),
288
+ sipFrq: Joi.string().required(),
362
289
  }).options({ abortEarly: false });
363
290
 
364
291
  return placeMFSchema.validate(object);
@@ -366,41 +293,28 @@ validatePlaceMF = (object) => {
366
293
 
367
294
  validateModifyMF = (object) => {
368
295
  const modifyMFSchema = Joi.object({
369
- currentOrdSts: "ACCEPTED",
370
296
  token: Joi.string().required(),
371
297
  isin: Joi.string().required(),
372
298
  txnTyp: Joi.string().required(),
373
299
  clientCode: Joi.string().required(),
374
- qty: Joi.number().integer().positive().required(),
300
+ qty: Joi.number().required(),
375
301
  amt: Joi.number().positive().required(),
376
302
  reInvFlg: Joi.string().required(),
377
- reqstdBy: Joi.string().required(),
378
- folioNo: Joi.string().required(),
379
- ordTyp: Joi.string()
380
- .valid(...orderTypeArray)
381
- .required(),
382
- txnId: Joi.string().allow("0").required(),
303
+ folioNo: Joi.any().when("txnTyp", {
304
+ switch: [
305
+ { is: "SIP", then: Joi.string().required() },
306
+ { is: "XSIP", then: Joi.string().required() },
307
+ ],
308
+ otherwise: Joi.string().allow(''),
309
+ }),
383
310
  schemeName: Joi.string().required(),
384
- rmrk: Joi.string().required(),
385
- mnRdmFlg: Joi.string().required(),
386
- ordSrc: Joi.string().required(),
387
- strtDy: 0,
388
311
  strtDt: Joi.string().required(),
389
312
  endDt: Joi.string().required(),
390
313
  sipFrq: Joi.string().required(),
391
314
  gfot: Joi.string().required(),
392
- tnr: Joi.string().required(),
393
- mdtId: Joi.string().required(),
394
- sipregno: Joi.string().required(),
395
- siporderno: Joi.string().required(),
396
- schemePlan: "Direct",
397
- schemeCode: "schemeCode",
398
- closeAccountFlag: Joi.string().required(),
399
- kycflag: Joi.string().required(),
400
- dpc: Joi.string().required(),
401
- euinflag: Joi.string().required(),
402
- euinnumber: Joi.string().required(),
403
- physicalFlag: Joi.string().required(),
315
+ schemePlan: Joi.string().required(),
316
+ schemeCode: Joi.string().required(),
317
+ txnId: Joi.string().required(),
404
318
  }).options({ abortEarly: false });
405
319
 
406
320
  return modifyMFSchema.validate(object);
@@ -408,41 +322,28 @@ validateModifyMF = (object) => {
408
322
 
409
323
  validateCancelMF = (object) => {
410
324
  const cancelMFSchema = Joi.object({
411
- currentOrdSts: "ACCEPTED",
412
325
  token: Joi.string().required(),
413
326
  isin: Joi.string().required(),
414
327
  txnTyp: Joi.string().required(),
415
328
  clientCode: Joi.string().required(),
416
- qty: Joi.number().integer().positive().required(),
329
+ qty: Joi.number().required(),
417
330
  amt: Joi.number().positive().required(),
418
331
  reInvFlg: Joi.string().required(),
419
- reqstdBy: Joi.string().required(),
420
- folioNo: Joi.string().required(),
421
- ordTyp: Joi.string()
422
- .valid(...orderTypeArray)
423
- .required(),
424
- txnId: Joi.string().allow("0").required(),
332
+ folioNo: Joi.any().when("txnTyp", {
333
+ switch: [
334
+ { is: "SIP", then: Joi.string().required() },
335
+ { is: "XSIP", then: Joi.string().required() },
336
+ ],
337
+ otherwise: Joi.string().allow(''),
338
+ }),
425
339
  schemeName: Joi.string().required(),
426
- rmrk: Joi.string().required(),
427
- mnRdmFlg: Joi.string().required(),
428
- ordSrc: Joi.string().required(),
429
- strtDy: 0,
430
340
  strtDt: Joi.string().required(),
431
341
  endDt: Joi.string().required(),
432
342
  sipFrq: Joi.string().required(),
433
343
  gfot: Joi.string().required(),
434
- tnr: Joi.string().required(),
435
- mdtId: Joi.string().required(),
436
- sipregno: Joi.string().required(),
437
- siporderno: Joi.string().required(),
438
- schemePlan: "Direct",
439
- schemeCode: "schemeCode",
440
- closeAccountFlag: Joi.string().required(),
441
- kycflag: Joi.string().required(),
442
- dpc: Joi.string().required(),
443
- euinflag: Joi.string().required(),
444
- euinnumber: Joi.string().required(),
445
- physicalFlag: Joi.string().required(),
344
+ schemePlan: Joi.string().required(),
345
+ schemeCode: Joi.string().required(),
346
+ txnId: Joi.string().required(),
446
347
  }).options({ abortEarly: false });
447
348
 
448
349
  return cancelMFSchema.validate(object);
@@ -454,20 +355,15 @@ validatePlaceBracketTrade = (object) => {
454
355
  .valid(...exchangeTypeArray)
455
356
  .required(),
456
357
  sym: Joi.string().required(),
457
- trnsTyp: "BUY",
458
- qty: Joi.number().integer().positive().required(),
459
- dur: "DAY",
358
+ trnsTyp: Joi.string().required(),
359
+ qty: Joi.number().required(),
360
+ dur: Joi.string().required(),
460
361
  dsQty: Joi.string().required(),
461
- prc: Joi.string().required(),
462
- trdBsdOn: "LTP",
463
- sqOffBsdOn: "Absolute",
464
- sqOffVal: Joi.string().required(),
465
- slBsdOn: "Absolute",
362
+ prc: Joi.number().required(),
466
363
  slVal: Joi.string().required(),
467
- trlSl: "Y",
468
- trlSlVal: Joi.string().required(),
469
- ordSrc: "EMT",
470
- valid: true,
364
+ trlSl: Joi.string(),
365
+ trlSlVal: Joi.string(),
366
+ sqOffVal: Joi.string().required(),
471
367
  }).options({ abortEarly: false });
472
368
 
473
369
  return PlaceBracketTradeSchema.validate(object);
@@ -530,11 +426,11 @@ validatePlaceBasketTrade = (orderList) => {
530
426
  .required(),
531
427
  price: Joi.string().required(),
532
428
  trgPrc: Joi.string().required(),
533
- qty: Joi.number().integer().positive().required(),
429
+ qty: Joi.number().required(),
534
430
  dscQty: Joi.string().required(),
535
- gtdDt: Joi.string().required(),
431
+ GTDDate: Joi.string().required(),
536
432
  rmk: Joi.string().allow("").required(),
537
- vnCode: Joi.string(),
433
+ sym: Joi.string().required(),
538
434
  })
539
435
  .options({ abortEarly: false });
540
436
 
@@ -554,26 +450,19 @@ validatePositionSquareOff = (orderList) => {
554
450
  dur: Joi.string()
555
451
  .valid(...validityArray)
556
452
  .required(),
557
- flQty: Joi.string().required(),
558
453
  ordTyp: Joi.string()
559
454
  .valid(...orderTypeArray)
560
455
  .required(),
561
456
  qty: Joi.string().required(),
562
457
  dscQty: Joi.string().required(),
563
458
  sym: Joi.string().required(),
564
- mktPro: Joi.string().allow("").required(),
565
- lmPrc: Joi.string().required(),
566
459
  trgPrc: Joi.string().required(),
460
+ price: Joi.string().required(),
567
461
  prdCode: Joi.string()
568
462
  .valid(...productTypeArray)
569
463
  .required(),
570
- dtDays: Joi.string().required(),
571
- posSqr: Joi.string().required(),
572
- minQty: "string",
573
- ordSrc: "API",
574
- vnCode: Joi.string().required(),
575
464
  rmk: Joi.string().required(),
576
- valid: Joi.boolean().required(),
465
+ GTDDate: Joi.string().required(),
577
466
  })
578
467
  .options({ abortEarly: false });
579
468
 
@@ -0,0 +1,68 @@
1
+ const Joi = require("joi");
2
+
3
+ /**
4
+ * Validator For Subsribe LiveNews Feed
5
+ */
6
+ validateStreamerCallback = (callback) => {
7
+ let subcribeLiveNewsObj = {
8
+ callback: callback,
9
+ };
10
+
11
+ const subcribeLiveNewsSchema = Joi.object({
12
+ callback: Joi.function().required(),
13
+ }).options({ abortEarly: false });
14
+
15
+ return subcribeLiveNewsSchema.validate(subcribeLiveNewsObj);
16
+ };
17
+
18
+ /**
19
+ * Validator For Subsribe Quote Feed
20
+ */
21
+ validateSubscribeQuotesFeed = (callback, symbols) => {
22
+ let subcribeFeedQuoteObj = {
23
+ callback: callback,
24
+ symbols: symbols,
25
+ };
26
+
27
+ const subcribeFeedQuoteSchema = Joi.object({
28
+ callback: Joi.function().required(),
29
+ symbols: Joi.array().items(Joi.string().min(1).required()).required(),
30
+ }).options({ abortEarly: false });
31
+
32
+ return subcribeFeedQuoteSchema.validate(subcribeFeedQuoteObj);
33
+ };
34
+
35
+ /**
36
+ * Validator For Unsubsribe Quote Feed
37
+ */
38
+ validateUnsubscribeQuotesFeed = (symbols) => {
39
+ let unsubcribeFeedQuoteObj = {
40
+ symbols: symbols,
41
+ };
42
+
43
+ const UnsubcribeFeedQuoteSchema = Joi.object({
44
+ symbols: Joi.array().items(Joi.string().min(1).required()).required(),
45
+ }).options({ abortEarly: false });
46
+
47
+ return UnsubcribeFeedQuoteSchema.validate(unsubcribeFeedQuoteObj);
48
+ };
49
+
50
+ validateSubscribeOrdersFeed = (accId, userId, callback) => {
51
+ let subcribeOrdersFeedObj = {
52
+ accId: accId,
53
+ userId: userId,
54
+ callback: callback,
55
+ };
56
+
57
+ const subcribeOrdersFeedSchema = Joi.object({
58
+ accId: Joi.string().required(),
59
+ userId: Joi.string().required(),
60
+ callback: Joi.function().required(),
61
+ }).options({ abortEarly: false });
62
+
63
+ return subcribeOrdersFeedSchema.validate(subcribeOrdersFeedObj);
64
+ };
65
+
66
+
67
+
68
+ module.exports = { validateStreamerCallback, validateSubscribeQuotesFeed, validateUnsubscribeQuotesFeed, validateSubscribeOrdersFeed};
package/.prettierrc.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "arrowParens": "always",
3
- "bracketSameLine": false,
4
- "bracketSpacing": true,
5
- "embeddedLanguageFormatting": "auto",
6
- "htmlWhitespaceSensitivity": "css",
7
- "insertPragma": false,
8
- "jsxSingleQuote": false,
9
- "printWidth": 80,
10
- "proseWrap": "preserve",
11
- "quoteProps": "as-needed",
12
- "requirePragma": false,
13
- "semi": true,
14
- "singleQuote": false,
15
- "tabWidth": 2,
16
- "trailingComma": "es5",
17
- "useTabs": false,
18
- "vueIndentScriptAndStyle": false
19
- }
package/gitignore DELETED
@@ -1,23 +0,0 @@
1
- # Dependency directories
2
- node_modules/
3
-
4
- # Optional npm cache directory
5
- .npm
6
-
7
- # dotenv environment variables file
8
- .env
9
-
10
- #Ignore instruments and mfInstruments file and OutputFile.csv
11
- instruments.csv
12
-
13
- mfInstruments.csv
14
-
15
- OutputFile.csv
16
-
17
- #Ignore Log files
18
- logs/
19
-
20
- edel-connect.*
21
-
22
- *.txt
23
- *.json