printavo-ruby 0.13.0 → 0.16.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 +4 -4
- data/bin/console +13 -0
- data/bin/lint +113 -0
- data/bin/printavo +8 -0
- data/bin/spec +113 -0
- data/docs/CHANGELOG.md +60 -0
- data/docs/TODO.md +44 -23
- data/lib/printavo/cli.rb +82 -0
- data/lib/printavo/client.rb +14 -6
- data/lib/printavo/connection.rb +37 -9
- data/lib/printavo/enums/approval_request_status.rb +17 -0
- data/lib/printavo/enums/contact_sort_field.rb +16 -0
- data/lib/printavo/enums/line_item_size.rb +48 -0
- data/lib/printavo/enums/line_item_status.rb +19 -0
- data/lib/printavo/enums/merch_order_delivery_method.rb +14 -0
- data/lib/printavo/enums/merch_order_status.rb +14 -0
- data/lib/printavo/enums/merch_store_status.rb +14 -0
- data/lib/printavo/enums/message_delivery_status.rb +23 -0
- data/lib/printavo/enums/order_payment_status.rb +15 -0
- data/lib/printavo/enums/order_sort_field.rb +18 -0
- data/lib/printavo/enums/payment_dispute_status_field.rb +17 -0
- data/lib/printavo/enums/payment_request_status.rb +15 -0
- data/lib/printavo/enums/po_goods_status.rb +17 -0
- data/lib/printavo/enums/status_type.rb +14 -0
- data/lib/printavo/enums/task_sort_field.rb +14 -0
- data/lib/printavo/enums/taskable_type.rb +15 -0
- data/lib/printavo/enums/transaction_category.rb +18 -0
- data/lib/printavo/enums/transaction_source.rb +14 -0
- data/lib/printavo/enums.rb +21 -0
- data/lib/printavo/graphql/account/find.graphql +11 -0
- data/lib/printavo/graphql/approval_requests/all.graphql +23 -0
- data/lib/printavo/graphql/approval_requests/approve.graphql +8 -0
- data/lib/printavo/graphql/approval_requests/create.graphql +15 -0
- data/lib/printavo/graphql/approval_requests/find.graphql +15 -0
- data/lib/printavo/graphql/approval_requests/revoke.graphql +8 -0
- data/lib/printavo/graphql/approval_requests/unapprove.graphql +8 -0
- data/lib/printavo/graphql/categories/all.graphql +12 -0
- data/lib/printavo/graphql/categories/find.graphql +6 -0
- data/lib/printavo/graphql/contacts/create.graphql +11 -0
- data/lib/printavo/graphql/contacts/delete.graphql +5 -0
- data/lib/printavo/graphql/contacts/find.graphql +11 -0
- data/lib/printavo/graphql/contacts/update.graphql +11 -0
- data/lib/printavo/graphql/contractor_profiles/all.graphql +13 -0
- data/lib/printavo/graphql/contractor_profiles/find.graphql +7 -0
- data/lib/printavo/graphql/custom_addresses/all.graphql +18 -0
- data/lib/printavo/graphql/custom_addresses/create.graphql +10 -0
- data/lib/printavo/graphql/custom_addresses/creates.graphql +10 -0
- data/lib/printavo/graphql/custom_addresses/delete.graphql +5 -0
- data/lib/printavo/graphql/custom_addresses/deletes.graphql +5 -0
- data/lib/printavo/graphql/custom_addresses/find.graphql +10 -0
- data/lib/printavo/graphql/custom_addresses/update.graphql +10 -0
- data/lib/printavo/graphql/custom_addresses/updates.graphql +10 -0
- data/lib/printavo/graphql/customers/all.graphql +16 -0
- data/lib/printavo/graphql/customers/create.graphql +13 -0
- data/lib/printavo/graphql/customers/delete.graphql +5 -0
- data/lib/printavo/graphql/customers/find.graphql +10 -0
- data/lib/printavo/graphql/customers/update.graphql +13 -0
- data/lib/printavo/graphql/delivery_methods/all.graphql +12 -0
- data/lib/printavo/graphql/delivery_methods/archive.graphql +5 -0
- data/lib/printavo/graphql/delivery_methods/create.graphql +6 -0
- data/lib/printavo/graphql/delivery_methods/find.graphql +6 -0
- data/lib/printavo/graphql/delivery_methods/update.graphql +6 -0
- data/lib/printavo/graphql/email_templates/all.graphql +14 -0
- data/lib/printavo/graphql/email_templates/find.graphql +8 -0
- data/lib/printavo/graphql/expenses/all.graphql +16 -0
- data/lib/printavo/graphql/expenses/create.graphql +8 -0
- data/lib/printavo/graphql/expenses/find.graphql +8 -0
- data/lib/printavo/graphql/expenses/update.graphql +8 -0
- data/lib/printavo/graphql/fees/all.graphql +16 -0
- data/lib/printavo/graphql/fees/create.graphql +8 -0
- data/lib/printavo/graphql/fees/creates.graphql +8 -0
- data/lib/printavo/graphql/fees/delete.graphql +5 -0
- data/lib/printavo/graphql/fees/deletes.graphql +5 -0
- data/lib/printavo/graphql/fees/find.graphql +8 -0
- data/lib/printavo/graphql/fees/update.graphql +8 -0
- data/lib/printavo/graphql/fees/updates.graphql +8 -0
- data/lib/printavo/graphql/imprints/all.graphql +16 -0
- data/lib/printavo/graphql/imprints/create.graphql +8 -0
- data/lib/printavo/graphql/imprints/creates.graphql +8 -0
- data/lib/printavo/graphql/imprints/delete.graphql +5 -0
- data/lib/printavo/graphql/imprints/deletes.graphql +5 -0
- data/lib/printavo/graphql/imprints/find.graphql +8 -0
- data/lib/printavo/graphql/imprints/mockup_create.graphql +7 -0
- data/lib/printavo/graphql/imprints/mockup_creates.graphql +7 -0
- data/lib/printavo/graphql/imprints/update.graphql +8 -0
- data/lib/printavo/graphql/imprints/updates.graphql +8 -0
- data/lib/printavo/graphql/inquiries/all.graphql +25 -0
- data/lib/printavo/graphql/inquiries/create.graphql +19 -0
- data/lib/printavo/graphql/inquiries/delete.graphql +5 -0
- data/lib/printavo/graphql/inquiries/find.graphql +19 -0
- data/lib/printavo/graphql/inquiries/update.graphql +19 -0
- data/lib/printavo/graphql/invoices/all.graphql +30 -0
- data/lib/printavo/graphql/invoices/delete.graphql +5 -0
- data/lib/printavo/graphql/invoices/duplicate.graphql +27 -0
- data/lib/printavo/graphql/invoices/find.graphql +24 -0
- data/lib/printavo/graphql/invoices/update.graphql +24 -0
- data/lib/printavo/graphql/jobs/all.graphql +17 -0
- data/lib/printavo/graphql/jobs/find.graphql +9 -0
- data/lib/printavo/graphql/line_item_groups/all.graphql +15 -0
- data/lib/printavo/graphql/line_item_groups/create.graphql +7 -0
- data/lib/printavo/graphql/line_item_groups/creates.graphql +7 -0
- data/lib/printavo/graphql/line_item_groups/delete.graphql +5 -0
- data/lib/printavo/graphql/line_item_groups/deletes.graphql +5 -0
- data/lib/printavo/graphql/line_item_groups/find.graphql +7 -0
- data/lib/printavo/graphql/line_item_groups/update.graphql +7 -0
- data/lib/printavo/graphql/line_item_groups/updates.graphql +7 -0
- data/lib/printavo/graphql/line_items/all.graphql +17 -0
- data/lib/printavo/graphql/line_items/create.graphql +9 -0
- data/lib/printavo/graphql/line_items/creates.graphql +9 -0
- data/lib/printavo/graphql/line_items/delete.graphql +5 -0
- data/lib/printavo/graphql/line_items/deletes.graphql +5 -0
- data/lib/printavo/graphql/line_items/find.graphql +9 -0
- data/lib/printavo/graphql/line_items/mockup_create.graphql +7 -0
- data/lib/printavo/graphql/line_items/mockup_creates.graphql +7 -0
- data/lib/printavo/graphql/line_items/update.graphql +9 -0
- data/lib/printavo/graphql/line_items/updates.graphql +9 -0
- data/lib/printavo/graphql/merch_orders/all.graphql +25 -0
- data/lib/printavo/graphql/merch_orders/find.graphql +19 -0
- data/lib/printavo/graphql/merch_stores/all.graphql +17 -0
- data/lib/printavo/graphql/merch_stores/find.graphql +11 -0
- data/lib/printavo/graphql/mockups/all.graphql +16 -0
- data/lib/printavo/graphql/mockups/delete.graphql +5 -0
- data/lib/printavo/graphql/mockups/deletes.graphql +5 -0
- data/lib/printavo/graphql/mockups/find.graphql +8 -0
- data/lib/printavo/graphql/orders/all.graphql +25 -0
- data/lib/printavo/graphql/orders/create.graphql +19 -0
- data/lib/printavo/graphql/orders/delete.graphql +5 -0
- data/lib/printavo/graphql/orders/duplicate.graphql +24 -0
- data/lib/printavo/graphql/orders/find.graphql +19 -0
- data/lib/printavo/graphql/orders/update.graphql +19 -0
- data/lib/printavo/graphql/orders/update_status.graphql +18 -0
- data/lib/printavo/graphql/payment_requests/all.graphql +21 -0
- data/lib/printavo/graphql/payment_requests/create.graphql +13 -0
- data/lib/printavo/graphql/payment_requests/delete.graphql +5 -0
- data/lib/printavo/graphql/payment_requests/find.graphql +13 -0
- data/lib/printavo/graphql/payment_terms/all.graphql +13 -0
- data/lib/printavo/graphql/payment_terms/archive.graphql +5 -0
- data/lib/printavo/graphql/payment_terms/create.graphql +7 -0
- data/lib/printavo/graphql/payment_terms/find.graphql +7 -0
- data/lib/printavo/graphql/payment_terms/update.graphql +7 -0
- data/lib/printavo/graphql/payments/all.graphql +16 -0
- data/lib/printavo/graphql/payments/find.graphql +8 -0
- data/lib/printavo/graphql/preset_task_groups/all.graphql +17 -0
- data/lib/printavo/graphql/preset_task_groups/apply.graphql +13 -0
- data/lib/printavo/graphql/preset_task_groups/create.graphql +11 -0
- data/lib/printavo/graphql/preset_task_groups/delete.graphql +5 -0
- data/lib/printavo/graphql/preset_task_groups/find.graphql +11 -0
- data/lib/printavo/graphql/preset_task_groups/update.graphql +11 -0
- data/lib/printavo/graphql/preset_tasks/create.graphql +12 -0
- data/lib/printavo/graphql/preset_tasks/delete.graphql +5 -0
- data/lib/printavo/graphql/preset_tasks/find.graphql +12 -0
- data/lib/printavo/graphql/preset_tasks/update.graphql +12 -0
- data/lib/printavo/graphql/pricing_matrices/all.graphql +12 -0
- data/lib/printavo/graphql/pricing_matrices/find.graphql +6 -0
- data/lib/printavo/graphql/production_files/all.graphql +16 -0
- data/lib/printavo/graphql/production_files/create.graphql +8 -0
- data/lib/printavo/graphql/production_files/creates.graphql +8 -0
- data/lib/printavo/graphql/production_files/delete.graphql +5 -0
- data/lib/printavo/graphql/production_files/deletes.graphql +5 -0
- data/lib/printavo/graphql/production_files/find.graphql +8 -0
- data/lib/printavo/graphql/products/all.graphql +14 -0
- data/lib/printavo/graphql/products/find.graphql +8 -0
- data/lib/printavo/graphql/statuses/all.graphql +13 -0
- data/lib/printavo/graphql/statuses/find.graphql +7 -0
- data/lib/printavo/graphql/tasks/all.graphql +19 -0
- data/lib/printavo/graphql/tasks/create.graphql +13 -0
- data/lib/printavo/graphql/tasks/delete.graphql +5 -0
- data/lib/printavo/graphql/tasks/find.graphql +13 -0
- data/lib/printavo/graphql/tasks/update.graphql +13 -0
- data/lib/printavo/graphql/threads/all.graphql +16 -0
- data/lib/printavo/graphql/threads/email_message_create.graphql +7 -0
- data/lib/printavo/graphql/threads/find.graphql +8 -0
- data/lib/printavo/graphql/threads/update.graphql +8 -0
- data/lib/printavo/graphql/transaction_payments/create.graphql +9 -0
- data/lib/printavo/graphql/transaction_payments/delete.graphql +5 -0
- data/lib/printavo/graphql/transaction_payments/update.graphql +9 -0
- data/lib/printavo/graphql/transactions/all.graphql +16 -0
- data/lib/printavo/graphql/transactions/find.graphql +8 -0
- data/lib/printavo/graphql/types_of_work/all.graphql +12 -0
- data/lib/printavo/graphql/users/all.graphql +14 -0
- data/lib/printavo/graphql/users/find.graphql +8 -0
- data/lib/printavo/graphql/vendors/all.graphql +14 -0
- data/lib/printavo/graphql/vendors/find.graphql +8 -0
- data/lib/printavo/resources/contacts.rb +13 -0
- data/lib/printavo/resources/customers.rb +15 -2
- data/lib/printavo/resources/inquiries.rb +13 -0
- data/lib/printavo/resources/invoices.rb +30 -3
- data/lib/printavo/resources/orders.rb +27 -0
- data/lib/printavo/version.rb +1 -1
- data/lib/printavo.rb +1 -0
- metadata +195 -2
|
@@ -6,6 +6,7 @@ module Printavo
|
|
|
6
6
|
class Contacts < Base
|
|
7
7
|
FIND_QUERY = File.read(File.join(__dir__, '../graphql/contacts/find.graphql')).freeze
|
|
8
8
|
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/contacts/create.graphql')).freeze
|
|
9
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/contacts/delete.graphql')).freeze
|
|
9
10
|
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/contacts/update.graphql')).freeze
|
|
10
11
|
|
|
11
12
|
# Finds a contact by ID.
|
|
@@ -44,6 +45,18 @@ module Printavo
|
|
|
44
45
|
variables: { id: id.to_s, input: camelize_keys(input) })
|
|
45
46
|
Printavo::Contact.new(data['contactUpdate'])
|
|
46
47
|
end
|
|
48
|
+
|
|
49
|
+
# Permanently deletes a contact by ID.
|
|
50
|
+
#
|
|
51
|
+
# @param id [String, Integer]
|
|
52
|
+
# @return [nil]
|
|
53
|
+
#
|
|
54
|
+
# @example
|
|
55
|
+
# client.contacts.delete("123")
|
|
56
|
+
def delete(id)
|
|
57
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
58
|
+
nil
|
|
59
|
+
end
|
|
47
60
|
end
|
|
48
61
|
end
|
|
49
62
|
end
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
module Printavo
|
|
5
5
|
module Resources
|
|
6
6
|
class Customers < Base
|
|
7
|
-
ALL_QUERY
|
|
8
|
-
FIND_QUERY
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/customers/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/customers/find.graphql')).freeze
|
|
9
9
|
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/customers/create.graphql')).freeze
|
|
10
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/customers/delete.graphql')).freeze
|
|
10
11
|
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/customers/update.graphql')).freeze
|
|
11
12
|
|
|
12
13
|
def all(first: 25, after: nil)
|
|
@@ -48,6 +49,18 @@ module Printavo
|
|
|
48
49
|
build_customer(data['customerUpdate'])
|
|
49
50
|
end
|
|
50
51
|
|
|
52
|
+
# Permanently deletes a customer by ID.
|
|
53
|
+
#
|
|
54
|
+
# @param id [String, Integer]
|
|
55
|
+
# @return [nil]
|
|
56
|
+
#
|
|
57
|
+
# @example
|
|
58
|
+
# client.customers.delete("42")
|
|
59
|
+
def delete(id)
|
|
60
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
61
|
+
nil
|
|
62
|
+
end
|
|
63
|
+
|
|
51
64
|
private
|
|
52
65
|
|
|
53
66
|
def fetch_page(first: 25, after: nil, **)
|
|
@@ -7,6 +7,7 @@ module Printavo
|
|
|
7
7
|
ALL_QUERY = File.read(File.join(__dir__, '../graphql/inquiries/all.graphql')).freeze
|
|
8
8
|
FIND_QUERY = File.read(File.join(__dir__, '../graphql/inquiries/find.graphql')).freeze
|
|
9
9
|
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/inquiries/create.graphql')).freeze
|
|
10
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/inquiries/delete.graphql')).freeze
|
|
10
11
|
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/inquiries/update.graphql')).freeze
|
|
11
12
|
|
|
12
13
|
def all(first: 25, after: nil)
|
|
@@ -43,6 +44,18 @@ module Printavo
|
|
|
43
44
|
Printavo::Inquiry.new(data['inquiryUpdate'])
|
|
44
45
|
end
|
|
45
46
|
|
|
47
|
+
# Permanently deletes an inquiry by ID.
|
|
48
|
+
#
|
|
49
|
+
# @param id [String, Integer]
|
|
50
|
+
# @return [nil]
|
|
51
|
+
#
|
|
52
|
+
# @example
|
|
53
|
+
# client.inquiries.delete("55")
|
|
54
|
+
def delete(id)
|
|
55
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
56
|
+
nil
|
|
57
|
+
end
|
|
58
|
+
|
|
46
59
|
private
|
|
47
60
|
|
|
48
61
|
def fetch_page(first: 25, after: nil, **)
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
module Printavo
|
|
5
5
|
module Resources
|
|
6
6
|
class Invoices < Base
|
|
7
|
-
ALL_QUERY
|
|
8
|
-
FIND_QUERY
|
|
9
|
-
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/invoices/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/invoices/find.graphql')).freeze
|
|
9
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/invoices/delete.graphql')).freeze
|
|
10
|
+
DUPLICATE_MUTATION = File.read(File.join(__dir__, '../graphql/invoices/duplicate.graphql')).freeze
|
|
11
|
+
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/invoices/update.graphql')).freeze
|
|
10
12
|
|
|
11
13
|
def all(first: 25, after: nil)
|
|
12
14
|
fetch_page(first: first, after: after).records
|
|
@@ -38,6 +40,31 @@ module Printavo
|
|
|
38
40
|
Printavo::Invoice.new(data['invoiceUpdate'])
|
|
39
41
|
end
|
|
40
42
|
|
|
43
|
+
# Permanently deletes an invoice by ID.
|
|
44
|
+
#
|
|
45
|
+
# @param id [String, Integer]
|
|
46
|
+
# @return [nil]
|
|
47
|
+
#
|
|
48
|
+
# @example
|
|
49
|
+
# client.invoices.delete("456")
|
|
50
|
+
def delete(id)
|
|
51
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
52
|
+
nil
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Duplicates an invoice, returning a new invoice pre-populated with the
|
|
56
|
+
# same line items, customer, and settings as the original.
|
|
57
|
+
#
|
|
58
|
+
# @param id [String, Integer]
|
|
59
|
+
# @return [Printavo::Invoice]
|
|
60
|
+
#
|
|
61
|
+
# @example
|
|
62
|
+
# client.invoices.duplicate("456")
|
|
63
|
+
def duplicate(id)
|
|
64
|
+
data = @graphql.mutate(DUPLICATE_MUTATION, variables: { id: id.to_s })
|
|
65
|
+
Printavo::Invoice.new(data['invoiceDuplicate'])
|
|
66
|
+
end
|
|
67
|
+
|
|
41
68
|
private
|
|
42
69
|
|
|
43
70
|
def fetch_page(first: 25, after: nil, **)
|
|
@@ -8,6 +8,8 @@ module Printavo
|
|
|
8
8
|
FIND_QUERY = File.read(File.join(__dir__, '../graphql/orders/find.graphql')).freeze
|
|
9
9
|
# Printavo creates orders as quotes first; the mutation is quoteCreate.
|
|
10
10
|
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/orders/create.graphql')).freeze
|
|
11
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/orders/delete.graphql')).freeze
|
|
12
|
+
DUPLICATE_MUTATION = File.read(File.join(__dir__, '../graphql/orders/duplicate.graphql')).freeze
|
|
11
13
|
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/orders/update.graphql')).freeze
|
|
12
14
|
# statusUpdate returns an OrderUnion (Quote | Invoice) — requires fragments.
|
|
13
15
|
UPDATE_STATUS_MUTATION = File.read(File.join(__dir__, '../graphql/orders/update_status.graphql')).freeze
|
|
@@ -65,6 +67,31 @@ module Printavo
|
|
|
65
67
|
build_order(data['statusUpdate'])
|
|
66
68
|
end
|
|
67
69
|
|
|
70
|
+
# Permanently deletes an order (quote) by ID.
|
|
71
|
+
#
|
|
72
|
+
# @param id [String, Integer]
|
|
73
|
+
# @return [nil]
|
|
74
|
+
#
|
|
75
|
+
# @example
|
|
76
|
+
# client.orders.delete("99")
|
|
77
|
+
def delete(id)
|
|
78
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
79
|
+
nil
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Duplicates an order (quote), returning a new quote pre-populated with
|
|
83
|
+
# the same line items, customer, and settings as the original.
|
|
84
|
+
#
|
|
85
|
+
# @param id [String, Integer]
|
|
86
|
+
# @return [Printavo::Order]
|
|
87
|
+
#
|
|
88
|
+
# @example
|
|
89
|
+
# client.orders.duplicate("99")
|
|
90
|
+
def duplicate(id)
|
|
91
|
+
data = @graphql.mutate(DUPLICATE_MUTATION, variables: { id: id.to_s })
|
|
92
|
+
build_order(data['quoteDuplicate'])
|
|
93
|
+
end
|
|
94
|
+
|
|
68
95
|
private
|
|
69
96
|
|
|
70
97
|
def fetch_page(first: 25, after: nil, **)
|
data/lib/printavo/version.rb
CHANGED
data/lib/printavo.rb
CHANGED
|
@@ -8,6 +8,7 @@ require 'json'
|
|
|
8
8
|
require_relative 'printavo/version'
|
|
9
9
|
require_relative 'printavo/config'
|
|
10
10
|
require_relative 'printavo/connection'
|
|
11
|
+
require_relative 'printavo/enums'
|
|
11
12
|
require_relative 'printavo/errors'
|
|
12
13
|
require_relative 'printavo/graphql_client'
|
|
13
14
|
require_relative 'printavo/page'
|