dear_inventory 0.7.5 → 1.0.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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +15 -0
  3. data/README.md +70 -18
  4. data/dear_inventory.gemspec +1 -1
  5. data/docs/resources/advanced_purchase.md +25 -0
  6. data/docs/resources/customer.md +31 -0
  7. data/docs/resources/product.md +37 -0
  8. data/docs/resources/purchase.md +89 -0
  9. data/docs/resources/sale.md +89 -0
  10. data/lib/dear_inventory.rb +20 -8
  11. data/lib/dear_inventory/config.rb +17 -6
  12. data/lib/dear_inventory/errors/api_limit.rb +6 -0
  13. data/lib/dear_inventory/errors/no_more_pages.rb +6 -0
  14. data/lib/dear_inventory/lib/endpoint_class.rb +1 -1
  15. data/lib/dear_inventory/lib/request.rb +45 -8
  16. data/lib/dear_inventory/lib/strings/urlize.rb +18 -0
  17. data/lib/dear_inventory/model.rb +22 -9
  18. data/lib/dear_inventory/models/advanced_purchase.rb +176 -0
  19. data/lib/dear_inventory/models/customer.rb +1 -1
  20. data/lib/dear_inventory/models/customers.rb +1 -1
  21. data/lib/dear_inventory/models/products.rb +1 -1
  22. data/lib/dear_inventory/models/{purchase_list.rb → purchases.rb} +12 -2
  23. data/lib/dear_inventory/models/purchases/additional_charge.rb +1 -1
  24. data/lib/dear_inventory/models/purchases/advanced/credit_note.rb +21 -0
  25. data/lib/dear_inventory/models/purchases/advanced/invoice.rb +68 -0
  26. data/lib/dear_inventory/models/purchases/advanced/manual_journal.rb +21 -0
  27. data/lib/dear_inventory/models/purchases/advanced/put_away.rb +34 -0
  28. data/lib/dear_inventory/models/purchases/advanced/put_away_line.rb +21 -0
  29. data/lib/dear_inventory/models/purchases/advanced/stock.rb +30 -0
  30. data/lib/dear_inventory/models/purchases/advanced/stock_line.rb +61 -0
  31. data/lib/dear_inventory/models/purchases/credit_note.rb +1 -1
  32. data/lib/dear_inventory/models/purchases/inventory_movement.rb +1 -1
  33. data/lib/dear_inventory/models/purchases/invoice.rb +1 -1
  34. data/lib/dear_inventory/models/purchases/invoice_additional_charge.rb +1 -1
  35. data/lib/dear_inventory/models/purchases/invoice_line.rb +1 -1
  36. data/lib/dear_inventory/models/purchases/line.rb +1 -1
  37. data/lib/dear_inventory/models/purchases/manual_journal.rb +1 -1
  38. data/lib/dear_inventory/models/purchases/manual_journal_line.rb +1 -1
  39. data/lib/dear_inventory/models/purchases/order.rb +1 -1
  40. data/lib/dear_inventory/models/purchases/payment_line.rb +51 -0
  41. data/lib/dear_inventory/models/purchases/stock.rb +1 -1
  42. data/lib/dear_inventory/models/purchases/stock_line.rb +1 -1
  43. data/lib/dear_inventory/models/purchases/unstock_line.rb +1 -1
  44. data/lib/dear_inventory/models/{purchase_lists.rb → purchases_results.rb} +4 -4
  45. data/lib/dear_inventory/models/{sale_list.rb → sales.rb} +7 -2
  46. data/lib/dear_inventory/models/sales/additional_charge.rb +1 -1
  47. data/lib/dear_inventory/models/sales/credit_note.rb +1 -1
  48. data/lib/dear_inventory/models/sales/fulfilment.rb +1 -1
  49. data/lib/dear_inventory/models/sales/fulfilments/pick_pack.rb +1 -1
  50. data/lib/dear_inventory/models/sales/fulfilments/pick_pack_line.rb +1 -1
  51. data/lib/dear_inventory/models/sales/fulfilments/ship.rb +1 -1
  52. data/lib/dear_inventory/models/sales/fulfilments/ship_line.rb +1 -1
  53. data/lib/dear_inventory/models/sales/invoice.rb +1 -1
  54. data/lib/dear_inventory/models/sales/invoice_additional_charge.rb +1 -1
  55. data/lib/dear_inventory/models/sales/invoice_line.rb +1 -1
  56. data/lib/dear_inventory/models/sales/line.rb +1 -1
  57. data/lib/dear_inventory/models/sales/manual_journal.rb +1 -1
  58. data/lib/dear_inventory/models/sales/manual_journal_line.rb +1 -1
  59. data/lib/dear_inventory/models/sales/order.rb +1 -1
  60. data/lib/dear_inventory/models/sales/payment_line.rb +1 -1
  61. data/lib/dear_inventory/models/sales/quote.rb +1 -1
  62. data/lib/dear_inventory/models/{sale_lists.rb → sales_results.rb} +4 -4
  63. data/lib/dear_inventory/parameters/advanced_purchase/show.rb +25 -0
  64. data/lib/dear_inventory/parameters/purchase/index.rb +65 -6
  65. data/lib/dear_inventory/parameters/purchase/show.rb +25 -0
  66. data/lib/dear_inventory/parameters/sale/index.rb +95 -11
  67. data/lib/dear_inventory/parameters/sale/show.rb +35 -0
  68. data/lib/dear_inventory/resource.rb +8 -11
  69. data/lib/dear_inventory/resources/{purchase_list.rb → advanced_purchase.rb} +8 -5
  70. data/lib/dear_inventory/resources/customer.rb +2 -0
  71. data/lib/dear_inventory/resources/product.rb +2 -0
  72. data/lib/dear_inventory/resources/purchase.rb +38 -2
  73. data/lib/dear_inventory/resources/sale.rb +38 -2
  74. data/lib/dear_inventory/response.rb +118 -17
  75. data/lib/dear_inventory/version.rb +1 -1
  76. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -4
  77. metadata +29 -12
  78. data/lib/dear_inventory/parameters/purchase_list/index.rb +0 -84
  79. data/lib/dear_inventory/parameters/sale_list/index.rb +0 -119
  80. data/lib/dear_inventory/resources/sale_list.rb +0 -24
