billfixers-partner 1.1.5 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/billfixers/partner/client.rb +17 -5
- data/lib/billfixers/partner/gql.rb +24 -10
- data/lib/billfixers/partner/version.rb +1 -1
- data/partner_schema.json +166 -35
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5d6ff6a126177cb75dee8df02d1c0a3c9f97d0e6f86bb716f6baf406b0fc811
|
4
|
+
data.tar.gz: 4bfa0b1d80a879c8b7bdc72f63260254ab20148a7dc92d4bf78384b78cb8e06a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6435d70558a67fccf6512c7801aa95800a530488067f3f39082dae20d5d27f6b9527c8318fb03341b1a48cd509e2f8757bcdbe563ecd5dc4f1b3b5756750198
|
7
|
+
data.tar.gz: 65fadf82b078607800af37cce8b7805e804e6d994b9c03ea977c8774633c0cbecc1b3f2795b36554f2ccc1c9b30cc6f6e5bb9aa59d3220de03bef87b0ad9b42b
|
@@ -6,14 +6,13 @@ require 'graphlient'
|
|
6
6
|
module Billfixers
|
7
7
|
module Partner
|
8
8
|
class Client
|
9
|
-
def initialize(
|
10
|
-
endpoint = test_mode ? 'https://billfixers-
|
9
|
+
def initialize(api_key:, test_mode: false)
|
10
|
+
endpoint = test_mode ? 'https://billfixers-partner-sandbox.herokuapp.com/partner/graphql' : 'https://billfixers.herokuapp.com/partner/graphql'
|
11
11
|
|
12
12
|
@gql = Graphlient::Client.new(endpoint,
|
13
13
|
schema_path: File.join(File.dirname(__FILE__), '../../../partner_schema.json'),
|
14
14
|
headers: {
|
15
|
-
"X-
|
16
|
-
"X-PartnerUser-Token": token
|
15
|
+
"X-Partner-ApiKey": api_key
|
17
16
|
})
|
18
17
|
end
|
19
18
|
|
@@ -103,9 +102,10 @@ module Billfixers
|
|
103
102
|
result.customer
|
104
103
|
end
|
105
104
|
|
106
|
-
def create_bill(customer_id, params)
|
105
|
+
def create_bill(customer_id, provider_id, params)
|
107
106
|
response = @gql.query(CREATE_BILL_MUTATION, {
|
108
107
|
customer_id: customer_id,
|
108
|
+
provider_id: provider_id,
|
109
109
|
bill: camelize(params)
|
110
110
|
})
|
111
111
|
|
@@ -115,6 +115,18 @@ module Billfixers
|
|
115
115
|
result.bill
|
116
116
|
end
|
117
117
|
|
118
|
+
def update_bill(bill_id, params)
|
119
|
+
response = @gql.query(UPDATE_BILL_MUTATION, {
|
120
|
+
bill_id: bill_id,
|
121
|
+
bill: camelize(params)
|
122
|
+
})
|
123
|
+
|
124
|
+
result = response.data.update_bill
|
125
|
+
raise Error, result.errors.join(' ') unless result.success
|
126
|
+
|
127
|
+
result.bill
|
128
|
+
end
|
129
|
+
|
118
130
|
def renegotiate_bill(bill_id)
|
119
131
|
response = @gql.query(RENEGOTIATE_BILL_MUTATION, { id: bill_id })
|
120
132
|
|
@@ -48,6 +48,8 @@ module Billfixers
|
|
48
48
|
totalSavings
|
49
49
|
createdAt
|
50
50
|
updatedAt
|
51
|
+
autoRenegotiate
|
52
|
+
allowsContract
|
51
53
|
|
52
54
|
items {
|
53
55
|
#{BILL_ITEM_FRAGMENT}
|
@@ -209,8 +211,20 @@ module Billfixers
|
|
209
211
|
)
|
210
212
|
|
211
213
|
CREATE_BILL_MUTATION = %(
|
212
|
-
mutation($customer_id: ID!, $bill: BillAttributes!) {
|
213
|
-
CreateBill(input: { customerId: $customer_id, bill: $bill }) {
|
214
|
+
mutation($customer_id: ID!, $provider_id: ID!, $bill: BillAttributes!) {
|
215
|
+
CreateBill(input: { customerId: $customer_id, providerId: $provider_id, bill: $bill }) {
|
216
|
+
success
|
217
|
+
errors
|
218
|
+
bill {
|
219
|
+
#{BILL_FRAGMENT}
|
220
|
+
}
|
221
|
+
}
|
222
|
+
}
|
223
|
+
)
|
224
|
+
|
225
|
+
UPDATE_BILL_MUTATION = %(
|
226
|
+
mutation($bill_id: ID!, $bill: BillAttributes!) {
|
227
|
+
UpdateBill(input: { billId: $bill_id, bill: $bill }) {
|
214
228
|
success
|
215
229
|
errors
|
216
230
|
bill {
|
@@ -285,21 +299,21 @@ module Billfixers
|
|
285
299
|
|
286
300
|
CALCULATE_SAVINGS_ESTIMATE = %(
|
287
301
|
query(
|
288
|
-
$
|
289
|
-
$
|
302
|
+
$provider_id: ID!
|
303
|
+
$current_monthly_amount: Float!
|
290
304
|
) {
|
291
305
|
CalculateSavingsEstimate {
|
292
306
|
estimatedAnnualSavings(
|
293
|
-
providerId: $
|
294
|
-
currentMonthlyAmount: $
|
307
|
+
providerId: $provider_id
|
308
|
+
currentMonthlyAmount: $current_monthly_amount
|
295
309
|
)
|
296
310
|
estimatedMonthlySavings(
|
297
|
-
providerId: $
|
298
|
-
currentMonthlyAmount: $
|
311
|
+
providerId: $provider_id
|
312
|
+
currentMonthlyAmount: $current_monthly_amount
|
299
313
|
)
|
300
314
|
percentageSavings(
|
301
|
-
providerId: $
|
302
|
-
currentMonthlyAmount: $
|
315
|
+
providerId: $provider_id
|
316
|
+
currentMonthlyAmount: $current_monthly_amount
|
303
317
|
)
|
304
318
|
}
|
305
319
|
}
|
data/partner_schema.json
CHANGED
@@ -388,20 +388,6 @@
|
|
388
388
|
"description": "Attributes for creating or updating a bill",
|
389
389
|
"fields": null,
|
390
390
|
"inputFields": [
|
391
|
-
{
|
392
|
-
"name": "providerId",
|
393
|
-
"description": "The ID of the Provider",
|
394
|
-
"type": {
|
395
|
-
"kind": "NON_NULL",
|
396
|
-
"name": null,
|
397
|
-
"ofType": {
|
398
|
-
"kind": "SCALAR",
|
399
|
-
"name": "ID",
|
400
|
-
"ofType": null
|
401
|
-
}
|
402
|
-
},
|
403
|
-
"defaultValue": null
|
404
|
-
},
|
405
391
|
{
|
406
392
|
"name": "last4ssn",
|
407
393
|
"description": "The last 4 digits of the customer's social security number",
|
@@ -459,16 +445,6 @@
|
|
459
445
|
}
|
460
446
|
},
|
461
447
|
"defaultValue": null
|
462
|
-
},
|
463
|
-
{
|
464
|
-
"name": "createdVia",
|
465
|
-
"description": null,
|
466
|
-
"type": {
|
467
|
-
"kind": "SCALAR",
|
468
|
-
"name": "String",
|
469
|
-
"ofType": null
|
470
|
-
},
|
471
|
-
"defaultValue": null
|
472
448
|
}
|
473
449
|
],
|
474
450
|
"interfaces": null,
|
@@ -639,7 +615,21 @@
|
|
639
615
|
"inputFields": [
|
640
616
|
{
|
641
617
|
"name": "customerId",
|
642
|
-
"description":
|
618
|
+
"description": "The ID of the customer",
|
619
|
+
"type": {
|
620
|
+
"kind": "NON_NULL",
|
621
|
+
"name": null,
|
622
|
+
"ofType": {
|
623
|
+
"kind": "SCALAR",
|
624
|
+
"name": "ID",
|
625
|
+
"ofType": null
|
626
|
+
}
|
627
|
+
},
|
628
|
+
"defaultValue": null
|
629
|
+
},
|
630
|
+
{
|
631
|
+
"name": "providerId",
|
632
|
+
"description": "The ID of the provider",
|
643
633
|
"type": {
|
644
634
|
"kind": "NON_NULL",
|
645
635
|
"name": null,
|
@@ -1107,16 +1097,6 @@
|
|
1107
1097
|
},
|
1108
1098
|
"defaultValue": null
|
1109
1099
|
},
|
1110
|
-
{
|
1111
|
-
"name": "externalId",
|
1112
|
-
"description": null,
|
1113
|
-
"type": {
|
1114
|
-
"kind": "SCALAR",
|
1115
|
-
"name": "String",
|
1116
|
-
"ofType": null
|
1117
|
-
},
|
1118
|
-
"defaultValue": null
|
1119
|
-
},
|
1120
1100
|
{
|
1121
1101
|
"name": "firstName",
|
1122
1102
|
"description": null,
|
@@ -2467,6 +2447,33 @@
|
|
2467
2447
|
"isDeprecated": false,
|
2468
2448
|
"deprecationReason": null
|
2469
2449
|
},
|
2450
|
+
{
|
2451
|
+
"name": "UpdateBill",
|
2452
|
+
"description": null,
|
2453
|
+
"args": [
|
2454
|
+
{
|
2455
|
+
"name": "input",
|
2456
|
+
"description": "Parameters for UpdateBill",
|
2457
|
+
"type": {
|
2458
|
+
"kind": "NON_NULL",
|
2459
|
+
"name": null,
|
2460
|
+
"ofType": {
|
2461
|
+
"kind": "INPUT_OBJECT",
|
2462
|
+
"name": "UpdateBillInput",
|
2463
|
+
"ofType": null
|
2464
|
+
}
|
2465
|
+
},
|
2466
|
+
"defaultValue": null
|
2467
|
+
}
|
2468
|
+
],
|
2469
|
+
"type": {
|
2470
|
+
"kind": "OBJECT",
|
2471
|
+
"name": "UpdateBillPayload",
|
2472
|
+
"ofType": null
|
2473
|
+
},
|
2474
|
+
"isDeprecated": false,
|
2475
|
+
"deprecationReason": null
|
2476
|
+
},
|
2470
2477
|
{
|
2471
2478
|
"name": "UpdateCustomer",
|
2472
2479
|
"description": null,
|
@@ -4770,6 +4777,130 @@
|
|
4770
4777
|
"enumValues": null,
|
4771
4778
|
"possibleTypes": null
|
4772
4779
|
},
|
4780
|
+
{
|
4781
|
+
"kind": "INPUT_OBJECT",
|
4782
|
+
"name": "UpdateBillInput",
|
4783
|
+
"description": "Autogenerated input type of UpdateBill",
|
4784
|
+
"fields": null,
|
4785
|
+
"inputFields": [
|
4786
|
+
{
|
4787
|
+
"name": "billId",
|
4788
|
+
"description": null,
|
4789
|
+
"type": {
|
4790
|
+
"kind": "NON_NULL",
|
4791
|
+
"name": null,
|
4792
|
+
"ofType": {
|
4793
|
+
"kind": "SCALAR",
|
4794
|
+
"name": "ID",
|
4795
|
+
"ofType": null
|
4796
|
+
}
|
4797
|
+
},
|
4798
|
+
"defaultValue": null
|
4799
|
+
},
|
4800
|
+
{
|
4801
|
+
"name": "bill",
|
4802
|
+
"description": null,
|
4803
|
+
"type": {
|
4804
|
+
"kind": "NON_NULL",
|
4805
|
+
"name": null,
|
4806
|
+
"ofType": {
|
4807
|
+
"kind": "INPUT_OBJECT",
|
4808
|
+
"name": "BillAttributes",
|
4809
|
+
"ofType": null
|
4810
|
+
}
|
4811
|
+
},
|
4812
|
+
"defaultValue": null
|
4813
|
+
},
|
4814
|
+
{
|
4815
|
+
"name": "clientMutationId",
|
4816
|
+
"description": "A unique identifier for the client performing the mutation.",
|
4817
|
+
"type": {
|
4818
|
+
"kind": "SCALAR",
|
4819
|
+
"name": "String",
|
4820
|
+
"ofType": null
|
4821
|
+
},
|
4822
|
+
"defaultValue": null
|
4823
|
+
}
|
4824
|
+
],
|
4825
|
+
"interfaces": null,
|
4826
|
+
"enumValues": null,
|
4827
|
+
"possibleTypes": null
|
4828
|
+
},
|
4829
|
+
{
|
4830
|
+
"kind": "OBJECT",
|
4831
|
+
"name": "UpdateBillPayload",
|
4832
|
+
"description": "Autogenerated return type of UpdateBill",
|
4833
|
+
"fields": [
|
4834
|
+
{
|
4835
|
+
"name": "bill",
|
4836
|
+
"description": null,
|
4837
|
+
"args": [],
|
4838
|
+
"type": {
|
4839
|
+
"kind": "OBJECT",
|
4840
|
+
"name": "Bill",
|
4841
|
+
"ofType": null
|
4842
|
+
},
|
4843
|
+
"isDeprecated": false,
|
4844
|
+
"deprecationReason": null
|
4845
|
+
},
|
4846
|
+
{
|
4847
|
+
"name": "clientMutationId",
|
4848
|
+
"description": "A unique identifier for the client performing the mutation.",
|
4849
|
+
"args": [],
|
4850
|
+
"type": {
|
4851
|
+
"kind": "SCALAR",
|
4852
|
+
"name": "String",
|
4853
|
+
"ofType": null
|
4854
|
+
},
|
4855
|
+
"isDeprecated": false,
|
4856
|
+
"deprecationReason": null
|
4857
|
+
},
|
4858
|
+
{
|
4859
|
+
"name": "errors",
|
4860
|
+
"description": null,
|
4861
|
+
"args": [],
|
4862
|
+
"type": {
|
4863
|
+
"kind": "NON_NULL",
|
4864
|
+
"name": null,
|
4865
|
+
"ofType": {
|
4866
|
+
"kind": "LIST",
|
4867
|
+
"name": null,
|
4868
|
+
"ofType": {
|
4869
|
+
"kind": "NON_NULL",
|
4870
|
+
"name": null,
|
4871
|
+
"ofType": {
|
4872
|
+
"kind": "SCALAR",
|
4873
|
+
"name": "String",
|
4874
|
+
"ofType": null
|
4875
|
+
}
|
4876
|
+
}
|
4877
|
+
}
|
4878
|
+
},
|
4879
|
+
"isDeprecated": false,
|
4880
|
+
"deprecationReason": null
|
4881
|
+
},
|
4882
|
+
{
|
4883
|
+
"name": "success",
|
4884
|
+
"description": null,
|
4885
|
+
"args": [],
|
4886
|
+
"type": {
|
4887
|
+
"kind": "NON_NULL",
|
4888
|
+
"name": null,
|
4889
|
+
"ofType": {
|
4890
|
+
"kind": "SCALAR",
|
4891
|
+
"name": "Boolean",
|
4892
|
+
"ofType": null
|
4893
|
+
}
|
4894
|
+
},
|
4895
|
+
"isDeprecated": false,
|
4896
|
+
"deprecationReason": null
|
4897
|
+
}
|
4898
|
+
],
|
4899
|
+
"inputFields": null,
|
4900
|
+
"interfaces": [],
|
4901
|
+
"enumValues": null,
|
4902
|
+
"possibleTypes": null
|
4903
|
+
},
|
4773
4904
|
{
|
4774
4905
|
"kind": "INPUT_OBJECT",
|
4775
4906
|
"name": "UpdateCustomerInput",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: billfixers-partner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BillFixers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|