forked from BitGo/BitGoJS
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpendingapprovals.ts
More file actions
69 lines (60 loc) · 1.72 KB
/
Copy pathpendingapprovals.ts
File metadata and controls
69 lines (60 loc) · 1.72 KB
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
60
61
62
63
64
65
66
67
68
69
//
// Pending approvals listing object
// Lists pending approvals and get pending approval objects
//
// Copyright 2015, BitGo, Inc. All Rights Reserved.
//
import common = require('./common');
const PendingApproval = require('./pendingapproval');
import * as _ from 'lodash';
//
// Constructor
//
const PendingApprovals = function(bitgo) {
this.bitgo = bitgo;
};
//
// list
// List the pending approvals available to the user
//
PendingApprovals.prototype.list = function(params, callback) {
params = params || {};
common.validateParams(params, [], ['walletId', 'enterpriseId'], callback);
const queryParams: any = {};
if (_.isString(params.walletId)) {
queryParams.walletId = params.walletId;
}
if (_.isString(params.enterpriseId)) {
queryParams.enterprise = params.enterpriseId;
}
if (Object.keys(queryParams).length !== 1) {
throw new Error('must provide exactly 1 of walletId or enterpriseId to get pending approvals on');
}
const self = this;
return this.bitgo.get(this.bitgo.url('/pendingapprovals'))
.query(queryParams)
.result()
.then(function(body) {
body.pendingApprovals = body.pendingApprovals.map(function(p) { return new PendingApproval(self.bitgo, p); });
return body;
})
.nodeify(callback);
};
//
// get
// Fetch an existing pending approval
// Parameters include:
// id: the pending approval id
//
PendingApprovals.prototype.get = function(params, callback) {
params = params || {};
common.validateParams(params, ['id'], [], callback);
const self = this;
return this.bitgo.get(this.bitgo.url('/pendingapprovals/' + params.id))
.result()
.then(function(body) {
return new PendingApproval(self.bitgo, body);
})
.nodeify(callback);
};
export = PendingApprovals;