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
@@ -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 Stock < 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 StockLine < 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 UnstockLine < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- class PurchaseLists < DearInventory::Model
6
+ class PurchasesResults < DearInventory::Model
7
7
  extend T::Sig
8
8
 
9
9
  fields(
@@ -16,9 +16,9 @@ module DearInventory
16
16
  type: :Integer,
17
17
  },
18
18
  PurchaseList: {
19
- name: :purchase_list,
20
- type: :Array,
21
- model: DearInventory::Models::PurchaseList,
19
+ name: :purchases,
20
+ type: :ResultSet,
21
+ model: DearInventory::Models::Purchases,
22
22
  }
23
23
  )
24
24
  end
@@ -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 SaleList < DearInventory::Model
6
+ class Sales < DearInventory::Model
7
7
  extend T::Sig
8
8
 
9
9
  fields(
@@ -128,6 +128,11 @@ module DearInventory
128
128
  type: :String,
129
129
  }
130
130
  )
131
+
132
+ sig { returns(DearInventory::Response) }
133
+ def full_record
134
+ DearInventory::Sale.show(id: T.unsafe(self).id)
135
+ end
131
136
  end
132
137
  end
133
138
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Sales
6
+ class Sales < DearInventory::Model
7
7
  class AdditionalCharge < 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 Sales
6
+ class Sales < 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 Sales
6
+ class Sales < DearInventory::Model
7
7
  class Fulfilment < 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 Sales
6
+ class Sales < DearInventory::Model
7
7
  class Fulfilments
8
8
  class PickPack < DearInventory::Model
9
9
  extend T::Sig
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Sales
6
+ class Sales < DearInventory::Model
7
7
  class Fulfilments
8
8
  class PickPackLine < DearInventory::Model
9
9
  extend T::Sig
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Sales
6
+ class Sales < DearInventory::Model
7
7
  class Fulfilments
8
8
  class Ship < DearInventory::Model
9
9
  extend T::Sig
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Sales
6
+ class Sales < DearInventory::Model
7
7
  class Fulfilments
8
8
  class ShipLine < DearInventory::Model
9
9
  extend T::Sig
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- module Sales
6
+ class Sales < 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 Sales
6
+ class Sales < 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 Sales
6
+ class Sales < 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 Sales
6
+ class Sales < 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 Sales
6
+ class Sales < 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 Sales
6
+ class Sales < 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 Sales
6
+ class Sales < DearInventory::Model
7
7
  class Order < 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 Sales
6
+ class Sales < DearInventory::Model
7
7
  class PaymentLine < 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 Sales
6
+ class Sales < DearInventory::Model
7
7
  class Quote < DearInventory::Model
8
8
  extend T::Sig
9
9
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  module DearInventory
5
5
  module Models
6
- class SaleLists < DearInventory::Model
6
+ class SalesResults < DearInventory::Model
7
7
  extend T::Sig
8
8
 
9
9
  fields(
@@ -16,9 +16,9 @@ module DearInventory
16
16
  type: :Integer,
17
17
  },
18
18
  SaleList: {
19
- name: :sale_list,
20
- type: :Array,
21
- model: DearInventory::Models::SaleList,
19
+ name: :sales,
20
+ type: :ResultSet,
21
+ model: DearInventory::Models::Sales,
22
22
  }
23
23
  )
24
24
  end
@@ -0,0 +1,25 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class Parameters
6
+ module AdvancedPurchase
7
+ class Show < DearInventory::Parameters
8
+ extend T::Sig
9
+
10
+ fields(
11
+ id: {
12
+ property: :ID,
13
+ type: :String,
14
+ required: true,
15
+ },
16
+ combine_additional_charges: {
17
+ property: :CombineAdditionalCharges,
18
+ type: :Boolean,
19
+ required: false,
20
+ }
21
+ )
22
+ end
23
+ end
24
+ end
25
+ end
@@ -8,14 +8,73 @@ module DearInventory
8
8
  extend T::Sig
9
9
 
