Module: Paperdrive::Client::Products
Overview
Instance methods related to Products to embed into Paperdrive::Client
arguments are compatible with the Pipedribe API.
Instance Method Summary collapse
-
#all_products(**args) ⇒ Paperdrive::Response
- GET
-
Get all products.
-
#create_product(**args) ⇒ Paperdrive::Response
- POST
-
Add a product.
-
#create_product_follower(id:, **args) ⇒ Paperdrive::Response
- POST
-
Add a follower to a product.
-
#delete_product(id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a product.
-
#delete_product_follower(id:, follower_id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a follower from a product.
-
#find_products_by_name(**args) ⇒ Paperdrive::Response
- GET
-
Find products by name.
-
#product(id:, **args) ⇒ Paperdrive::Response
- GET
-
Get one product.
-
#product_deals(id:, **args) ⇒ Paperdrive::Response
- GET
-
Get deals where a product is attached to.
-
#product_files(id:, **args) ⇒ Paperdrive::Response
- GET
-
List files attached to a product.
-
#product_followers(id:, **args) ⇒ Paperdrive::Response
- GET
-
List followers of a product.
-
#product_permitted_users(id:, **args) ⇒ Paperdrive::Response
- GET
-
List permitted users.
-
#update_product(id:, **args) ⇒ Paperdrive::Response
- PUT
-
Update a product.
Instance Method Details
#all_products(**args) ⇒ Paperdrive::Response
- GET
-
Get all products
18 19 20 21 22 23 |
# File 'lib/paperdrive/client/products.rb', line 18 def all_products(**args) params = parameters(args) do optional_params :user_id, :filter_id, :first_char, :start, :limit end request(:get, 'products', params) end |
#create_product(**args) ⇒ Paperdrive::Response
- POST
-
Add a product
101 102 103 104 105 106 107 |
# File 'lib/paperdrive/client/products.rb', line 101 def create_product(**args) params = parameters(args) do required_params :name optional_params :name, :code, :unit, :tax, :active_flag, :visible_to, :owner_id, :prices end request(:post, 'products', params) end |
#create_product_follower(id:, **args) ⇒ Paperdrive::Response
- POST
-
Add a follower to a product
114 115 116 117 118 119 120 |
# File 'lib/paperdrive/client/products.rb', line 114 def create_product_follower(id:, **args) params = parameters(args) do required_params :user_id optional_params :user_id end request(:post, "products/#{id}/followers", params) end |
#delete_product(id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a product
139 140 141 142 143 144 |
# File 'lib/paperdrive/client/products.rb', line 139 def delete_product(id:, **args) params = parameters(args) do optional_params end request(:delete, "products/#{id}", params) end |
#delete_product_follower(id:, follower_id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a follower from a product
152 153 154 155 156 157 |
# File 'lib/paperdrive/client/products.rb', line 152 def delete_product_follower(id:, follower_id:, **args) params = parameters(args) do optional_params end request(:delete, "products/#{id}/followers/#{follower_id}", params) end |
#find_products_by_name(**args) ⇒ Paperdrive::Response
- GET
-
Find products by name
29 30 31 32 33 34 35 |
# File 'lib/paperdrive/client/products.rb', line 29 def find_products_by_name(**args) params = parameters(args) do required_params :term optional_params :term, :currency, :start, :limit end request(:get, 'products/find', params) end |
#product(id:, **args) ⇒ Paperdrive::Response
- GET
-
Get one product
42 43 44 45 46 47 |
# File 'lib/paperdrive/client/products.rb', line 42 def product(id:, **args) params = parameters(args) do optional_params end request(:get, "products/#{id}", params) end |
#product_deals(id:, **args) ⇒ Paperdrive::Response
- GET
-
Get deals where a product is attached to
54 55 56 57 58 59 |
# File 'lib/paperdrive/client/products.rb', line 54 def product_deals(id:, **args) params = parameters(args) do optional_params :start, :limit, :status end request(:get, "products/#{id}/deals", params) end |
#product_files(id:, **args) ⇒ Paperdrive::Response
- GET
-
List files attached to a product
66 67 68 69 70 71 |
# File 'lib/paperdrive/client/products.rb', line 66 def product_files(id:, **args) params = parameters(args) do optional_params :start, :limit, :include_deleted_files, :sort end request(:get, "products/#{id}/files", params) end |
#product_followers(id:, **args) ⇒ Paperdrive::Response
- GET
-
List followers of a product
78 79 80 81 82 83 |
# File 'lib/paperdrive/client/products.rb', line 78 def product_followers(id:, **args) params = parameters(args) do optional_params end request(:get, "products/#{id}/followers", params) end |
#product_permitted_users(id:, **args) ⇒ Paperdrive::Response
- GET
-
List permitted users
90 91 92 93 94 95 |
# File 'lib/paperdrive/client/products.rb', line 90 def product_permitted_users(id:, **args) params = parameters(args) do optional_params :access_level end request(:get, "products/#{id}/permittedUsers", params) end |
#update_product(id:, **args) ⇒ Paperdrive::Response
- PUT
-
Update a product
127 128 129 130 131 132 |
# File 'lib/paperdrive/client/products.rb', line 127 def update_product(id:, **args) params = parameters(args) do optional_params :name, :code, :unit, :tax, :active_flag, :visible_to, :owner_id, :prices end request(:put, "products/#{id}", params) end |