All files / src/resources delegates.ts

100% Statements 10/10
100% Branches 0/0
100% Functions 1/1
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 50 51 52 53 54 55 56 57 58 59                              11x 11x   11x   11x               106x 106x   106x             106x               106x         106x              
/*
 * Copyright © 2019 Lisk Foundation
 *
 * See the LICENSE file at the top-level directory of this distribution
 * for licensing information.
 *
 * Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation,
 * no part of this software, including this file, may be copied, modified,
 * propagated, or distributed except according to the terms contained in the
 * LICENSE file.
 *
 * Removal or modification of this copyright notice is prohibited.
 *
 */
import { APIClient } from '../api_client';
import { apiMethod } from '../api_method';
import { APIResource } from '../api_resource';
import { APIHandler } from '../api_types';
import { GET } from '../constants';
 
export class DelegatesResource extends APIResource {
	public get: APIHandler;
	public getForgers: APIHandler;
	public getForgingStatistics: APIHandler;
	public getStandby: APIHandler;
	public path: string;
 
	public constructor(apiClient: APIClient) {
		super(apiClient);
		this.path = '/delegates';
 
		this.get = apiMethod({
			defaultData: {
				sort: 'totalVotesReceived:desc',
			},
			method: GET,
		}).bind(this);
 
		this.getStandby = apiMethod({
			defaultData: {
				offset: 103,
				sort: 'totalVotesReceived:desc',
			},
			method: GET,
		}).bind(this);
 
		this.getForgers = apiMethod({
			method: GET,
			path: '/forgers',
		}).bind(this);
 
		this.getForgingStatistics = apiMethod({
			method: GET,
			path: '/{address}/forging_statistics',
			urlParams: ['address'],
		}).bind(this);
	}
}