bulk-positions-init.js (44 lines of code) (raw):

const Axios = require('axios'); const Crypto = require('crypto') // Do not submit actual keys that give access to anything of value to GIT :-) const API_KEY = 'w6AcfksrG7GiEFoN' const SECRET = 'gZ0kkI9p8bHHDaBjO3Cyij87SrToYPA3' const users = [ 'BOB', 'JOHN', 'MILES', 'PAUL'] for (user of users) { setSourceCurrencyPosition(user, 1000000) setSourceAccountCurrencyPosition (user, user + '1', 500000) setSourceAccountCurrencyPosition (user, user + '2', 500000) } function setSourceCurrencyPosition (user, amount) { setPosition({ projectionPath: "Source[" + user + "]/Currency[USD]", size: +amount, relative: false, last: true }); } function setSourceAccountCurrencyPosition (user, account, amount) { setPosition({ projectionPath: "Source[" + user + "]/Account[" + account + "]/Currency[USD]", size: +amount, relative: false, last: true }); } function setPosition (request) { const requestAsText = JSON.stringify(request); const signature = Crypto.createHmac('sha384', SECRET).update(requestAsText).digest('hex'); Axios.post('http://localhost:8988/api/v1/position/adjust', requestAsText, // https:// for PROD { headers: { "Content-Type": "application/json", "X-API-KEY": API_KEY, "X-SIGNATURE": signature, } } ).then((response) => { console.log(response.data); }) .catch((error) => { console.error(error); }); }