@@ -117,7 +117,7 @@ module DearInventory
117
117
  },
118
118
  LastModifiedOn: {
119
119
  name: :last_modified_on,
120
- type: :String,
120
+ type: :DateTime,
121
121
  },
122
122
  Addresses: {
123
123
  name: :addresses,
@@ -17,7 +17,7 @@ module DearInventory
17
17
  },
18
18
  CustomerList: {
19
19
  name: :customer_list,
20
- type: :Array,
20
+ type: :ResultSet,
21
21
  model: DearInventory::Models::Customer,
22
22
  }
23
23
  )
@@ -17,7 +17,7 @@ module DearInventory
17
17
  },
18
18
  Products: {
19
19
  name: :products,
20
- type: :Array,
20
+ type: :ResultSet,
21
21
  model: DearInventory::Models::Product,
22
22
  }
23
23
  )
@@ -1,9 +1,9 @@
1
- # typed: strong
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- class PurchaseList < DearInventory::Model
6
+ class Purchases < DearInventory::Model
7
7
  extend T::Sig
8
8
 
9
9
  fields(
@@ -120,6 +120,16 @@ module DearInventory
120
120
  type: :Guid,
121
121
  }
122
122
  )
123
+
124
+ sig { returns(DearInventory::Response) }
125
+ def full_record
126
+ case T.unsafe(self).type
127
+ when "Advanced Purchase", "Service Purchase"
128
+ DearInventory::AdvancedPurchase.show(id: T.unsafe(self).id)
129
+ else
130
+ DearInventory::Purchase.show(id: T.unsafe(self).id)
131
+ end
132
+ end
123
133
  end
124
134
  end
