Add pagination for .all methods
I removed rsvp as a dependency as we only use Promise.all
This commit is contained in:
@@ -1,20 +1,13 @@
|
||||
const ethers = require('ethers');
|
||||
|
||||
const ContributionSerializer = require('../serializers/contribution');
|
||||
const Base = require('./base');
|
||||
const ContributionSerializer = require('../serializers/contribution');
|
||||
const paged = require('../utils/pagination');
|
||||
|
||||
class Contribution extends Base {
|
||||
all() {
|
||||
all(options = {}) {
|
||||
return this.functions.contributionsCount()
|
||||
.then(async (count) => {
|
||||
let contributions = [];
|
||||
|
||||
for (let id = 1; id <= count; id++) {
|
||||
const contribution = await this.getById(id)
|
||||
contributions.push(contribution);
|
||||
}
|
||||
|
||||
return contributions;
|
||||
.then((count) => {
|
||||
let records = paged(count, options).map((id) => this.getById(id));
|
||||
return Promise.all(records);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
const RSVP = require('rsvp');
|
||||
|
||||
const ContributorSerializer = require('../serializers/contributor');
|
||||
const Base = require('./base');
|
||||
const ContributorSerializer = require('../serializers/contributor');
|
||||
const paged = require('../utils/pagination');
|
||||
|
||||
class Contributor extends Base {
|
||||
all() {
|
||||
all(options = {}) {
|
||||
return this.functions.contributorsCount()
|
||||
.then(count => {
|
||||
let contributors = [];
|
||||
|
||||
for (let id = 1; id <= count; id++) {
|
||||
contributors.push(this.getById(id));
|
||||
}
|
||||
|
||||
return RSVP.all(contributors);
|
||||
.then((count) => {
|
||||
let records = paged(count, options).map((id) => this.getById(id));
|
||||
return Promise.all(records);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
const RSVP = require('rsvp');
|
||||
|
||||
const ContributionSerializer = require('../serializers/contribution');
|
||||
const Base = require('./base');
|
||||
const ContributionSerializer = require('../serializers/contribution');
|
||||
const paged = require('../utils/pagination');
|
||||
|
||||
class Proposal extends Base {
|
||||
all() {
|
||||
all(options = {}) {
|
||||
return this.functions.proposalsCount()
|
||||
.then(count => {
|
||||
let proposals = [];
|
||||
|
||||
for (let id = 1; id <= count; id++) {
|
||||
proposals.push(this.getById(id));
|
||||
}
|
||||
|
||||
return RSVP.all(proposals);
|
||||
.then((count) => {
|
||||
let records = paged(count, options).map((id) => this.getById(id));
|
||||
return Promise.all(records);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user