From 0c53d3f078d2f8953ae94d1b5ed120a107b8c50f Mon Sep 17 00:00:00 2001 From: mricher2000 Date: Sun, 28 Apr 2024 16:36:52 -0400 Subject: [PATCH 1/3] deprecate payments endpoint & add endpoint versioning --- lib/open_invoice/client.rb | 4 ---- lib/open_invoice/configure.rb | 3 +++ lib/open_invoice/entities/buyer.rb | 2 +- lib/open_invoice/entities/invoice.rb | 8 ++++---- lib/open_invoice/entities/payment.rb | 9 --------- lib/open_invoice/entities/supplier.rb | 2 +- lib/open_invoice/entities/user.rb | 2 +- 7 files changed, 10 insertions(+), 20 deletions(-) delete mode 100644 lib/open_invoice/entities/payment.rb diff --git a/lib/open_invoice/client.rb b/lib/open_invoice/client.rb index ac22c87..97385cb 100644 --- a/lib/open_invoice/client.rb +++ b/lib/open_invoice/client.rb @@ -31,9 +31,5 @@ def supplier def buyer @buyer ||= ::OpenInvoice::Entities::Buyer.new(supplier_uuid) end - - def payment - @buyer ||= ::OpenInvoice::Entities::Payment.new(supplier_uuid) - end end end diff --git a/lib/open_invoice/configure.rb b/lib/open_invoice/configure.rb index f5c1e2e..d931f1e 100644 --- a/lib/open_invoice/configure.rb +++ b/lib/open_invoice/configure.rb @@ -6,6 +6,9 @@ module Configure attr_writer(*KEYS) + VERSION_1 = "v1".freeze + VERSION_2 = "v2".freeze + def configure yield self self diff --git a/lib/open_invoice/entities/buyer.rb b/lib/open_invoice/entities/buyer.rb index b723dc6..fa24301 100644 --- a/lib/open_invoice/entities/buyer.rb +++ b/lib/open_invoice/entities/buyer.rb @@ -2,7 +2,7 @@ module OpenInvoice module Entities class Buyer < Base def index(opts = {}) - request(:get, "/supplier/#{supplier_uuid}/buyers", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_2}/supplier/#{supplier_uuid}/buyers", opts) end end end diff --git a/lib/open_invoice/entities/invoice.rb b/lib/open_invoice/entities/invoice.rb index 7e98ef3..08c95b8 100644 --- a/lib/open_invoice/entities/invoice.rb +++ b/lib/open_invoice/entities/invoice.rb @@ -4,15 +4,15 @@ module OpenInvoice module Entities class Invoice < Base def index(opts = {}) - request(:get, "/supplier/#{supplier_uuid}/invoices/page", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{supplier_uuid}/invoices/page", opts) end def attachments(invoice_id, opts = {}) - request(:get, "/supplier/#{supplier_uuid}/invoices/#{invoice_id}/attachments", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{supplier_uuid}/invoices/#{invoice_id}/attachments", opts) end def download_attachment(invoice_id, attachment_id, file_path, opts) - attachment_url = "/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/attachments/#{attachment_id}" + attachment_url = "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/attachments/#{attachment_id}" dirname = File.dirname(file_path) opts[:stream_body] = true FileUtils.mkdir_p(dirname) unless File.directory?(dirname) @@ -39,7 +39,7 @@ def download_attachment(invoice_id, attachment_id, file_path, opts) end def history(invoice_id, opts = {}) - request(:get, "/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/history", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/history", opts) end end end diff --git a/lib/open_invoice/entities/payment.rb b/lib/open_invoice/entities/payment.rb deleted file mode 100644 index b3987ca..0000000 --- a/lib/open_invoice/entities/payment.rb +++ /dev/null @@ -1,9 +0,0 @@ -module OpenInvoice - module Entities - class Payment < Base - def index(opts = {}) - request(:get, "/supplier/#{supplier_uuid}/payment", opts) - end - end - end -end diff --git a/lib/open_invoice/entities/supplier.rb b/lib/open_invoice/entities/supplier.rb index b3e2d94..d2e6148 100644 --- a/lib/open_invoice/entities/supplier.rb +++ b/lib/open_invoice/entities/supplier.rb @@ -2,7 +2,7 @@ module OpenInvoice module Entities class Supplier < Base def index(opts = {}) - request(:get, "/supplier/#{supplier_uuid}", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_2}/supplier/#{supplier_uuid}", opts) end end end diff --git a/lib/open_invoice/entities/user.rb b/lib/open_invoice/entities/user.rb index c8ec9b2..146175b 100644 --- a/lib/open_invoice/entities/user.rb +++ b/lib/open_invoice/entities/user.rb @@ -8,7 +8,7 @@ def initialize(user_uuid) end def get - request(:get, "/users/#{user_uuid}") + request(:get, "/#{OpenInvoice::Configure::VERSION_1}/users/#{user_uuid}") end end end From 710c394d8d9f2301c4a3e322106cb98c3a75eebb Mon Sep 17 00:00:00 2001 From: mricher2000 Date: Fri, 3 May 2024 12:34:25 -0400 Subject: [PATCH 2/3] add docs to readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 172f186..6e76857 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ Welcome to your new gem! In this directory, you'll find the files you need to be TODO: Delete this and the text above, and describe your gem +## Enverus API Documentation + +The endpoints that are used in this gem are not publicly documented as Enverus has built +a API specific for FundThrough. + +[Documentation for V1 and V2](https://docs.google.com/document/d/1hclQzZH_VeItW4xC8e68RhdD70dWn6l7/edit?usp=sharing&ouid=104023789344514089935&rtpof=true&sd=true) + ## Installation Add this line to your application's Gemfile: From 1837f7e8cdc54cd55ed834d6f4652369bb7f35e9 Mon Sep 17 00:00:00 2001 From: mricher2000 Date: Fri, 31 May 2024 15:28:06 -0400 Subject: [PATCH 3/3] move all endpoints to v2 --- lib/open_invoice/configure.rb | 1 - lib/open_invoice/entities/invoice.rb | 8 ++++---- lib/open_invoice/entities/user.rb | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/open_invoice/configure.rb b/lib/open_invoice/configure.rb index d931f1e..ac1caa5 100644 --- a/lib/open_invoice/configure.rb +++ b/lib/open_invoice/configure.rb @@ -6,7 +6,6 @@ module Configure attr_writer(*KEYS) - VERSION_1 = "v1".freeze VERSION_2 = "v2".freeze def configure diff --git a/lib/open_invoice/entities/invoice.rb b/lib/open_invoice/entities/invoice.rb index 08c95b8..77777bd 100644 --- a/lib/open_invoice/entities/invoice.rb +++ b/lib/open_invoice/entities/invoice.rb @@ -4,15 +4,15 @@ module OpenInvoice module Entities class Invoice < Base def index(opts = {}) - request(:get, "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{supplier_uuid}/invoices/page", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_2}/supplier/#{supplier_uuid}/invoices/page", opts) end def attachments(invoice_id, opts = {}) - request(:get, "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{supplier_uuid}/invoices/#{invoice_id}/attachments", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_2}/supplier/#{supplier_uuid}/invoices/#{invoice_id}/attachments", opts) end def download_attachment(invoice_id, attachment_id, file_path, opts) - attachment_url = "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/attachments/#{attachment_id}" + attachment_url = "/#{OpenInvoice::Configure::VERSION_2}/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/attachments/#{attachment_id}" dirname = File.dirname(file_path) opts[:stream_body] = true FileUtils.mkdir_p(dirname) unless File.directory?(dirname) @@ -39,7 +39,7 @@ def download_attachment(invoice_id, attachment_id, file_path, opts) end def history(invoice_id, opts = {}) - request(:get, "/#{OpenInvoice::Configure::VERSION_1}/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/history", opts) + request(:get, "/#{OpenInvoice::Configure::VERSION_2}/supplier/#{@supplier_uuid}/invoices/#{invoice_id}/history", opts) end end end diff --git a/lib/open_invoice/entities/user.rb b/lib/open_invoice/entities/user.rb index 146175b..030b6f7 100644 --- a/lib/open_invoice/entities/user.rb +++ b/lib/open_invoice/entities/user.rb @@ -8,7 +8,7 @@ def initialize(user_uuid) end def get - request(:get, "/#{OpenInvoice::Configure::VERSION_1}/users/#{user_uuid}") + request(:get, "/#{OpenInvoice::Configure::VERSION_2}/users/#{user_uuid}") end end end