125
135
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class AdditionalCharge < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class CreditNote < DearInventory::Models::Purchases::CreditNote
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ }
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class Invoice < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ },
16
+ InvoiceDate: {
17
+ name: :invoice_date,
18
+ type: :Date,
19
+ },
20
+ InvoiceDueDate: {
21
+ name: :invoice_due_date,
22
+ type: :Date,
23
+ },
24
+ InvoiceNumber: {
25
+ name: :invoice_number,
26
+ type: :String,
27
+ },
28
+ Status: {
29
+ name: :status,
30
+ type: :String,
31
+ },
32
+ Lines: {
33
+ name: :lines,
34
+ type: :Array,
35
+ model: DearInventory::Models::Purchases::Line,
36
+ },
37
+ AdditionalCharges: {
38
+ name: :additional_charges,
39
+ type: :Array,
40
+ model: DearInventory::Models::Purchases::InvoiceAdditionalCharge,
41
+ },
42
+ Payments: {
43
+ name: :payments,
44
+ type: :Array,
45
+ model: DearInventory::Models::Purchases::PaymentLine,
46
+ },
47
+ TotalBeforeTax: {
48
+ name: :total_before_tax,
49
+ type: :BigDecimal,
50
+ },
51
+ Tax: {
52
+ name: :tax,
53
+ type: :BigDecimal,
54
+ },
55
+ Total: {
56
+ name: :total,
57
+ type: :BigDecimal,
58
+ },
59
+ Paid: {
60
+ name: :paid,
61
+ type: :BigDecimal,
62
+ }
63
+ )
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class ManualJournal < DearInventory::Models::Purchases::ManualJournal
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ }
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class PutAway < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ PurchaseID: {
13
+ name: :purchase_id,
14
+ type: :Guid,
15
+ },
16
+ TaskID: {
17
+ name: :task_id,
18
+ type: :Guid,
19
+ },
20
+ Status: {
21
+ name: :status,
22
+ type: :String,
23
+ },
24
+ Lines: {
25
+ name: :lines,
26
+ type: :Array,
27
+ model: DearInventory::Models::Purchases::Advanced::PutAwayLine,
28
+ }
29
+ )
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class PutAwayLine < StockLine
9
+ extend T::Sig
10
+
11
+ fields(
12
+ CardID: {
13
+ name: :card_id,
14
+ type: :CardID,
15
+ }
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class Stock < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ TaskID: {
13
+ name: :task_id,
14
+ type: :Guid,
15
+ },
16
+ Status: {
17
+ name: :status,
18
+ type: :String,
19
+ },
20
+ Lines: {
21
+ name: :lines,
22
+ type: :Array,
23
+ model: DearInventory::Models::Purchases::Advanced::StockLine,
24
+ }
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ module Advanced
8
+ class StockLine < DearInventory::Model
9
+ extend T::Sig
10
+
11
+ fields(
12
+ Date: {
13
+ name: :date,
14
+ type: :Date,
15
+ },
16
+ Quantity: {
17
+ name: :quantity,
18
+ type: :Float,
19
+ },
20
+ ProductID: {
21
+ name: :product_id,
22
+ type: :Guid,
23
+ },
24
+ SKU: {
25
+ name: :sku,
26
+ type: :String,
27
+ },
28
+ Name: {
29
+ name: :name,
30
+ type: :String,
31
+ },
32
+ Location: {
33
+ name: :location,
34
+ type: :String,
35
+ },
36
+ LocationID: {
37
+ name: :location_id,
38
+ type: :Guid,
39
+ },
40
+ Received: {
41
+ name: :received,
42
+ type: :Boolean,
43
+ },
44
+ BatchSN: {
45
+ name: :batch_sn,
46
+ type: :String,
47
+ },
48
+ SupplierSKU: {
49
+ name: :supplier_sku,
50
+ type: :String,
51
+ },
52
+ ExpiryDate: {
53
+ name: :expiry_date,
54
+ type: :Date,
55
+ }
56
+ )
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class CreditNote < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class InventoryMovement < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class Invoice < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class InvoiceAdditionalCharge < AdditionalCharge
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class InvoiceLine < Line
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class Line < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class ManualJournal < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class ManualJournalLine < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Purchases
6
+ class Purchases < DearInventory::Model
7
7
  class Order < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Purchases < DearInventory::Model
7
+ class PaymentLine < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ ID: {
12
+ name: :id,
13
+ type: :Guid,
14
+ },
15
+ PurchaseID: {
16
+ name: :purchase_id,
17
+ type: :Guid,
18
+ },
19
+ TaskID: {
20
+ name: :task_id,
21
+ type: :Guid,
22
+ },
23
+ Reference: {
24
+ name: :reference,
25
+ type: :String,
26
+ },
27
+ Amount: {
28
+ name: :amount,
29
+ type: :BigDecimal,
30
+ },
31
+ DatePaid: {
32
+ name: :date_paid,
33
+ type: :DateTime,
34
+ },
35
+ Account: {
36
+ name: :account,
37
+ type: :String,
38
+ },
39
+ CurrencyRate: {
40
+ name: :currency_rate,
41
+ type: :BigDecimal,
42
+ },
43
+ DateCreated: {
44
+ name: :date_created,
45
+ type: :DateTime,
46
+ }
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end