QNE 0.1.0
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 +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +13 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +95 -0
- data/LICENSE.txt +21 -0
- data/README.md +411 -0
- data/Rakefile +12 -0
- data/lib/QNE/agent/all.rb +22 -0
- data/lib/QNE/customer/all.rb +22 -0
- data/lib/QNE/customer/create.rb +21 -0
- data/lib/QNE/customer/find.rb +18 -0
- data/lib/QNE/customer/find_by.rb +20 -0
- data/lib/QNE/customer/show.rb +18 -0
- data/lib/QNE/customer/update.rb +21 -0
- data/lib/QNE/customer_category/all.rb +22 -0
- data/lib/QNE/sales_invoice/all.rb +22 -0
- data/lib/QNE/sales_invoice/create.rb +21 -0
- data/lib/QNE/sales_invoice/download.rb +26 -0
- data/lib/QNE/sales_invoice/find_by.rb +20 -0
- data/lib/QNE/sales_invoice/show.rb +18 -0
- data/lib/QNE/sales_invoice/update.rb +21 -0
- data/lib/QNE/sales_order/all.rb +22 -0
- data/lib/QNE/sales_order/create.rb +21 -0
- data/lib/QNE/sales_order/show.rb +18 -0
- data/lib/QNE/stock/all.rb +22 -0
- data/lib/QNE/stock/find.rb +18 -0
- data/lib/QNE/stock/uoms.rb +18 -0
- data/lib/QNE/stock_location/all.rb +17 -0
- data/lib/QNE/tax_code/all.rb +22 -0
- data/lib/QNE/tax_code/input_tax_codes.rb +22 -0
- data/lib/QNE/tax_code/output_tax_codes.rb +22 -0
- data/lib/QNE/term/all.rb +22 -0
- data/lib/QNE/term/show.rb +18 -0
- data/lib/QNE/uom/all.rb +22 -0
- data/lib/QNE/user/login.rb +21 -0
- data/lib/QNE/version.rb +5 -0
- data/lib/QNE.rb +13 -0
- data/lib/agents.rb +17 -0
- data/lib/base.rb +23 -0
- data/lib/connection.rb +139 -0
- data/lib/customer_categories.rb +17 -0
- data/lib/customers.rb +71 -0
- data/lib/default_tax_code.rb +15 -0
- data/lib/query_builder.rb +65 -0
- data/lib/sales_invoices.rb +64 -0
- data/lib/sales_orders.rb +35 -0
- data/lib/stock_locations.rb +15 -0
- data/lib/stocks.rb +45 -0
- data/lib/system_version.rb +13 -0
- data/lib/tax_codes.rb +35 -0
- data/lib/terms.rb +26 -0
- data/lib/uoms.rb +17 -0
- data/lib/users.rb +19 -0
- data/sig/QNE.rbs +4 -0
- metadata +151 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Customer
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/Customers'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Customer
|
|
5
|
+
class Create
|
|
6
|
+
PATH = '/api/Customers'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, request_body:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@request_body = request_body
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.post(PATH) do |req|
|
|
15
|
+
req.headers['Content-Type'] = 'application/json'
|
|
16
|
+
req.body = @request_body.to_json
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Customer
|
|
5
|
+
class Find
|
|
6
|
+
PATH = '/api/Customers/:id'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Customer
|
|
5
|
+
class FindBy
|
|
6
|
+
PATH = '/api/Customers'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
req.params['$filter'] = @params
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Customer
|
|
5
|
+
class Show
|
|
6
|
+
PATH = '/api/Customer/:id'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Customer
|
|
5
|
+
class Update
|
|
6
|
+
PATH = '/api/Customers'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, request_body:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@request_body = request_body
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.put(PATH) do |req|
|
|
15
|
+
req.headers['Content-Type'] = 'application/json'
|
|
16
|
+
req.body = @request_body.to_json
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module CustomerCategory
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/CustomerCategories'
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesInvoice
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/SalesInvoices'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesInvoice
|
|
5
|
+
class Create
|
|
6
|
+
PATH = '/api/SalesInvoices'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, request_body:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@request_body = request_body
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.post(PATH) do |req|
|
|
15
|
+
req.headers['Content-Type'] = 'application/json'
|
|
16
|
+
req.body = @request_body.to_json
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesInvoice
|
|
5
|
+
class Download
|
|
6
|
+
DOWNLOAD_TYPES = {
|
|
7
|
+
sales_invoice: {
|
|
8
|
+
path: '/api/Reports/SalesInvoices/:id/url'
|
|
9
|
+
},
|
|
10
|
+
tax_invoice: {
|
|
11
|
+
path: '/api/Reports/Invoices/:id/url'
|
|
12
|
+
}
|
|
13
|
+
}.freeze
|
|
14
|
+
|
|
15
|
+
def initialize(conn, id:, type:)
|
|
16
|
+
@conn = conn
|
|
17
|
+
@id = id
|
|
18
|
+
@type = type.to_s.to_sym
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def call
|
|
22
|
+
@conn.get(DOWNLOAD_TYPES[@type][:path].gsub(':id', @id))
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesInvoice
|
|
5
|
+
class FindBy
|
|
6
|
+
PATH = '/api/SalesInvoices'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
req.params['$filter'] = @params
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesInvoice
|
|
5
|
+
class Show
|
|
6
|
+
PATH = '/api/SalesInvoices/:id'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesInvoice
|
|
5
|
+
class Update
|
|
6
|
+
PATH = '/api/SalesInvoices'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, request_body:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@request_body = request_body
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.put(PATH) do |req|
|
|
15
|
+
req.headers['Content-Type'] = 'application/json'
|
|
16
|
+
req.body = @request_body.to_json
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesOrder
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/SalesOrders'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesOrder
|
|
5
|
+
class Create
|
|
6
|
+
PATH = '/api/SalesOrders'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, request_body:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@request_body = request_body
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.post(PATH) do |req|
|
|
15
|
+
req.headers['Content-Type'] = 'application/json'
|
|
16
|
+
req.body = @request_body.to_json
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module SalesOrder
|
|
5
|
+
class Show
|
|
6
|
+
PATH = '/api/SalesOrders/:id'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Stock
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/Stocks'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Stock
|
|
5
|
+
class Find
|
|
6
|
+
PATH = '/api/Stocks/:id'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Stock
|
|
5
|
+
class UOMs
|
|
6
|
+
PATH = '/api/Stocks/:id/UOMS'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module TaxCode
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/TaxCodes'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module TaxCode
|
|
5
|
+
class InputTaxCodes
|
|
6
|
+
PATH = '/api/TaxCodes/InputTaxCodes'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module TaxCode
|
|
5
|
+
class OutputTaxCodes
|
|
6
|
+
PATH = '/api/TaxCodes/OutputTaxCodes'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
data/lib/QNE/term/all.rb
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Term
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/Terms'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module Term
|
|
5
|
+
class Show
|
|
6
|
+
PATH = '/api/Terms/:id'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, id:)
|
|
9
|
+
@conn = conn
|
|
10
|
+
@id = id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH.gsub(':id', @id))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
data/lib/QNE/uom/all.rb
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module UOM
|
|
5
|
+
class All
|
|
6
|
+
PATH = '/api/UOMs'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.get(PATH) do |req|
|
|
15
|
+
@params.each do |key, val|
|
|
16
|
+
req.params[key] = val
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module QNE
|
|
4
|
+
module User
|
|
5
|
+
class Login
|
|
6
|
+
PATH = '/api/Users/Login'.freeze
|
|
7
|
+
|
|
8
|
+
def initialize(conn, params: {})
|
|
9
|
+
@conn = conn
|
|
10
|
+
@params = params
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def call
|
|
14
|
+
@conn.post(PATH) do |req|
|
|
15
|
+
req.headers['Content-Type'] = 'application/json'
|
|
16
|
+
req.body = @params.to_json
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/lib/QNE/version.rb
ADDED
data/lib/QNE.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'faraday/retry'
|
|
4
|
+
require 'faraday/net_http_persistent'
|
|
5
|
+
require_relative 'QNE/version'
|
|
6
|
+
require_relative 'query_builder'
|
|
7
|
+
require_relative 'base'
|
|
8
|
+
require_relative 'connection'
|
|
9
|
+
|
|
10
|
+
module QNE
|
|
11
|
+
class Error < StandardError; end
|
|
12
|
+
class UnathorizedError < Error; end
|
|
13
|
+
end
|
data/lib/agents.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'QNE/agent/all'
|
|
4
|
+
|
|
5
|
+
module QNE
|
|
6
|
+
class Agents < Base
|
|
7
|
+
include ::QNE::QueryBuilder
|
|
8
|
+
|
|
9
|
+
def all(params = {})
|
|
10
|
+
@response = QNE::Agent::All.new(
|
|
11
|
+
conn, params: uri_query(params)
|
|
12
|
+
).call
|
|
13
|
+
|
|
14
|
+
parse_to_json(@response.body)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/base.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
module QNE
|
|
6
|
+
class Base
|
|
7
|
+
attr_reader :response, :conn
|
|
8
|
+
|
|
9
|
+
def initialize(conn)
|
|
10
|
+
@conn = conn
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def parse_to_json(respose_body)
|
|
14
|
+
JSON.parse(respose_body)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def success?
|
|
18
|
+
return false unless response
|
|
19
|
+
|
|
20
|
+
response.success?
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|