Process contributor data

Add util function for processing contributor data, and remove bignums,
etc.
This commit is contained in:
2020-05-27 16:27:08 +02:00
parent f996c89dfe
commit 871731110b
6 changed files with 124 additions and 12 deletions
+4 -7
View File
@@ -1,14 +1,12 @@
import EmberObject from '@ember/object';
import bignumber from 'kredits-web/utils/cps/bignumber';
import kreditsValue from 'kredits-web/utils/cps/kredits';
export default EmberObject.extend({
// Contract
id: bignumber('idRaw', 'toString'),
id: null,
account: null,
balance: kreditsValue('balanceRaw'),
totalKreditsEarned: bignumber('totalKreditsEarnedRaw', 'toNumber'),
contributionsCount: bignumber('contributionsCountRaw', 'toNumber'),
balance: 0,
totalKreditsEarned: 0,
contributionsCount: 0,
isCore: false,
ipfsHash: null,
@@ -20,6 +18,5 @@ export default EmberObject.extend({
github_uid: null,
wiki_username: null,
zoom_display_name: null,
ipfsData: ''
});
+3 -2
View File
@@ -9,6 +9,7 @@ import { alias, notEmpty } from '@ember/object/computed';
import { isEmpty, isPresent } from '@ember/utils';
import groupBy from 'kredits-web/utils/group-by';
import processContributorData from 'kredits-web/utils/process-contributor-data';
import formatKredits from 'kredits-web/utils/format-kredits';
import config from 'kredits-web/config/environment';
@@ -208,8 +209,8 @@ export default Service.extend({
getContributors () {
return this.kredits.Contributor.all()
.then(contributors => {
return contributors.map(contributor => {
return Contributor.create(contributor);
return contributors.map(data => {
return Contributor.create(processContributorData(data));
});
});
},
+19
View File
@@ -0,0 +1,19 @@
export default function processContributorData(data) {
const processed = {
id: data.id.toString(),
balance: data.balanceInt,
totalKreditsEarned: data.totalKreditsEarned,
contributionsCount: data.contributionsCount.toNumber()
}
const otherProperties = [
'account', 'accounts', 'ipfsHash', 'isCore', 'kind', 'name', 'url',
'github_username', 'github_uid', 'wiki_username', 'zoom_display_name'
];
otherProperties.forEach(prop => {
processed[prop] = data[prop];
});
return processed;
}