Format balancesheet schema

This commit is contained in:
wltsmrz
2015-10-05 13:09:04 -07:00
parent 607777f2a3
commit ff2ac6c3cd
3 changed files with 46 additions and 72 deletions

View File

@@ -8,22 +8,12 @@
"type": "array", "type": "array",
"items": { "items": {
"type": "object", "type": "object",
"required": ["counterparty", "balances"], "required": ["counterparty", "currency", "value"],
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"counterparty": {"$ref": "address"}, "counterparty": {"$ref": "address"},
"balances": { "currency": {"$ref": "currency"},
"type": "array", "value": {"$ref": "value"}
"items": {
"type": "object",
"required": ["currency", "value"],
"additionalProperties": false,
"properties": {
"currency": {"$ref": "currency"},
"value": {"$ref": "value"}
}
}
}
} }
} }
}, },
@@ -31,22 +21,12 @@
"type": "array", "type": "array",
"items": { "items": {
"type": "object", "type": "object",
"required": ["counterparty", "assets"], "required": ["counterparty", "currency", "value"],
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"counterparty": {"$ref": "address"}, "counterparty": {"$ref": "address"},
"assets": { "currency": {"$ref": "currency"},
"type": "array", "value": {"$ref": "value"}
"items": {
"type": "object",
"required": ["currency", "value"],
"additionalProperties": false,
"properties": {
"currency": {"$ref": "currency"},
"value": {"$ref": "value"}
}
}
}
} }
} }
}, },

View File

@@ -10,12 +10,20 @@ function formatBalanceSheet(balanceSheet) {
const result = {}; const result = {};
if (!_.isUndefined(balanceSheet.balances)) { if (!_.isUndefined(balanceSheet.balances)) {
result.balances = _.map(balanceSheet.balances, (balances, counterparty) => result.balances = [];
({counterparty, balances})); _.forEach(balanceSheet.balances, (balances, counterparty) => {
_.forEach(balances, (balance) => {
result.balances.push(Object.assign({counterparty}, balance));
});
});
} }
if (!_.isUndefined(balanceSheet.assets)) { if (!_.isUndefined(balanceSheet.assets)) {
result.assets = _.map(balanceSheet.assets, (assets, counterparty) => result.assets = [];
({counterparty, assets})); _.forEach(balanceSheet.assets, (assets, counterparty) => {
_.forEach(assets, (balance) => {
result.assets.push(Object.assign({counterparty}, balance));
});
});
} }
if (!_.isUndefined(balanceSheet.obligations)) { if (!_.isUndefined(balanceSheet.obligations)) {
result.obligations = _.map(balanceSheet.obligations, (value, currency) => result.obligations = _.map(balanceSheet.obligations, (value, currency) =>

View File

@@ -1,51 +1,37 @@
{ {
"balances": [ "balances": [
{ {
"counterparty": "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ", "counterparty": "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ",
"balances": [ "currency": "EUR",
{ "value": "29826.1965999999"
"currency": "EUR", },
"value": "29826.1965999999" {
}, "counterparty": "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ",
{ "currency": "USD",
"currency": "USD", "value": "10.0"
"value": "10.0" },
} {
] "counterparty": "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt",
}, "currency": "USD",
{ "value": "13857.70416"
"counterparty": "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt", }
"balances": [
{
"currency": "USD",
"value": "13857.70416"
}
]
}
], ],
"assets": [ "assets": [
{ {
"counterparty": "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH", "counterparty": "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH",
"assets": [ "currency": "BTC",
{ "value": "5444166510000000e-26"
"currency": "BTC", },
"value": "5444166510000000e-26" {
}, "counterparty": "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH",
{ "currency": "USD",
"currency": "USD", "value": "100.0"
"value": "100.0" },
} {
] "counterparty": "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6",
}, "currency": "BTC",
{ "value": "8700000000000000e-30"
"counterparty": "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6", }
"assets": [
{
"currency": "BTC",
"value": "8700000000000000e-30"
}
]
}
], ],
"obligations": [ "obligations": [
{ {