dear_inventory 0.7.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }