printavo-ruby 0.11.0 → 0.13.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/docs/CHANGELOG.md +38 -0
- data/docs/TODO.md +44 -44
- data/lib/printavo/client.rb +36 -0
- data/lib/printavo/models/contractor_profile.rb +10 -0
- data/lib/printavo/models/custom_address.rb +13 -0
- data/lib/printavo/models/delivery_method.rb +9 -0
- data/lib/printavo/models/email_template.rb +11 -0
- data/lib/printavo/models/mockup.rb +11 -0
- data/lib/printavo/models/production_file.rb +11 -0
- data/lib/printavo/models/type_of_work.rb +9 -0
- data/lib/printavo/models/user.rb +12 -0
- data/lib/printavo/models/vendor.rb +11 -0
- data/lib/printavo/resources/contractor_profiles.rb +33 -0
- data/lib/printavo/resources/custom_addresses.rb +72 -0
- data/lib/printavo/resources/delivery_methods.rb +51 -0
- data/lib/printavo/resources/email_templates.rb +33 -0
- data/lib/printavo/resources/mockups.rb +48 -0
- data/lib/printavo/resources/production_files.rb +60 -0
- data/lib/printavo/resources/types_of_work.rb +27 -0
- data/lib/printavo/resources/users.rb +33 -0
- data/lib/printavo/resources/vendors.rb +33 -0
- data/lib/printavo/version.rb +1 -1
- data/lib/printavo.rb +18 -0
- metadata +20 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d38801721464e49c62cf1f1c691c157e8ef2f1e7fd09c9a7490520191a760a4f
|
|
4
|
+
data.tar.gz: 452da693c947df1df1535500644ceed9263275c3e1afa856bdaba85fabbccba9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e8e46f1df1bf4aaa1ebc4b4addf6b70e924e330fd29610a3f175f7e0d6ae222a082962d45facf65d7fb7b708155f718b35a86c58a1ac23629a522095ad391535
|
|
7
|
+
data.tar.gz: 23ca5c52505288f5f6fcdf138af7f0441ee2c9c7702e0ffd972b40e8f8702a4ea072c65e96a070ebf0845c2bf79130f4ea70c93b7df28299cc5a2790fc6c37d8
|
data/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,44 @@ All notable changes to this project will be documented in this file.
|
|
|
6
6
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
7
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.13.0] - 2026-03-31
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `Printavo::User` model (`id`, `first_name`, `last_name`, `email`, `full_name`)
|
|
13
|
+
- `Users` resource: `all`, `find(id)` — shop staff members
|
|
14
|
+
- `Printavo::Vendor` model (`id`, `name`, `email`, `phone`)
|
|
15
|
+
- `Vendors` resource: `all`, `find(id)` — read-only
|
|
16
|
+
- `Printavo::ContractorProfile` model (`id`, `name`, `email`)
|
|
17
|
+
- `ContractorProfiles` resource: `all`, `find(id)`
|
|
18
|
+
- `Printavo::DeliveryMethod` model (`id`, `name`)
|
|
19
|
+
- `DeliveryMethods` resource: `all`, `find(id)`, `create(**input)`, `update(id, **input)`, `archive(id)`
|
|
20
|
+
- `deliveryMethodCreate`, `deliveryMethodUpdate`, `deliveryMethodArchive` mutations
|
|
21
|
+
- `Printavo::TypeOfWork` model (`id`, `name`)
|
|
22
|
+
- `TypesOfWork` resource: `all` — reference data for order categorization
|
|
23
|
+
- `client.contractor_profiles`, `client.delivery_methods`, `client.types_of_work`,
|
|
24
|
+
`client.users`, `client.vendors` entry points on `Printavo::Client`
|
|
25
|
+
- 11 new `.graphql` files under `lib/printavo/graphql/`
|
|
26
|
+
- 1 new factory file: `spec/support/factories/people.rb`
|
|
27
|
+
|
|
28
|
+
## [0.12.0] - 2026-03-31
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- `Printavo::ProductionFile` model (`id`, `url`, `filename`, `created_at`)
|
|
32
|
+
- `ProductionFiles` resource: `all(order_id:)`, `find(id)`, `create(**input)` / `creates(inputs)`,
|
|
33
|
+
`delete(id)` / `deletes(ids)`
|
|
34
|
+
- `Printavo::Mockup` model (`id`, `url`, `position`, `created_at`)
|
|
35
|
+
- `Mockups` resource: `all(order_id:)`, `find(id)`, `delete(id)` / `deletes(ids)` — no create (mockups are
|
|
36
|
+
attached via `LineItems#mockup_create` and `Imprints#mockup_create`)
|
|
37
|
+
- `Printavo::EmailTemplate` model (`id`, `name`, `subject`, `body`)
|
|
38
|
+
- `EmailTemplates` resource: `all`, `find(id)` — read-only
|
|
39
|
+
- `Printavo::CustomAddress` model (`id`, `name`, `address`, `city`, `state`, `zip`)
|
|
40
|
+
- `CustomAddresses` resource: `all(order_id:)`, `find(id)`, `create(**input)` / `creates(inputs)`,
|
|
41
|
+
`update(id, **input)` / `updates(inputs)`, `delete(id)` / `deletes(ids)`
|
|
42
|
+
- `client.custom_addresses`, `client.email_templates`, `client.mockups`, `client.production_files`
|
|
43
|
+
entry points on `Printavo::Client`
|
|
44
|
+
- 20 new `.graphql` files under `lib/printavo/graphql/`
|
|
45
|
+
- 1 new factory file: `spec/support/factories/media.rb`
|
|
46
|
+
|
|
9
47
|
## [0.11.0] - 2026-03-31
|
|
10
48
|
|
|
11
49
|
### Added
|
data/docs/TODO.md
CHANGED
|
@@ -161,29 +161,29 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
161
161
|
- [x] `Printavo::Category` model (`id`, `name`)
|
|
162
162
|
- [x] `Categories` resource: `all`, `find(id)` — reference data for products/line items
|
|
163
163
|
|
|
164
|
-
### Contractor Profiles
|
|
164
|
+
### Contractor Profiles ✅
|
|
165
165
|
|
|
166
|
-
- [
|
|
167
|
-
- [
|
|
166
|
+
- [x] `Printavo::ContractorProfile` model (`id`, `name`, `email`)
|
|
167
|
+
- [x] `ContractorProfiles` resource: `all`, `find(id)` — contractors assignable to invoices
|
|
168
168
|
|
|
169
|
-
### Custom Addresses
|
|
169
|
+
### Custom Addresses ✅
|
|
170
170
|
|
|
171
|
-
- [
|
|
172
|
-
- [
|
|
173
|
-
- [
|
|
174
|
-
- [
|
|
175
|
-
- [
|
|
171
|
+
- [x] `Printavo::CustomAddress` model (`id`, `name`, `address`, `city`, `state`, `zip`)
|
|
172
|
+
- [x] `CustomAddresses` resource: `all(order_id:)`, `find(id)`, `create`, `update`, `delete`
|
|
173
|
+
- [x] `customAddressCreate` / `customAddressCreates` (bulk) mutations
|
|
174
|
+
- [x] `customAddressUpdate` / `customAddressUpdates` (bulk) mutations
|
|
175
|
+
- [x] `customAddressDelete` / `customAddressDeletes` (bulk) mutations
|
|
176
176
|
|
|
177
|
-
### Delivery Methods
|
|
177
|
+
### Delivery Methods ✅
|
|
178
178
|
|
|
179
|
-
- [
|
|
180
|
-
- [
|
|
181
|
-
- [
|
|
179
|
+
- [x] `Printavo::DeliveryMethod` model (`id`, `name`)
|
|
180
|
+
- [x] `DeliveryMethods` resource: `all`, `find(id)`, `create`, `update`, `archive`
|
|
181
|
+
- [x] `deliveryMethodCreate`, `deliveryMethodUpdate`, `deliveryMethodArchive` mutations
|
|
182
182
|
|
|
183
|
-
### Email Templates
|
|
183
|
+
### Email Templates ✅
|
|
184
184
|
|
|
185
|
-
- [
|
|
186
|
-
- [
|
|
185
|
+
- [x] `Printavo::EmailTemplate` model (`id`, `name`, `subject`, `body`)
|
|
186
|
+
- [x] `EmailTemplates` resource: `all`, `find(id)`
|
|
187
187
|
|
|
188
188
|
### Expenses ✅
|
|
189
189
|
|
|
@@ -233,15 +233,15 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
233
233
|
- [x] `MerchOrders` resource: `all`, `find(id)`
|
|
234
234
|
- [x] `client.merch_stores` / `client.merch_orders` entry points
|
|
235
235
|
|
|
236
|
-
### Mockups & Production Files
|
|
236
|
+
### Mockups & Production Files ✅
|
|
237
237
|
|
|
238
|
-
- [
|
|
239
|
-
- [
|
|
240
|
-
- [
|
|
241
|
-
- [
|
|
242
|
-
- [
|
|
243
|
-
- [
|
|
244
|
-
- [
|
|
238
|
+
- [x] `Printavo::Mockup` model (`id`, `url`, `position`, `created_at`)
|
|
239
|
+
- [x] `Printavo::ProductionFile` model (`id`, `url`, `filename`, `created_at`)
|
|
240
|
+
- [x] `Mockups` resource: `all(order_id:)`, `find(id)`, `delete`, `deletes`
|
|
241
|
+
- [x] `mockupDelete` / `mockupDeletes` (bulk) mutations
|
|
242
|
+
- [x] `ProductionFiles` resource: `all(order_id:)`, `find(id)`, `create`, `creates`, `delete`, `deletes`
|
|
243
|
+
- [x] `productionFileCreate` / `productionFileCreates` (bulk) mutations
|
|
244
|
+
- [x] `productionFileDelete` / `productionFileDeletes` (bulk) mutations
|
|
245
245
|
|
|
246
246
|
### Payments ✅
|
|
247
247
|
|
|
@@ -292,20 +292,20 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
292
292
|
- [x] `TransactionPayments` resource: `create`, `update`, `delete`
|
|
293
293
|
- [x] `transactionPaymentCreate`, `transactionPaymentUpdate`, `transactionPaymentDelete` mutations
|
|
294
294
|
|
|
295
|
-
### Types of Work
|
|
295
|
+
### Types of Work ✅
|
|
296
296
|
|
|
297
|
-
- [
|
|
298
|
-
- [
|
|
297
|
+
- [x] `Printavo::TypeOfWork` model (`id`, `name`)
|
|
298
|
+
- [x] `TypesOfWork` resource: `all` — reference data for order categorization
|
|
299
299
|
|
|
300
|
-
### Users
|
|
300
|
+
### Users ✅
|
|
301
301
|
|
|
302
|
-
- [
|
|
303
|
-
- [
|
|
302
|
+
- [x] `Printavo::User` model (`id`, `first_name`, `last_name`, `email`, `full_name`)
|
|
303
|
+
- [x] `Users` resource: `all`, `find(id)` — shop staff members
|
|
304
304
|
|
|
305
|
-
### Vendors
|
|
305
|
+
### Vendors ✅
|
|
306
306
|
|
|
307
|
-
- [
|
|
308
|
-
- [
|
|
307
|
+
- [x] `Printavo::Vendor` model (`id`, `name`, `email`, `phone`)
|
|
308
|
+
- [x] `Vendors` resource: `all`, `find(id)` — read-only; no create/update/delete in V2 API
|
|
309
309
|
|
|
310
310
|
---
|
|
311
311
|
|
|
@@ -349,20 +349,20 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
349
349
|
- [x] `PresetTasks` resource (`find`, `create`, `update`, `delete`)
|
|
350
350
|
- [x] `PresetTaskGroups` resource (`all`, `find`, `create`, `update`, `delete`, `apply`)
|
|
351
351
|
|
|
352
|
-
### v0.12.0 — Files, Media & Communication
|
|
352
|
+
### v0.12.0 — Files, Media & Communication ✅
|
|
353
353
|
|
|
354
|
-
- [
|
|
355
|
-
- [
|
|
356
|
-
- [
|
|
357
|
-
- [
|
|
354
|
+
- [x] `ProductionFiles` resource (`all`, `find`, `create`/`creates`, `delete`/`deletes`)
|
|
355
|
+
- [x] `Mockups` resource (`all`, `find`, `delete`/`deletes`)
|
|
356
|
+
- [x] `EmailTemplates` resource (`all`, `find`)
|
|
357
|
+
- [x] `CustomAddresses` resource (`all`, `find`, `create`/`creates`, `update`/`updates`, `delete`/`deletes`)
|
|
358
358
|
|
|
359
|
-
### v0.13.0 — People, Orgs & Reference Data
|
|
359
|
+
### v0.13.0 — People, Orgs & Reference Data ✅
|
|
360
360
|
|
|
361
|
-
- [
|
|
362
|
-
- [
|
|
363
|
-
- [
|
|
364
|
-
- [
|
|
365
|
-
- [
|
|
361
|
+
- [x] `Users` resource (`all`, `find`)
|
|
362
|
+
- [x] `Vendors` resource (`all`, `find`) — read-only
|
|
363
|
+
- [x] `ContractorProfiles` resource (`all`, `find`)
|
|
364
|
+
- [x] `DeliveryMethods` resource (`all`, `find`, `create`, `update`, `archive`)
|
|
365
|
+
- [x] `TypesOfWork` resource (`all`)
|
|
366
366
|
|
|
367
367
|
### v0.14.0 — Delete & Duplicate Mutations for Shipped Resources
|
|
368
368
|
|
data/lib/printavo/client.rb
CHANGED
|
@@ -41,10 +41,26 @@ module Printavo
|
|
|
41
41
|
Resources::Contacts.new(@graphql)
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
+
def contractor_profiles
|
|
45
|
+
Resources::ContractorProfiles.new(@graphql)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def custom_addresses
|
|
49
|
+
Resources::CustomAddresses.new(@graphql)
|
|
50
|
+
end
|
|
51
|
+
|
|
44
52
|
def customers
|
|
45
53
|
Resources::Customers.new(@graphql)
|
|
46
54
|
end
|
|
47
55
|
|
|
56
|
+
def delivery_methods
|
|
57
|
+
Resources::DeliveryMethods.new(@graphql)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def email_templates
|
|
61
|
+
Resources::EmailTemplates.new(@graphql)
|
|
62
|
+
end
|
|
63
|
+
|
|
48
64
|
def expenses
|
|
49
65
|
Resources::Expenses.new(@graphql)
|
|
50
66
|
end
|
|
@@ -97,6 +113,10 @@ module Printavo
|
|
|
97
113
|
Resources::MerchStores.new(@graphql)
|
|
98
114
|
end
|
|
99
115
|
|
|
116
|
+
def mockups
|
|
117
|
+
Resources::Mockups.new(@graphql)
|
|
118
|
+
end
|
|
119
|
+
|
|
100
120
|
def orders
|
|
101
121
|
Resources::Orders.new(@graphql)
|
|
102
122
|
end
|
|
@@ -125,6 +145,10 @@ module Printavo
|
|
|
125
145
|
Resources::PricingMatrices.new(@graphql)
|
|
126
146
|
end
|
|
127
147
|
|
|
148
|
+
def production_files
|
|
149
|
+
Resources::ProductionFiles.new(@graphql)
|
|
150
|
+
end
|
|
151
|
+
|
|
128
152
|
def products
|
|
129
153
|
Resources::Products.new(@graphql)
|
|
130
154
|
end
|
|
@@ -148,5 +172,17 @@ module Printavo
|
|
|
148
172
|
def transactions
|
|
149
173
|
Resources::Transactions.new(@graphql)
|
|
150
174
|
end
|
|
175
|
+
|
|
176
|
+
def types_of_work
|
|
177
|
+
Resources::TypesOfWork.new(@graphql)
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
def users
|
|
181
|
+
Resources::Users.new(@graphql)
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def vendors
|
|
185
|
+
Resources::Vendors.new(@graphql)
|
|
186
|
+
end
|
|
151
187
|
end
|
|
152
188
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# lib/printavo/models/custom_address.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
class CustomAddress < Models::Base
|
|
6
|
+
def id = self['id']
|
|
7
|
+
def name = self['name']
|
|
8
|
+
def address = self['address']
|
|
9
|
+
def city = self['city']
|
|
10
|
+
def state = self['state']
|
|
11
|
+
def zip = self['zip']
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# lib/printavo/models/production_file.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
class ProductionFile < Models::Base
|
|
6
|
+
def id = self['id']
|
|
7
|
+
def url = self['url']
|
|
8
|
+
def filename = self['filename']
|
|
9
|
+
def created_at = self['createdAt']
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# lib/printavo/models/user.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
class User < Models::Base
|
|
6
|
+
def id = self['id']
|
|
7
|
+
def first_name = self['firstName']
|
|
8
|
+
def last_name = self['lastName']
|
|
9
|
+
def email = self['email']
|
|
10
|
+
def full_name = "#{first_name} #{last_name}".strip
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# lib/printavo/resources/contractor_profiles.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class ContractorProfiles < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/contractor_profiles/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/contractor_profiles/find.graphql')).freeze
|
|
9
|
+
|
|
10
|
+
def all(first: 25, after: nil)
|
|
11
|
+
fetch_page(first: first, after: after).records
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def find(id)
|
|
15
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
16
|
+
Printavo::ContractorProfile.new(data['contractorProfile'])
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def fetch_page(first: 25, after: nil, **)
|
|
22
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
23
|
+
nodes = data['contractorProfiles']['nodes'].map { |attrs| Printavo::ContractorProfile.new(attrs) }
|
|
24
|
+
page_info = data['contractorProfiles']['pageInfo']
|
|
25
|
+
Printavo::Page.new(
|
|
26
|
+
records: nodes,
|
|
27
|
+
has_next_page: page_info['hasNextPage'],
|
|
28
|
+
end_cursor: page_info['endCursor']
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# lib/printavo/resources/custom_addresses.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class CustomAddresses < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/custom_addresses/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/custom_addresses/find.graphql')).freeze
|
|
9
|
+
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/custom_addresses/create.graphql')).freeze
|
|
10
|
+
CREATES_MUTATION = File.read(File.join(__dir__, '../graphql/custom_addresses/creates.graphql')).freeze
|
|
11
|
+
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/custom_addresses/update.graphql')).freeze
|
|
12
|
+
UPDATES_MUTATION = File.read(File.join(__dir__, '../graphql/custom_addresses/updates.graphql')).freeze
|
|
13
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/custom_addresses/delete.graphql')).freeze
|
|
14
|
+
DELETES_MUTATION = File.read(File.join(__dir__, '../graphql/custom_addresses/deletes.graphql')).freeze
|
|
15
|
+
|
|
16
|
+
def all(order_id:, first: 25, after: nil)
|
|
17
|
+
fetch_page(order_id: order_id, first: first, after: after).records
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def find(id)
|
|
21
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
22
|
+
Printavo::CustomAddress.new(data['customAddress'])
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def create(**input)
|
|
26
|
+
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
|
|
27
|
+
Printavo::CustomAddress.new(data['customAddressCreate'])
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def creates(inputs)
|
|
31
|
+
data = @graphql.mutate(CREATES_MUTATION, variables: { inputs: inputs.map { |i| camelize_keys(i) } })
|
|
32
|
+
data['customAddressCreates'].map { |attrs| Printavo::CustomAddress.new(attrs) }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def update(id, **input)
|
|
36
|
+
data = @graphql.mutate(UPDATE_MUTATION, variables: { id: id.to_s, input: camelize_keys(input) })
|
|
37
|
+
Printavo::CustomAddress.new(data['customAddressUpdate'])
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def updates(inputs)
|
|
41
|
+
data = @graphql.mutate(UPDATES_MUTATION, variables: { inputs: inputs.map { |i| camelize_keys(i) } })
|
|
42
|
+
data['customAddressUpdates'].map { |attrs| Printavo::CustomAddress.new(attrs) }
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def delete(id)
|
|
46
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
47
|
+
nil
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def deletes(ids)
|
|
51
|
+
@graphql.mutate(DELETES_MUTATION, variables: { ids: ids.map(&:to_s) })
|
|
52
|
+
nil
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
|
|
57
|
+
def fetch_page(order_id:, first: 25, after: nil, **)
|
|
58
|
+
data = @graphql.query(
|
|
59
|
+
ALL_QUERY,
|
|
60
|
+
variables: { orderId: order_id.to_s, first: first, after: after }
|
|
61
|
+
)
|
|
62
|
+
nodes = data['order']['customAddresses']['nodes'].map { |attrs| Printavo::CustomAddress.new(attrs) }
|
|
63
|
+
page_info = data['order']['customAddresses']['pageInfo']
|
|
64
|
+
Printavo::Page.new(
|
|
65
|
+
records: nodes,
|
|
66
|
+
has_next_page: page_info['hasNextPage'],
|
|
67
|
+
end_cursor: page_info['endCursor']
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# lib/printavo/resources/delivery_methods.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class DeliveryMethods < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/delivery_methods/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/delivery_methods/find.graphql')).freeze
|
|
9
|
+
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/delivery_methods/create.graphql')).freeze
|
|
10
|
+
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/delivery_methods/update.graphql')).freeze
|
|
11
|
+
ARCHIVE_MUTATION = File.read(File.join(__dir__, '../graphql/delivery_methods/archive.graphql')).freeze
|
|
12
|
+
|
|
13
|
+
def all(first: 25, after: nil)
|
|
14
|
+
fetch_page(first: first, after: after).records
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def find(id)
|
|
18
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
19
|
+
Printavo::DeliveryMethod.new(data['deliveryMethod'])
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def create(**input)
|
|
23
|
+
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
|
|
24
|
+
Printavo::DeliveryMethod.new(data['deliveryMethodCreate'])
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def update(id, **input)
|
|
28
|
+
data = @graphql.mutate(UPDATE_MUTATION, variables: { id: id.to_s, input: camelize_keys(input) })
|
|
29
|
+
Printavo::DeliveryMethod.new(data['deliveryMethodUpdate'])
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def archive(id)
|
|
33
|
+
@graphql.mutate(ARCHIVE_MUTATION, variables: { id: id.to_s })
|
|
34
|
+
nil
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
def fetch_page(first: 25, after: nil, **)
|
|
40
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
41
|
+
nodes = data['deliveryMethods']['nodes'].map { |attrs| Printavo::DeliveryMethod.new(attrs) }
|
|
42
|
+
page_info = data['deliveryMethods']['pageInfo']
|
|
43
|
+
Printavo::Page.new(
|
|
44
|
+
records: nodes,
|
|
45
|
+
has_next_page: page_info['hasNextPage'],
|
|
46
|
+
end_cursor: page_info['endCursor']
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# lib/printavo/resources/email_templates.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class EmailTemplates < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/email_templates/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/email_templates/find.graphql')).freeze
|
|
9
|
+
|
|
10
|
+
def all(first: 25, after: nil)
|
|
11
|
+
fetch_page(first: first, after: after).records
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def find(id)
|
|
15
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
16
|
+
Printavo::EmailTemplate.new(data['emailTemplate'])
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def fetch_page(first: 25, after: nil, **)
|
|
22
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
23
|
+
nodes = data['emailTemplates']['nodes'].map { |attrs| Printavo::EmailTemplate.new(attrs) }
|
|
24
|
+
page_info = data['emailTemplates']['pageInfo']
|
|
25
|
+
Printavo::Page.new(
|
|
26
|
+
records: nodes,
|
|
27
|
+
has_next_page: page_info['hasNextPage'],
|
|
28
|
+
end_cursor: page_info['endCursor']
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# lib/printavo/resources/mockups.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class Mockups < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/mockups/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/mockups/find.graphql')).freeze
|
|
9
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/mockups/delete.graphql')).freeze
|
|
10
|
+
DELETES_MUTATION = File.read(File.join(__dir__, '../graphql/mockups/deletes.graphql')).freeze
|
|
11
|
+
|
|
12
|
+
def all(order_id:, first: 25, after: nil)
|
|
13
|
+
fetch_page(order_id: order_id, first: first, after: after).records
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def find(id)
|
|
17
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
18
|
+
Printavo::Mockup.new(data['mockup'])
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def delete(id)
|
|
22
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
23
|
+
nil
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def deletes(ids)
|
|
27
|
+
@graphql.mutate(DELETES_MUTATION, variables: { ids: ids.map(&:to_s) })
|
|
28
|
+
nil
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def fetch_page(order_id:, first: 25, after: nil, **)
|
|
34
|
+
data = @graphql.query(
|
|
35
|
+
ALL_QUERY,
|
|
36
|
+
variables: { orderId: order_id.to_s, first: first, after: after }
|
|
37
|
+
)
|
|
38
|
+
nodes = data['order']['mockups']['nodes'].map { |attrs| Printavo::Mockup.new(attrs) }
|
|
39
|
+
page_info = data['order']['mockups']['pageInfo']
|
|
40
|
+
Printavo::Page.new(
|
|
41
|
+
records: nodes,
|
|
42
|
+
has_next_page: page_info['hasNextPage'],
|
|
43
|
+
end_cursor: page_info['endCursor']
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# lib/printavo/resources/production_files.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class ProductionFiles < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/production_files/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/production_files/find.graphql')).freeze
|
|
9
|
+
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/production_files/create.graphql')).freeze
|
|
10
|
+
CREATES_MUTATION = File.read(File.join(__dir__, '../graphql/production_files/creates.graphql')).freeze
|
|
11
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/production_files/delete.graphql')).freeze
|
|
12
|
+
DELETES_MUTATION = File.read(File.join(__dir__, '../graphql/production_files/deletes.graphql')).freeze
|
|
13
|
+
|
|
14
|
+
def all(order_id:, first: 25, after: nil)
|
|
15
|
+
fetch_page(order_id: order_id, first: first, after: after).records
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def find(id)
|
|
19
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
20
|
+
Printavo::ProductionFile.new(data['productionFile'])
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def create(**input)
|
|
24
|
+
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
|
|
25
|
+
Printavo::ProductionFile.new(data['productionFileCreate'])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def creates(inputs)
|
|
29
|
+
data = @graphql.mutate(CREATES_MUTATION, variables: { inputs: inputs.map { |i| camelize_keys(i) } })
|
|
30
|
+
data['productionFileCreates'].map { |attrs| Printavo::ProductionFile.new(attrs) }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def delete(id)
|
|
34
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
35
|
+
nil
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def deletes(ids)
|
|
39
|
+
@graphql.mutate(DELETES_MUTATION, variables: { ids: ids.map(&:to_s) })
|
|
40
|
+
nil
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
private
|
|
44
|
+
|
|
45
|
+
def fetch_page(order_id:, first: 25, after: nil, **)
|
|
46
|
+
data = @graphql.query(
|
|
47
|
+
ALL_QUERY,
|
|
48
|
+
variables: { orderId: order_id.to_s, first: first, after: after }
|
|
49
|
+
)
|
|
50
|
+
nodes = data['order']['productionFiles']['nodes'].map { |attrs| Printavo::ProductionFile.new(attrs) }
|
|
51
|
+
page_info = data['order']['productionFiles']['pageInfo']
|
|
52
|
+
Printavo::Page.new(
|
|
53
|
+
records: nodes,
|
|
54
|
+
has_next_page: page_info['hasNextPage'],
|
|
55
|
+
end_cursor: page_info['endCursor']
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# lib/printavo/resources/types_of_work.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class TypesOfWork < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/types_of_work/all.graphql')).freeze
|
|
8
|
+
|
|
9
|
+
def all(first: 25, after: nil)
|
|
10
|
+
fetch_page(first: first, after: after).records
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def fetch_page(first: 25, after: nil, **)
|
|
16
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
17
|
+
nodes = data['typesOfWork']['nodes'].map { |attrs| Printavo::TypeOfWork.new(attrs) }
|
|
18
|
+
page_info = data['typesOfWork']['pageInfo']
|
|
19
|
+
Printavo::Page.new(
|
|
20
|
+
records: nodes,
|
|
21
|
+
has_next_page: page_info['hasNextPage'],
|
|
22
|
+
end_cursor: page_info['endCursor']
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# lib/printavo/resources/users.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class Users < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/users/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/users/find.graphql')).freeze
|
|
9
|
+
|
|
10
|
+
def all(first: 25, after: nil)
|
|
11
|
+
fetch_page(first: first, after: after).records
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def find(id)
|
|
15
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
16
|
+
Printavo::User.new(data['user'])
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def fetch_page(first: 25, after: nil, **)
|
|
22
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
23
|
+
nodes = data['users']['nodes'].map { |attrs| Printavo::User.new(attrs) }
|
|
24
|
+
page_info = data['users']['pageInfo']
|
|
25
|
+
Printavo::Page.new(
|
|
26
|
+
records: nodes,
|
|
27
|
+
has_next_page: page_info['hasNextPage'],
|
|
28
|
+
end_cursor: page_info['endCursor']
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# lib/printavo/resources/vendors.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class Vendors < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/vendors/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/vendors/find.graphql')).freeze
|
|
9
|
+
|
|
10
|
+
def all(first: 25, after: nil)
|
|
11
|
+
fetch_page(first: first, after: after).records
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def find(id)
|
|
15
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
16
|
+
Printavo::Vendor.new(data['vendor'])
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def fetch_page(first: 25, after: nil, **)
|
|
22
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
23
|
+
nodes = data['vendors']['nodes'].map { |attrs| Printavo::Vendor.new(attrs) }
|
|
24
|
+
page_info = data['vendors']['pageInfo']
|
|
25
|
+
Printavo::Page.new(
|
|
26
|
+
records: nodes,
|
|
27
|
+
has_next_page: page_info['hasNextPage'],
|
|
28
|
+
end_cursor: page_info['endCursor']
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
data/lib/printavo/version.rb
CHANGED
data/lib/printavo.rb
CHANGED
|
@@ -16,7 +16,11 @@ require_relative 'printavo/models/account'
|
|
|
16
16
|
require_relative 'printavo/models/approval_request'
|
|
17
17
|
require_relative 'printavo/models/category'
|
|
18
18
|
require_relative 'printavo/models/contact'
|
|
19
|
+
require_relative 'printavo/models/contractor_profile'
|
|
20
|
+
require_relative 'printavo/models/custom_address'
|
|
19
21
|
require_relative 'printavo/models/customer'
|
|
22
|
+
require_relative 'printavo/models/delivery_method'
|
|
23
|
+
require_relative 'printavo/models/email_template'
|
|
20
24
|
require_relative 'printavo/models/expense'
|
|
21
25
|
require_relative 'printavo/models/fee'
|
|
22
26
|
require_relative 'printavo/models/imprint'
|
|
@@ -27,6 +31,7 @@ require_relative 'printavo/models/line_item'
|
|
|
27
31
|
require_relative 'printavo/models/line_item_group'
|
|
28
32
|
require_relative 'printavo/models/merch_order'
|
|
29
33
|
require_relative 'printavo/models/merch_store'
|
|
34
|
+
require_relative 'printavo/models/mockup'
|
|
30
35
|
require_relative 'printavo/models/order'
|
|
31
36
|
require_relative 'printavo/models/payment'
|
|
32
37
|
require_relative 'printavo/models/payment_request'
|
|
@@ -35,17 +40,25 @@ require_relative 'printavo/models/preset_task'
|
|
|
35
40
|
require_relative 'printavo/models/preset_task_group'
|
|
36
41
|
require_relative 'printavo/models/pricing_matrix'
|
|
37
42
|
require_relative 'printavo/models/product'
|
|
43
|
+
require_relative 'printavo/models/production_file'
|
|
38
44
|
require_relative 'printavo/models/status'
|
|
39
45
|
require_relative 'printavo/models/task'
|
|
40
46
|
require_relative 'printavo/models/thread'
|
|
41
47
|
require_relative 'printavo/models/transaction'
|
|
42
48
|
require_relative 'printavo/models/transaction_payment'
|
|
49
|
+
require_relative 'printavo/models/type_of_work'
|
|
50
|
+
require_relative 'printavo/models/user'
|
|
51
|
+
require_relative 'printavo/models/vendor'
|
|
43
52
|
require_relative 'printavo/resources/base'
|
|
44
53
|
require_relative 'printavo/resources/account'
|
|
45
54
|
require_relative 'printavo/resources/approval_requests'
|
|
46
55
|
require_relative 'printavo/resources/categories'
|
|
47
56
|
require_relative 'printavo/resources/contacts'
|
|
57
|
+
require_relative 'printavo/resources/contractor_profiles'
|
|
58
|
+
require_relative 'printavo/resources/custom_addresses'
|
|
48
59
|
require_relative 'printavo/resources/customers'
|
|
60
|
+
require_relative 'printavo/resources/delivery_methods'
|
|
61
|
+
require_relative 'printavo/resources/email_templates'
|
|
49
62
|
require_relative 'printavo/resources/expenses'
|
|
50
63
|
require_relative 'printavo/resources/fees'
|
|
51
64
|
require_relative 'printavo/resources/imprints'
|
|
@@ -56,6 +69,7 @@ require_relative 'printavo/resources/line_item_groups'
|
|
|
56
69
|
require_relative 'printavo/resources/line_items'
|
|
57
70
|
require_relative 'printavo/resources/merch_orders'
|
|
58
71
|
require_relative 'printavo/resources/merch_stores'
|
|
72
|
+
require_relative 'printavo/resources/mockups'
|
|
59
73
|
require_relative 'printavo/resources/orders'
|
|
60
74
|
require_relative 'printavo/resources/payment_requests'
|
|
61
75
|
require_relative 'printavo/resources/payment_terms'
|
|
@@ -63,12 +77,16 @@ require_relative 'printavo/resources/payments'
|
|
|
63
77
|
require_relative 'printavo/resources/preset_task_groups'
|
|
64
78
|
require_relative 'printavo/resources/preset_tasks'
|
|
65
79
|
require_relative 'printavo/resources/pricing_matrices'
|
|
80
|
+
require_relative 'printavo/resources/production_files'
|
|
66
81
|
require_relative 'printavo/resources/products'
|
|
67
82
|
require_relative 'printavo/resources/statuses'
|
|
68
83
|
require_relative 'printavo/resources/tasks'
|
|
69
84
|
require_relative 'printavo/resources/threads'
|
|
70
85
|
require_relative 'printavo/resources/transaction_payments'
|
|
71
86
|
require_relative 'printavo/resources/transactions'
|
|
87
|
+
require_relative 'printavo/resources/types_of_work'
|
|
88
|
+
require_relative 'printavo/resources/users'
|
|
89
|
+
require_relative 'printavo/resources/vendors'
|
|
72
90
|
require_relative 'printavo/webhooks'
|
|
73
91
|
require_relative 'printavo/client'
|
|
74
92
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: printavo-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stan Carver II
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-04-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -277,7 +277,11 @@ files:
|
|
|
277
277
|
- lib/printavo/models/base.rb
|
|
278
278
|
- lib/printavo/models/category.rb
|
|
279
279
|
- lib/printavo/models/contact.rb
|
|
280
|
+
- lib/printavo/models/contractor_profile.rb
|
|
281
|
+
- lib/printavo/models/custom_address.rb
|
|
280
282
|
- lib/printavo/models/customer.rb
|
|
283
|
+
- lib/printavo/models/delivery_method.rb
|
|
284
|
+
- lib/printavo/models/email_template.rb
|
|
281
285
|
- lib/printavo/models/expense.rb
|
|
282
286
|
- lib/printavo/models/fee.rb
|
|
283
287
|
- lib/printavo/models/imprint.rb
|
|
@@ -288,6 +292,7 @@ files:
|
|
|
288
292
|
- lib/printavo/models/line_item_group.rb
|
|
289
293
|
- lib/printavo/models/merch_order.rb
|
|
290
294
|
- lib/printavo/models/merch_store.rb
|
|
295
|
+
- lib/printavo/models/mockup.rb
|
|
291
296
|
- lib/printavo/models/order.rb
|
|
292
297
|
- lib/printavo/models/payment.rb
|
|
293
298
|
- lib/printavo/models/payment_request.rb
|
|
@@ -296,18 +301,26 @@ files:
|
|
|
296
301
|
- lib/printavo/models/preset_task_group.rb
|
|
297
302
|
- lib/printavo/models/pricing_matrix.rb
|
|
298
303
|
- lib/printavo/models/product.rb
|
|
304
|
+
- lib/printavo/models/production_file.rb
|
|
299
305
|
- lib/printavo/models/status.rb
|
|
300
306
|
- lib/printavo/models/task.rb
|
|
301
307
|
- lib/printavo/models/thread.rb
|
|
302
308
|
- lib/printavo/models/transaction.rb
|
|
303
309
|
- lib/printavo/models/transaction_payment.rb
|
|
310
|
+
- lib/printavo/models/type_of_work.rb
|
|
311
|
+
- lib/printavo/models/user.rb
|
|
312
|
+
- lib/printavo/models/vendor.rb
|
|
304
313
|
- lib/printavo/page.rb
|
|
305
314
|
- lib/printavo/resources/account.rb
|
|
306
315
|
- lib/printavo/resources/approval_requests.rb
|
|
307
316
|
- lib/printavo/resources/base.rb
|
|
308
317
|
- lib/printavo/resources/categories.rb
|
|
309
318
|
- lib/printavo/resources/contacts.rb
|
|
319
|
+
- lib/printavo/resources/contractor_profiles.rb
|
|
320
|
+
- lib/printavo/resources/custom_addresses.rb
|
|
310
321
|
- lib/printavo/resources/customers.rb
|
|
322
|
+
- lib/printavo/resources/delivery_methods.rb
|
|
323
|
+
- lib/printavo/resources/email_templates.rb
|
|
311
324
|
- lib/printavo/resources/expenses.rb
|
|
312
325
|
- lib/printavo/resources/fees.rb
|
|
313
326
|
- lib/printavo/resources/imprints.rb
|
|
@@ -318,6 +331,7 @@ files:
|
|
|
318
331
|
- lib/printavo/resources/line_items.rb
|
|
319
332
|
- lib/printavo/resources/merch_orders.rb
|
|
320
333
|
- lib/printavo/resources/merch_stores.rb
|
|
334
|
+
- lib/printavo/resources/mockups.rb
|
|
321
335
|
- lib/printavo/resources/orders.rb
|
|
322
336
|
- lib/printavo/resources/payment_requests.rb
|
|
323
337
|
- lib/printavo/resources/payment_terms.rb
|
|
@@ -325,12 +339,16 @@ files:
|
|
|
325
339
|
- lib/printavo/resources/preset_task_groups.rb
|
|
326
340
|
- lib/printavo/resources/preset_tasks.rb
|
|
327
341
|
- lib/printavo/resources/pricing_matrices.rb
|
|
342
|
+
- lib/printavo/resources/production_files.rb
|
|
328
343
|
- lib/printavo/resources/products.rb
|
|
329
344
|
- lib/printavo/resources/statuses.rb
|
|
330
345
|
- lib/printavo/resources/tasks.rb
|
|
331
346
|
- lib/printavo/resources/threads.rb
|
|
332
347
|
- lib/printavo/resources/transaction_payments.rb
|
|
333
348
|
- lib/printavo/resources/transactions.rb
|
|
349
|
+
- lib/printavo/resources/types_of_work.rb
|
|
350
|
+
- lib/printavo/resources/users.rb
|
|
351
|
+
- lib/printavo/resources/vendors.rb
|
|
334
352
|
- lib/printavo/version.rb
|
|
335
353
|
- lib/printavo/webhooks.rb
|
|
336
354
|
homepage: https://github.com/scarver2/printavo-ruby
|