Class: WhopSDK::Resources::Experiences
- Inherits:
-
Object
- Object
- WhopSDK::Resources::Experiences
- Defined in:
- lib/whop_sdk/resources/experiences.rb
Overview
Experiences
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.
257 258 259 |
# File 'lib/whop_sdk/resources/experiences.rb', line 257 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`
178 179 180 181 182 183 184 185 186 187 |
# File 'lib/whop_sdk/resources/experiences.rb', line 178 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`
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/whop_sdk/resources/experiences.rb', line 30 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`
151 152 153 154 155 156 157 158 |
# File 'lib/whop_sdk/resources/experiences.rb', line 151 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`
207 208 209 210 211 212 213 214 215 216 |
# File 'lib/whop_sdk/resources/experiences.rb', line 207 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`
243 244 245 246 247 248 249 250 251 252 |
# File 'lib/whop_sdk/resources/experiences.rb', line 243 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.
125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/whop_sdk/resources/experiences.rb', line 125 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.
52 53 54 55 56 57 58 59 |
# File 'lib/whop_sdk/resources/experiences.rb', line 52 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`
86 87 88 89 90 91 92 93 94 95 |
# File 'lib/whop_sdk/resources/experiences.rb', line 86 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 |