-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresolvers.js
59 lines (56 loc) · 1.55 KB
/
resolvers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const { product, order } = require('./services');
const orderResolvers = {
Query: {
getOrderById: (root, { id }, context) => {
return order.search.byId(id);
},
getOrderByOrderTSId: (root, { order_ts_id }, context) => {
return order.search.byTSOrderIs(order_ts_id);
},
},
Mutation: {
createOrder: (root, { input }, context) => {
return order.create(input)
.then(response => response);
},
},
Order: {
id: order => order.id,
sourceId: order => order.sourceId,
exchange: order => order.exchange,
price: order => order.price,
instrument: order => order.instrument,
quantity: order => order.quantity,
executingBroker: order => order.executingBroker,
orderSide: order => order.orderSide,
orderType: order => order.orderType,
assetClass: order => order.assetClass,
orderState: order => order.orderState,
}
};
const productResolvers = {
Query: {
getProductByIsin: (root, { isin }, context) => {
return product.search.byIsin(isin)
.then(products => {
return products.map((product) => {
return {
tsMarketId: product.tsMarketId,
isin: product.isin,
};
});
});
},
getProductByRIC: (root, { ric }, context) => {
return product.search.byRic(ric);
},
},
Product: {
isin: product => product.isin,
tsMarketId: product => product.tsMarketId,
}
};
module.exports = {
productResolvers,
orderResolvers,
}