summaryrefslogtreecommitdiff
path: root/client/js/models/pool_list.js
blob: a8839bb6b567f7fb0e48e5e6ac8d49693bc39af9 (plain)
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
"use strict";

const api = require("../api.js");
const uri = require("../util/uri.js");
const AbstractList = require("./abstract_list.js");
const Pool = require("./pool.js");

class PoolList extends AbstractList {
    static search(text, offset, limit, fields) {
        return api
            .get(
                uri.formatApiLink("pools", {
                    query: text,
                    offset: offset,
                    limit: limit,
                    fields: fields.join(","),
                })
            )
            .then((response) => {
                return Promise.resolve(
                    Object.assign({}, response, {
                        results: PoolList.fromResponse(response.results),
                    })
                );
            });
    }

    hasPoolId(poolId) {
        for (let pool of this._list) {
            if (pool.id === poolId) {
                return true;
            }
        }
        return false;
    }

    removeById(poolId) {
        for (let pool of this._list) {
            if (pool.id === poolId) {
                this.remove(pool);
            }
        }
    }
}

PoolList._itemClass = Pool;
PoolList._itemName = "pool";

module.exports = PoolList;