api_connect_nodejs 2.0.1 → 2.0.4
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.
- package/README.md +1 -1
- package/conf/settings.ini +1 -1
- package/package.json +1 -1
- package/src/apiConnect.js +275 -357
- package/src/apiUtils.js +94 -2
- package/src/config.js +8 -18
- package/validations/apiConnectValidator.js +180 -167
|
@@ -11,11 +11,15 @@ const validityArray = Object.values(enumValidity);
|
|
|
11
11
|
const orderTypeArray = Object.values(enumOrderType);
|
|
12
12
|
const productTypeArray = Object.values(enumProductType);
|
|
13
13
|
|
|
14
|
-
validatePlaceTrade = (object) => {
|
|
14
|
+
validatePlaceTrade = (object, prds) => {
|
|
15
|
+
// let prdName = [];
|
|
16
|
+
// if (prds.exc.includes(object.exc)) {
|
|
17
|
+
// prdName = prds.prd[object.exc];
|
|
18
|
+
// }
|
|
15
19
|
const placeTradeSchema = Joi.object({
|
|
16
20
|
trdSym: Joi.string().required(),
|
|
17
21
|
exc: Joi.string()
|
|
18
|
-
.valid(...
|
|
22
|
+
.valid(...prds.exc)
|
|
19
23
|
.required(),
|
|
20
24
|
action: Joi.string()
|
|
21
25
|
.valid(...actionTypeArray)
|
|
@@ -28,20 +32,27 @@ validatePlaceTrade = (object) => {
|
|
|
28
32
|
.required(),
|
|
29
33
|
qty: Joi.number().required(),
|
|
30
34
|
sym: Joi.string().required(),
|
|
31
|
-
lmPrc: Joi.
|
|
35
|
+
lmPrc: Joi.string().required(),
|
|
32
36
|
dscQty: Joi.string(),
|
|
33
37
|
trgPrc: Joi.string(),
|
|
34
|
-
prdCode: Joi.string()
|
|
38
|
+
prdCode: Joi.string()
|
|
39
|
+
// .valid(...prdName)
|
|
40
|
+
.required(),
|
|
35
41
|
}).options({ abortEarly: false });
|
|
36
|
-
|
|
42
|
+
const re = placeTradeSchema.validate(object);
|
|
43
|
+
console.log({ re });
|
|
37
44
|
return placeTradeSchema.validate(object);
|
|
38
45
|
};
|
|
39
46
|
|
|
40
|
-
validateModifyTrade = (object) => {
|
|
47
|
+
validateModifyTrade = (object, prds) => {
|
|
48
|
+
// let prdName = [];
|
|
49
|
+
// if (prds.exc.includes(object.exc)) {
|
|
50
|
+
// prdName = prds.prd[object.exc];
|
|
51
|
+
// }
|
|
41
52
|
const modifyTradeSchema = Joi.object({
|
|
42
53
|
trdSym: Joi.string().required(),
|
|
43
54
|
exc: Joi.string()
|
|
44
|
-
.valid(...
|
|
55
|
+
.valid(...prds.exc)
|
|
45
56
|
.required(),
|
|
46
57
|
action: Joi.string()
|
|
47
58
|
.valid(...actionTypeArray)
|
|
@@ -58,7 +69,7 @@ validateModifyTrade = (object) => {
|
|
|
58
69
|
lmPrc: Joi.number().required(),
|
|
59
70
|
trgPrc: Joi.string(),
|
|
60
71
|
prdCode: Joi.string()
|
|
61
|
-
.valid(...
|
|
72
|
+
// .valid(...prdName)
|
|
62
73
|
.required(),
|
|
63
74
|
nstOID: Joi.string().required(),
|
|
64
75
|
}).options({ abortEarly: false });
|
|
@@ -66,28 +77,36 @@ validateModifyTrade = (object) => {
|
|
|
66
77
|
return modifyTradeSchema.validate(object);
|
|
67
78
|
};
|
|
68
79
|
|
|
69
|
-
validateCancelPlaceTrade = (object) => {
|
|
80
|
+
validateCancelPlaceTrade = (object, prds) => {
|
|
81
|
+
// let prdName = [];
|
|
82
|
+
// if (prds.exc.includes(object.exc)) {
|
|
83
|
+
// prdName = prds.prd[object.exc];
|
|
84
|
+
// }
|
|
70
85
|
const cancelPlaceTradeSchema = Joi.object({
|
|
71
86
|
nstOID: Joi.string().required(),
|
|
72
87
|
exc: Joi.string()
|
|
73
|
-
.valid(...
|
|
88
|
+
.valid(...prds.exc)
|
|
74
89
|
.required(),
|
|
75
90
|
ordTyp: Joi.string()
|
|
76
91
|
.valid(...orderTypeArray)
|
|
77
92
|
.required(),
|
|
78
93
|
prdCode: Joi.string()
|
|
79
|
-
.valid(...
|
|
94
|
+
// .valid(...prdName)
|
|
80
95
|
.required(),
|
|
81
96
|
}).options({ abortEarly: false });
|
|
82
97
|
|
|
83
98
|
return cancelPlaceTradeSchema.validate(object);
|
|
84
99
|
};
|
|
85
100
|
|
|
86
|
-
validatePlaceGtcGtdTrade = (object) => {
|
|
101
|
+
validatePlaceGtcGtdTrade = (object, prds) => {
|
|
102
|
+
// let prdName = [];
|
|
103
|
+
// if (prds.exc.includes(object.exc)) {
|
|
104
|
+
// prdName = prds.prd[object.exc];
|
|
105
|
+
// }
|
|
87
106
|
const PlaceGtcGtdTradeSchema = Joi.object({
|
|
88
107
|
trdSym: Joi.string().required(),
|
|
89
108
|
exc: Joi.string()
|
|
90
|
-
.valid(...
|
|
109
|
+
.valid(...prds.exc)
|
|
91
110
|
.required(),
|
|
92
111
|
action: Joi.string()
|
|
93
112
|
.valid(...actionTypeArray)
|
|
@@ -101,7 +120,7 @@ validatePlaceGtcGtdTrade = (object) => {
|
|
|
101
120
|
qty: Joi.number().required(),
|
|
102
121
|
lmPrc: Joi.number().required(),
|
|
103
122
|
prdCode: Joi.string()
|
|
104
|
-
.valid(...
|
|
123
|
+
// .valid(...prdName)
|
|
105
124
|
.required(),
|
|
106
125
|
dtDays: Joi.string().required(),
|
|
107
126
|
sym: Joi.string().required(),
|
|
@@ -109,76 +128,15 @@ validatePlaceGtcGtdTrade = (object) => {
|
|
|
109
128
|
|
|
110
129
|
return PlaceGtcGtdTradeSchema.validate(object);
|
|
111
130
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
.valid(...exchangeTypeArray)
|
|
118
|
-
.required(),
|
|
119
|
-
action: Joi.string()
|
|
120
|
-
.valid(...actionTypeArray)
|
|
121
|
-
.required(),
|
|
122
|
-
dur: Joi.string()
|
|
123
|
-
.valid(...validityArray)
|
|
124
|
-
.required(),
|
|
125
|
-
ordTyp: Joi.string()
|
|
126
|
-
.valid(...orderTypeArray)
|
|
127
|
-
.required(),
|
|
128
|
-
qty: Joi.number().required(),
|
|
129
|
-
dscQty: Joi.string(),
|
|
130
|
-
sym: Joi.string().required(),
|
|
131
|
-
lmPrc: Joi.number().required(),
|
|
132
|
-
trgPrc: Joi.string(),
|
|
133
|
-
prdCode: Joi.string().valid(...productTypeArray),
|
|
134
|
-
}).options({ abortEarly: false });
|
|
135
|
-
|
|
136
|
-
return placeCoverTradeSchema.validate(object);
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
validateModifyCoverTrade = (object) => {
|
|
140
|
-
const modifyCovertrade = Joi.object({
|
|
141
|
-
trdSym: Joi.string().required(),
|
|
142
|
-
exc: Joi.string()
|
|
143
|
-
.valid(...exchangeTypeArray)
|
|
144
|
-
.required(),
|
|
145
|
-
action: Joi.string()
|
|
146
|
-
.valid(...actionTypeArray)
|
|
147
|
-
.required(),
|
|
148
|
-
dur: Joi.string()
|
|
149
|
-
.valid(...validityArray)
|
|
150
|
-
.required(),
|
|
151
|
-
ordTyp: Joi.string()
|
|
152
|
-
.valid(...orderTypeArray)
|
|
153
|
-
.required(),
|
|
154
|
-
qty: Joi.number().required(),
|
|
155
|
-
sym: Joi.string().required(),
|
|
156
|
-
dscQty: Joi.string(),
|
|
157
|
-
lmPrc: Joi.number().required(),
|
|
158
|
-
trgPrc: Joi.string(),
|
|
159
|
-
prdCode: Joi.string().valid(...productTypeArray),
|
|
160
|
-
nstOID: Joi.string().required(),
|
|
161
|
-
}).options({ abortEarly: false });
|
|
162
|
-
|
|
163
|
-
return modifyCovertrade.validate(object);
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
validateExitCoverTrade = (orderId) => {
|
|
167
|
-
const object = {
|
|
168
|
-
nstOID: orderId,
|
|
169
|
-
};
|
|
170
|
-
const exitCoverTradeSchema = Joi.object({
|
|
171
|
-
nstOID: Joi.string().required(),
|
|
172
|
-
}).options({ abortEarly: false });
|
|
173
|
-
|
|
174
|
-
return exitCoverTradeSchema.validate(object);
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
validatePlaceAMOTrade = (object) => {
|
|
131
|
+
validatePlaceAMOTrade = (object, prds) => {
|
|
132
|
+
// let prdName = [];
|
|
133
|
+
// if (prds.exc.includes(object.exc)) {
|
|
134
|
+
// prdName = prds.prd[object.exc];
|
|
135
|
+
// }
|
|
178
136
|
const placeAMOTradeSchema = Joi.object({
|
|
179
137
|
trdSym: Joi.string().required(),
|
|
180
138
|
exc: Joi.string()
|
|
181
|
-
.valid(...
|
|
139
|
+
.valid(...prds.exc)
|
|
182
140
|
.required(),
|
|
183
141
|
action: Joi.string()
|
|
184
142
|
.valid(...actionTypeArray)
|
|
@@ -194,17 +152,23 @@ validatePlaceAMOTrade = (object) => {
|
|
|
194
152
|
sym: Joi.string().required(),
|
|
195
153
|
lmPrc: Joi.number().required(),
|
|
196
154
|
trgPrc: Joi.string(),
|
|
197
|
-
prdCode: Joi.string()
|
|
155
|
+
prdCode: Joi.string()
|
|
156
|
+
// .valid(...prdName)
|
|
157
|
+
.required(),
|
|
198
158
|
}).options({ abortEarly: false });
|
|
199
159
|
|
|
200
160
|
return placeAMOTradeSchema.validate(object);
|
|
201
161
|
};
|
|
202
162
|
|
|
203
|
-
validateModifyAMOTrade = (object) => {
|
|
163
|
+
validateModifyAMOTrade = (object, prds) => {
|
|
164
|
+
// let prdName = [];
|
|
165
|
+
// if (prds.exc.includes(object.exc)) {
|
|
166
|
+
// prdName = prds.prd[object.exc];
|
|
167
|
+
// }
|
|
204
168
|
const modifyAMOTradeSchema = Joi.object({
|
|
205
169
|
trdSym: Joi.string().required(),
|
|
206
170
|
exc: Joi.string()
|
|
207
|
-
.valid(...
|
|
171
|
+
.valid(...prds.exc)
|
|
208
172
|
.required(),
|
|
209
173
|
action: Joi.string()
|
|
210
174
|
.valid(...actionTypeArray)
|
|
@@ -219,7 +183,9 @@ validateModifyAMOTrade = (object) => {
|
|
|
219
183
|
dscQty: Joi.string(),
|
|
220
184
|
lmPrc: Joi.number().required(),
|
|
221
185
|
trgPrc: Joi.string(),
|
|
222
|
-
prdCode: Joi.string()
|
|
186
|
+
prdCode: Joi.string()
|
|
187
|
+
// .valid(...prdName)
|
|
188
|
+
.required(),
|
|
223
189
|
nstOID: Joi.string().required(),
|
|
224
190
|
sym: Joi.string().required(),
|
|
225
191
|
}).options({ abortEarly: false });
|
|
@@ -227,40 +193,68 @@ validateModifyAMOTrade = (object) => {
|
|
|
227
193
|
return modifyAMOTradeSchema.validate(object);
|
|
228
194
|
};
|
|
229
195
|
|
|
230
|
-
validateCancelAMOTrade = (object) => {
|
|
196
|
+
validateCancelAMOTrade = (object, prds) => {
|
|
197
|
+
// let prdName = [];
|
|
198
|
+
// if (prds.exc.includes(object.exc)) {
|
|
199
|
+
// prdName = prds.prd[object.exc];
|
|
200
|
+
// }
|
|
231
201
|
const cancelAMOTradeSchema = Joi.object({
|
|
232
202
|
nstOID: Joi.string().required(),
|
|
233
203
|
exc: Joi.string()
|
|
234
|
-
.valid(...
|
|
204
|
+
.valid(...prds.exc)
|
|
235
205
|
.required(),
|
|
236
206
|
ordTyp: Joi.string()
|
|
237
207
|
.valid(...orderTypeArray)
|
|
238
208
|
.required(),
|
|
239
209
|
prdCode: Joi.string()
|
|
240
|
-
.valid(...
|
|
210
|
+
// .valid(...prdName)
|
|
241
211
|
.required(),
|
|
242
212
|
}).options({ abortEarly: false });
|
|
243
213
|
|
|
244
214
|
return cancelAMOTradeSchema.validate(object);
|
|
245
215
|
};
|
|
246
216
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
217
|
+
validateConvertPositionCOMM = (object, prds) => {
|
|
218
|
+
// let prdName = [];
|
|
219
|
+
// if (prds.exc.includes(object.exc)) {
|
|
220
|
+
// prdName = prds.prd[object.exc];
|
|
221
|
+
// }
|
|
222
|
+
const ConvertPositionCOMMSchema = Joi.object({
|
|
223
|
+
sym: Joi.string().required(),
|
|
224
|
+
cnvTyp: Joi.string().valid("D", "C").required(),
|
|
225
|
+
qty: Joi.string().required(),
|
|
226
|
+
action: Joi.string().valid("B", "S").required(),
|
|
252
227
|
prdCode: Joi.string()
|
|
253
|
-
.valid(...
|
|
228
|
+
// .valid(...prdName)
|
|
229
|
+
.required(),
|
|
230
|
+
prdCodeCh: Joi.string()
|
|
231
|
+
// .valid(...prdName)
|
|
254
232
|
.required(),
|
|
233
|
+
ordSrc: Joi.string(),
|
|
255
234
|
exc: Joi.string()
|
|
256
|
-
.valid(...
|
|
235
|
+
.valid(...prds.exc)
|
|
257
236
|
.required(),
|
|
237
|
+
trdSym: Joi.string().required(),
|
|
238
|
+
}).options({ abortEarly: false });
|
|
239
|
+
|
|
240
|
+
return ConvertPositionCOMMSchema.validate(object);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
validateConvertPositionEQ = (object, prds) => {
|
|
244
|
+
const ConvertPositionEQSchema = Joi.object({
|
|
245
|
+
nstOID: Joi.string().required(),
|
|
246
|
+
flID: Joi.string().required(),
|
|
247
|
+
prdCodeCh: Joi.string().required(),
|
|
248
|
+
prdCode: Joi.string().required(),
|
|
249
|
+
exc: Joi.string()
|
|
250
|
+
.valid(...prds.exc)
|
|
251
|
+
.required(),
|
|
258
252
|
ordTyp: Joi.string()
|
|
259
253
|
.valid(...orderTypeArray)
|
|
260
254
|
.required(),
|
|
261
255
|
}).options({ abortEarly: false });
|
|
262
256
|
|
|
263
|
-
return
|
|
257
|
+
return ConvertPositionEQSchema.validate(object);
|
|
264
258
|
};
|
|
265
259
|
|
|
266
260
|
validatePlaceMF = (object) => {
|
|
@@ -277,7 +271,7 @@ validatePlaceMF = (object) => {
|
|
|
277
271
|
{ is: "SIP", then: Joi.string().required() },
|
|
278
272
|
{ is: "XSIP", then: Joi.string().required() },
|
|
279
273
|
],
|
|
280
|
-
otherwise: Joi.string().allow(
|
|
274
|
+
otherwise: Joi.string().allow(""),
|
|
281
275
|
}),
|
|
282
276
|
schemeName: Joi.string().required(),
|
|
283
277
|
strtDt: Joi.string().required(),
|
|
@@ -305,7 +299,7 @@ validateModifyMF = (object) => {
|
|
|
305
299
|
{ is: "SIP", then: Joi.string().required() },
|
|
306
300
|
{ is: "XSIP", then: Joi.string().required() },
|
|
307
301
|
],
|
|
308
|
-
otherwise: Joi.string().allow(
|
|
302
|
+
otherwise: Joi.string().allow(""),
|
|
309
303
|
}),
|
|
310
304
|
schemeName: Joi.string().required(),
|
|
311
305
|
strtDt: Joi.string().required(),
|
|
@@ -334,7 +328,7 @@ validateCancelMF = (object) => {
|
|
|
334
328
|
{ is: "SIP", then: Joi.string().required() },
|
|
335
329
|
{ is: "XSIP", then: Joi.string().required() },
|
|
336
330
|
],
|
|
337
|
-
otherwise: Joi.string().allow(
|
|
331
|
+
otherwise: Joi.string().allow(""),
|
|
338
332
|
}),
|
|
339
333
|
schemeName: Joi.string().required(),
|
|
340
334
|
strtDt: Joi.string().required(),
|
|
@@ -349,10 +343,10 @@ validateCancelMF = (object) => {
|
|
|
349
343
|
return cancelMFSchema.validate(object);
|
|
350
344
|
};
|
|
351
345
|
|
|
352
|
-
validatePlaceBracketTrade = (object) => {
|
|
346
|
+
validatePlaceBracketTrade = (object, prds) => {
|
|
353
347
|
const PlaceBracketTradeSchema = Joi.object({
|
|
354
348
|
exc: Joi.string()
|
|
355
|
-
.valid(...
|
|
349
|
+
.valid(...prds.exc)
|
|
356
350
|
.required(),
|
|
357
351
|
sym: Joi.string().required(),
|
|
358
352
|
trnsTyp: Joi.string().required(),
|
|
@@ -379,7 +373,7 @@ validateExitBracketTrade = (object) => {
|
|
|
379
373
|
return exitBracketTradeSchema.validate(object);
|
|
380
374
|
};
|
|
381
375
|
|
|
382
|
-
validateOrderDetails = (orderId, exchange) => {
|
|
376
|
+
validateOrderDetails = (orderId, exchange, prds) => {
|
|
383
377
|
const orderDetailsObj = {
|
|
384
378
|
ordId: orderId,
|
|
385
379
|
exc: exchange,
|
|
@@ -387,7 +381,7 @@ validateOrderDetails = (orderId, exchange) => {
|
|
|
387
381
|
const orderDetailsSchema = Joi.object({
|
|
388
382
|
ordId: Joi.string().required(),
|
|
389
383
|
exc: Joi.string()
|
|
390
|
-
.valid(...
|
|
384
|
+
.valid(...prds.exc)
|
|
391
385
|
.required(),
|
|
392
386
|
}).options({ abortEarly: false });
|
|
393
387
|
|
|
@@ -407,68 +401,78 @@ validateOrderHistory = (startDate, endDate) => {
|
|
|
407
401
|
return orderHistorySchema.validate(dateData);
|
|
408
402
|
};
|
|
409
403
|
|
|
410
|
-
validatePlaceBasketTrade = (orderList) => {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
.
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
.
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
404
|
+
validatePlaceBasketTrade = (orderList, prds) => {
|
|
405
|
+
return orderList.map((item) => {
|
|
406
|
+
// let prdName = [];
|
|
407
|
+
// if (prds.exc.includes(item.exc)) {
|
|
408
|
+
// prdName = prds.prd[item.exc];
|
|
409
|
+
// }
|
|
410
|
+
let orderListSchema = Joi.array()
|
|
411
|
+
.items({
|
|
412
|
+
exc: Joi.string()
|
|
413
|
+
.valid(...prds.exc)
|
|
414
|
+
.required(),
|
|
415
|
+
trdSym: Joi.string().required(),
|
|
416
|
+
action: Joi.string()
|
|
417
|
+
.valid(...actionTypeArray)
|
|
418
|
+
.required(),
|
|
419
|
+
prdCode: Joi.string()
|
|
420
|
+
// .valid(...prdName)
|
|
421
|
+
.required(),
|
|
422
|
+
ordTyp: Joi.string()
|
|
423
|
+
.valid(...orderTypeArray)
|
|
424
|
+
.required(),
|
|
425
|
+
dur: Joi.string()
|
|
426
|
+
.valid(...validityArray)
|
|
427
|
+
.required(),
|
|
428
|
+
price: Joi.string().required(),
|
|
429
|
+
trgPrc: Joi.string().required(),
|
|
430
|
+
qty: Joi.number().required(),
|
|
431
|
+
dscQty: Joi.string().required(),
|
|
432
|
+
GTDDate: Joi.string().required(),
|
|
433
|
+
rmk: Joi.string().allow("").required(),
|
|
434
|
+
sym: Joi.string().required(),
|
|
435
|
+
})
|
|
436
|
+
.options({ abortEarly: false });
|
|
437
|
+
return orderListSchema.validate(item);
|
|
438
|
+
});
|
|
440
439
|
};
|
|
441
440
|
|
|
442
|
-
validatePositionSquareOff = (orderList) => {
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
.
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
.
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
.required(),
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
441
|
+
validatePositionSquareOff = (orderList, prds) => {
|
|
442
|
+
return orderList.map((item) => {
|
|
443
|
+
// let prdName = [];
|
|
444
|
+
// if (prds.exc.includes(item.exc)) {
|
|
445
|
+
// prdName = prds.prd[item.exc];
|
|
446
|
+
// }
|
|
447
|
+
let orderListSchema = Joi.object()
|
|
448
|
+
.keys({
|
|
449
|
+
trdSym: Joi.string().required(),
|
|
450
|
+
exc: Joi.string()
|
|
451
|
+
.valid(...prds.exc)
|
|
452
|
+
.required(),
|
|
453
|
+
action: Joi.string()
|
|
454
|
+
.valid(...actionTypeArray)
|
|
455
|
+
.required(),
|
|
456
|
+
dur: Joi.string()
|
|
457
|
+
.valid(...validityArray)
|
|
458
|
+
.required(),
|
|
459
|
+
ordTyp: Joi.string()
|
|
460
|
+
.valid(...orderTypeArray)
|
|
461
|
+
.required(),
|
|
462
|
+
qty: Joi.string().required(),
|
|
463
|
+
dscQty: Joi.string().required(),
|
|
464
|
+
sym: Joi.string().required(),
|
|
465
|
+
trgPrc: Joi.string().required(),
|
|
466
|
+
price: Joi.string().required(),
|
|
467
|
+
prdCode: Joi.string()
|
|
468
|
+
// .valid(...prdName)
|
|
469
|
+
.required(),
|
|
470
|
+
rmk: Joi.string().required(),
|
|
471
|
+
GTDDate: Joi.string().required(),
|
|
472
|
+
})
|
|
473
|
+
.options({ abortEarly: false });
|
|
474
|
+
return orderListSchema.validate(item);
|
|
475
|
+
});
|
|
472
476
|
};
|
|
473
477
|
|
|
474
478
|
validateMFOrderBook = (fromDate, toDate) => {
|
|
@@ -484,18 +488,26 @@ validateMFOrderBook = (fromDate, toDate) => {
|
|
|
484
488
|
return mfOrderBookSchema.validate(dateData);
|
|
485
489
|
};
|
|
486
490
|
|
|
491
|
+
validateGetAMOStxatus = (exchange, prds) => {
|
|
492
|
+
const amoStxatusSchema = Joi.object({
|
|
493
|
+
exchange: Joi.string()
|
|
494
|
+
.valid(...prds.exc)
|
|
495
|
+
.required(),
|
|
496
|
+
}).options({ abortEarly: false });
|
|
497
|
+
|
|
498
|
+
return amoStxatusSchema.validate({ exchange: exchange });
|
|
499
|
+
};
|
|
500
|
+
|
|
487
501
|
module.exports = {
|
|
488
502
|
validatePlaceTrade,
|
|
489
503
|
validateModifyTrade,
|
|
490
504
|
validateCancelPlaceTrade,
|
|
491
505
|
validatePlaceGtcGtdTrade,
|
|
492
|
-
validatePlaceCoverTrade,
|
|
493
|
-
validateModifyCoverTrade,
|
|
494
|
-
validateExitCoverTrade,
|
|
495
506
|
validatePlaceAMOTrade,
|
|
496
507
|
validateModifyAMOTrade,
|
|
497
508
|
validateCancelAMOTrade,
|
|
498
|
-
|
|
509
|
+
validateConvertPositionCOMM,
|
|
510
|
+
validateConvertPositionEQ,
|
|
499
511
|
validatePlaceMF,
|
|
500
512
|
validateModifyMF,
|
|
501
513
|
validateCancelMF,
|
|
@@ -505,4 +517,5 @@ module.exports = {
|
|
|
505
517
|
validateOrderHistory,
|
|
506
518
|
validatePositionSquareOff,
|
|
507
519
|
validateMFOrderBook,
|
|
520
|
+
validateGetAMOStxatus,
|
|
508
521
|
};
|