Class: WhopSDK::Resources::Experiences
- Inherits:
-
Object
- Object
- WhopSDK::Resources::Experiences
- Defined in:
- lib/whop_sdk/resources/experiences.rb,
sig/whop_sdk/resources/experiences.rbs
Instance Method Summary collapse
-
#attach(id, product_id:, request_options: {}) ⇒ WhopSDK::Models::Experience
Attach an experience to a product, making it accessible to the product's customers.
-
#create(app_id:, company_id:, is_public: nil, logo: nil, name: nil, section_id: nil, request_options: {}) ⇒ WhopSDK::Models::Experience
Required permissions:.
-
#delete(id, request_options: {}) ⇒ Boolean
Required permissions:.
-
#detach(id, product_id:, request_options: {}) ⇒ WhopSDK::Models::Experience
Detach an experience from a product, removing customer access to it through that product.
-
#duplicate(id, name: nil, request_options: {}) ⇒ WhopSDK::Models::Experience
Some parameter documentations has been truncated, see Models::ExperienceDuplicateParams for more details.
-
#initialize(client:) ⇒ Experiences
constructor
private
A new instance of Experiences.
-
#list(company_id:, after: nil, app_id: nil, before: nil, created_after: nil, created_before: nil, first: nil, last: nil, product_id: nil, request_options: {}) ⇒ WhopSDK::Internal::CursorPage<WhopSDK::Models::ExperienceListResponse>
Returns a paginated list of experiences belonging to a company, with optional filtering by product and app.
-
#retrieve(id, request_options: {}) ⇒ WhopSDK::Models::Experience
Retrieves the details of an existing experience.
-
#update(id, access_level: nil, is_public: nil, logo: nil, name: nil, order: nil, section_id: nil, request_options: {}) ⇒ WhopSDK::Models::Experience
Required permissions:.
Constructor Details
#initialize(client:) ⇒ Experiences
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Experiences.
256 257 258 |
# File 'lib/whop_sdk/resources/experiences.rb', line 256 def initialize(client:) @client = client end |
Instance Method Details
#attach(id, product_id:, request_options: {}) ⇒ WhopSDK::Models::Experience
Attach an experience to a product, making it accessible to the product's customers.
Required permissions:
experience:attach
177 178 179 180 181 182 183 184 185 186 |
# File 'lib/whop_sdk/resources/experiences.rb', line 177 def attach(id, params) parsed, = WhopSDK::ExperienceAttachParams.dump_request(params) @client.request( method: :post, path: ["experiences/%1$s/attach", id], body: parsed, model: WhopSDK::Experience, options: ) end |
#create(app_id:, company_id:, is_public: nil, logo: nil, name: nil, section_id: nil, request_options: {}) ⇒ WhopSDK::Models::Experience
Required permissions:
experience:create
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/whop_sdk/resources/experiences.rb', line 29 def create(params) parsed, = WhopSDK::ExperienceCreateParams.dump_request(params) @client.request( method: :post, path: "experiences", body: parsed, model: WhopSDK::Experience, options: ) end |
#delete(id, request_options: {}) ⇒ Boolean
Required permissions:
experience:delete
150 151 152 153 154 155 156 157 |
# File 'lib/whop_sdk/resources/experiences.rb', line 150 def delete(id, params = {}) @client.request( method: :delete, path: ["experiences/%1$s", id], model: WhopSDK::Internal::Type::Boolean, options: params[:request_options] ) end |
#detach(id, product_id:, request_options: {}) ⇒ WhopSDK::Models::Experience
Detach an experience from a product, removing customer access to it through that product.
Required permissions:
experience:detach
206 207 208 209 210 211 212 213 214 215 |
# File 'lib/whop_sdk/resources/experiences.rb', line 206 def detach(id, params) parsed, = WhopSDK::ExperienceDetachParams.dump_request(params) @client.request( method: :post, path: ["experiences/%1$s/detach", id], body: parsed, model: WhopSDK::Experience, options: ) end |
#duplicate(id, name: nil, request_options: {}) ⇒ WhopSDK::Models::Experience
Some parameter documentations has been truncated, see Models::ExperienceDuplicateParams for more details.
Duplicates an existing experience. The name will be copied, unless provided. The new experience will be attached to the same products as the original experience. If duplicating a Forum or Chat experience, the new experience will have the same settings as the original experience, e.g. who can post, who can comment, etc. No content, e.g. posts, messages, lessons from within the original experience will be copied.
Required permissions:
experience:create
242 243 244 245 246 247 248 249 250 251 |
# File 'lib/whop_sdk/resources/experiences.rb', line 242 def duplicate(id, params = {}) parsed, = WhopSDK::ExperienceDuplicateParams.dump_request(params) @client.request( method: :post, path: ["experiences/%1$s/duplicate", id], body: parsed, model: WhopSDK::Experience, options: ) end |
#list(company_id:, after: nil, app_id: nil, before: nil, created_after: nil, created_before: nil, first: nil, last: nil, product_id: nil, request_options: {}) ⇒ WhopSDK::Internal::CursorPage<WhopSDK::Models::ExperienceListResponse>
Returns a paginated list of experiences belonging to a company, with optional filtering by product and app.
124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/whop_sdk/resources/experiences.rb', line 124 def list(params) parsed, = WhopSDK::ExperienceListParams.dump_request(params) query = WhopSDK::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "experiences", query: query, page: WhopSDK::Internal::CursorPage, model: WhopSDK::Models::ExperienceListResponse, options: ) end |
#retrieve(id, request_options: {}) ⇒ WhopSDK::Models::Experience
Retrieves the details of an existing experience.
51 52 53 54 55 56 57 58 |
# File 'lib/whop_sdk/resources/experiences.rb', line 51 def retrieve(id, params = {}) @client.request( method: :get, path: ["experiences/%1$s", id], model: WhopSDK::Experience, options: params[:request_options] ) end |
#update(id, access_level: nil, is_public: nil, logo: nil, name: nil, order: nil, section_id: nil, request_options: {}) ⇒ WhopSDK::Models::Experience
Required permissions:
experience:update
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/whop_sdk/resources/experiences.rb', line 85 def update(id, params = {}) parsed, = WhopSDK::ExperienceUpdateParams.dump_request(params) @client.request( method: :patch, path: ["experiences/%1$s", id], body: parsed, model: WhopSDK::Experience, options: ) end |