10
10
  fields(
11
- id: {
12
- property: :ID,
11
+ page: {
12
+ property: :Page,
13
+ type: :Integer,
14
+ required: false,
15
+ },
16
+ limit: {
17
+ property: :Limit,
18
+ type: :Integer,
19
+ required: false,
20
+ },
21
+ search: {
22
+ property: :Search,
23
+ type: :String,
24
+ required: false,
25
+ },
26
+ required_by: {
27
+ property: :RequiredBy,
28
+ type: :DateTime,
29
+ required: false,
30
+ },
31
+ updated_since: {
32
+ property: :UpdatedSince,
33
+ type: :DateTime,
34
+ required: false,
35
+ },
36
+ order_status: {
37
+ property: :OrderStatus,
38
+ type: :Enum,
39
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
40
+ required: false,
41
+ },
42
+ restock_received_status: {
43
+ property: :RestockReceivedStatus,
13
44
  type: :String,
14
- required: true,
45
+ required: false,
46
+ },
47
+ invoice_status: {
48
+ property: :InvoiceStatus,
49
+ type: :Enum,
50
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
51
+ required: false,
52
+ },
53
+ credit_note_status: {
54
+ property: :CreditNoteStatus,
55
+ type: :Enum,
56
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
57
+ required: false,
58
+ },
59
+ unstock_status: {
60
+ property: :UnstockStatus,
61
+ type: :Enum,
62
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
63
+ required: false,
64
+ },
65
+ status: {
66
+ property: :Status,
67
+ type: :Enum,
68
+ values: [
69
+ "DRAFT", "VOIDED", "ORDERING", "ORDERED", "RECEIVING", "RECEIVED",
70
+ "INVOICED", "CREDITED", "RECEIVING / CREDITED",
71
+ "RECEIVED / CREDITED", "PARTIALLY INVOICED", "COMPLETED",
72
+ ],
73
+ required: false,
15
74
  },
16
- combine_additional_charges: {
17
- property: :CombineAdditionalCharges,
18
- type: :Boolean,
75
+ drop_ship_task_id: {
76
+ property: :DropShipTaskID,
77
+ type: :Guid,
19
78
  required: false,
20
79
  }
21
80
  )
@@ -0,0 +1,25 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class Parameters
6
+ module Purchase
7
+ class Show < DearInventory::Parameters
8
+ extend T::Sig
9
+
10
+ fields(
11
+ id: {
12
+ property: :ID,
13
+ type: :String,
14
+ required: true,
15
+ },
16
+ combine_additional_charges: {
17
+ property: :CombineAdditionalCharges,
18
+ type: :Boolean,
19
+ required: false,
20
+ }
21
+ )
22
+ end
23
+ end
24
+ end
25
+ end
@@ -8,23 +8,107 @@ module DearInventory
8
8
  extend T::Sig
9
9
 
10
10
  fields(
11
- id: {
12
- property: :ID,
11
+ page: {
12
+ property: :Page,
13
+ type: :Integer,
14
+ required: false,
15
+ },
16
+ limit: {
17
+ property: :Limit,
18
+ type: :Integer,
19
+ required: false,
20
+ },
21
+ search: {
22
+ property: :Search,
13
23
  type: :String,
14
- required: true,
24
+ required: false,
15
25
  },
16
- combine_additional_charges: {
17
- property: :CombineAdditionalCharges,
18
- type: :Boolean,
26
+ created_since: {
27
+ property: :CreatedSince,
28
+ type: :DateTime,
19
29
  required: false,
20
30
  },
21
- hide_inventory_movements: {
22
- property: :HideInventoryMovements,
23
- type: :Boolean,
31
+ updated_since: {
32
+ property: :UpdatedSince,
33
+ type: :DateTime,
34
+ required: false,
35
+ },
36
+ ship_by: {
37
+ property: :ShipBy,
38
+ type: :DateTime,
39
+ required: false,
40
+ },
41
+ quote_status: {
42
+ property: :QuoteStatus,
43
+ type: :Enum,
44
+ values: ["NOT AVAILABLE", "DRAFT", "AUTHORISED", "VOIDED"],
45
+ required: false,
46
+ },
47
+ order_status: {
48
+ property: :OrderStatus,
49
+ type: :Enum,
50
+ values: [
51
+ "NOT AVAILABLE", "DRAFT", "AUTHORISED", "VOIDED", "AUTH_NO_ALLOC",
52
+ "FULFILLED", "CLOSED",
53
+ ],
54
+ required: false,
55
+ },
56
+ combined_pick_status: {
57
+ property: :CombinedPickStatus,
58
+ type: :Enum,
59
+ values: [
60
+ "VOIDED", "NOT AVAILABLE", "PICKED", "PICKING", "NOT PICKED",
61
+ "PARTIALLY PICKED",
62
+ ],
63
+ required: false,
64
+ },
65
+ combined_pack_status: {
66
+ property: :CombinedPackStatus,
67
+ type: :Enum,
68
+ values: [
69
+ "VOIDED", "NOT AVAILABLE", "PACKED", "PACKING", "NOT PACKED",
70
+ "PARTIALLY PACKED",
71
+ ],
72
+ required: false,
73
+ },
74
+ combined_shipp_status: {
75
+ property: :CombinedShippStatus,
76
+ type: :Enum,
77
+ values: [
78
+ "VOIDED", "NOT AVAILABLE", "SHIPPED", "SHIPPING", "NOT SHIPPED",
79
+ "PARTIALLY SHIPPED",
80
+ ],
81
+ required: false,
82
+ },
83
+ combined_invoice_status: {
84
+ property: :CombinedInvoiceStatus,
85
+ type: :Enum,
86
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE", "PAID"],
87
+ required: false,
88
+ },
89
+ credit_note_status: {
90
+ property: :CreditNoteStatus,
91
+ type: :Enum,
92
+ values: ["VOIDED", "DRAFT", "AUTHORISED", "NOT AVAILABLE"],
93
+ required: false,
94
+ },
95
+ external_id: {
96
+ property: :ExternalID,
97
+ type: :String,
98
+ required: false,
99
+ },
100
+ status: {
101
+ property: :Status,
102
+ type: :Enum,
103
+ values: %w[
104
+ DRAFT VOIDED ESTIMATING ESTIMATED ORDERING ORDERED BACKORDERED
105
+ PICKING PICKED PACKING PACKED SHIPPING INVOICING INVOICED CREDITED
106
+ COMPLETED
107
+ ],
24
108
  required: false,
25
109
  },
26
- include_transactions: {
27
- property: :IncludeTransactions,
110
+ ready_for_shipping: {
111
+ property: :ReadyForShipping,
28
112
  type: :Boolean,
29
113
  required: false,
30
114
  }