@ophelio/sdk 0.2.1 → 0.3.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.
package/README.md CHANGED
@@ -153,23 +153,23 @@ collection is written to while you iterate. Paginated methods are marked
153
153
 
154
154
  Everything reachable with an API key is covered:
155
155
 
156
- | Namespace | Methods |
157
- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
158
- | `admit` | `check({ card })` |
159
- | `members` | `sync({ since? })`, `get(id)`, `listEntitlements(id, { type? })`, `reissueCard(id, { note? })` |
160
- | `memberships` | `list(params?)`, `get(id)`, `create(...)`, `update(id, ...)`, `cancel(id, ...)`, `uncancel(id)`, `renew(id, ...)`, `upgrade(id, ...)`, `downgrade(id, ...)`, `listMembers(id)`, `listScheduledChanges(id, params?)`, `cancelScheduledChange(id, changeId)`, `listTransactions(id, params?)`, `listTermTransactions(id, termId, params?)`, `createTransaction(id, ...)` |
161
- | `customers` | `list(params?)`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)`, `listMemberships(id, params?)` |
162
- | `entitlements` | `redeem(...)`, `recordUsage(...)`, `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
163
- | `plans` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)`, `listBillingOptions(id)`, `createBillingOption(id, ...)`, `listEntitlements(id)`, `createEntitlement(id, ...)`, `listPlanLinks(id)`, `createPlanLink(id, ...)`, `listPricingGroupMappings(id)`, `createPricingGroupMapping(id, ...)` |
164
- | `billingOptions` | `list()`, `get(id)`, `update(id, ...)`, `delete(id)`, `listSalesChannels(id)`, `createSalesChannelLink(id, ...)` |
165
- | `memberRoles` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
166
- | `pricingGroups` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
167
- | `salesChannels` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
168
- | `planEntitlements` | `get(id)`, `update(id, ...)`, `delete(id)` |
169
- | `planLinks` | `delete(id)` |
170
- | `planPricingGroupMappings` | `delete(id)` |
171
- | `billingOptionSalesChannels` | `delete(id)` |
172
- | `webhookSubscriptions` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)`, `listDeliveries(id, params?)` |
156
+ | Namespace | Methods |
157
+ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
158
+ | `admit` | `check({ card })` |
159
+ | `members` | `sync({ since? })`, `get(id)`, `listEntitlements(id, { type? })`, `update(id, ...)`, `remove(id)`, `setPrimary(id)`, `reissueCard(id, { note? })` |
160
+ | `memberships` | `list(params?)`, `get(id)`, `create(...)`, `update(id, ...)`, `cancel(id, ...)`, `uncancel(id)`, `renew(id, ...)`, `upgrade(id, ...)`, `downgrade(id, ...)`, `listMembers(id)`, `addMember(id, ...)`, `listScheduledChanges(id, params?)`, `cancelScheduledChange(id, changeId)`, `listTransactions(id, params?)`, `listTermTransactions(id, termId, params?)`, `createTransaction(id, ...)` |
161
+ | `customers` | `list(params?)`, `get(id, params?)`, `create(...)`, `update(id, ...)`, `delete(id)`, `listMemberships(id, params?)` — `list`/`get` accept `view: 'full'` to include `membership_summary` |
162
+ | `entitlements` | `redeem(...)`, `recordUsage(...)`, `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
163
+ | `plans` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)`, `listBillingOptions(id)`, `createBillingOption(id, ...)`, `listEntitlements(id)`, `createEntitlement(id, ...)`, `listPlanLinks(id)`, `createPlanLink(id, ...)`, `listPricingGroupMappings(id)`, `createPricingGroupMapping(id, ...)` |
164
+ | `billingOptions` | `list()`, `get(id)`, `update(id, ...)`, `delete(id)`, `listSalesChannels(id)`, `createSalesChannelLink(id, ...)` |
165
+ | `memberRoles` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
166
+ | `pricingGroups` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
167
+ | `salesChannels` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)` |
168
+ | `planEntitlements` | `get(id)`, `update(id, ...)`, `delete(id)` |
169
+ | `planLinks` | `delete(id)` |
170
+ | `planPricingGroupMappings` | `delete(id)` |
171
+ | `billingOptionSalesChannels` | `delete(id)` |
172
+ | `webhookSubscriptions` | `list()`, `get(id)`, `create(...)`, `update(id, ...)`, `delete(id)`, `listDeliveries(id, params?)` |
173
173
 
174
174
  Every method accepts a trailing `options` argument: `{ signal?, headers? }`
175
175
  (plus `idempotencyKey?` on the idempotency-keyed mutations: `memberships.create`
package/dist/index.cjs CHANGED
@@ -316,11 +316,17 @@ var BillingOptionsResource = class extends APIResource {
316
316
  //#endregion
317
317
  //#region src/resources/customers.ts
318
318
  var CustomersResource = class extends APIResource {
319
+ /**
320
+ * Pass `view: 'full'` to include `membership_summary` on every customer.
321
+ */
319
322
  async list(params, options) {
320
323
  const response = await this.transport.request({
321
324
  method: "GET",
322
325
  path: "/api/v1/customers",
323
- query: pageQuery(params),
326
+ query: {
327
+ ...pageQuery(params),
328
+ ...params?.view ? { view: params.view } : {}
329
+ },
324
330
  retryable: true,
325
331
  options
326
332
  });
@@ -330,10 +336,14 @@ var CustomersResource = class extends APIResource {
330
336
  total_size: response.total_size
331
337
  };
332
338
  }
333
- get(id, options) {
339
+ /**
340
+ * Pass `view: 'full'` to include `membership_summary`.
341
+ */
342
+ get(id, params = {}, options) {
334
343
  return this.transport.request({
335
344
  method: "GET",
336
345
  path: `/api/v1/customers/${encodeURIComponent(id)}`,
346
+ query: params.view ? { view: params.view } : void 0,
337
347
  retryable: true,
338
348
  options
339
349
  });
@@ -535,6 +545,44 @@ var MembersResource = class extends APIResource {
535
545
  options
536
546
  })).entitlements;
537
547
  }
548
+ /**
549
+ * Updates a member's details. Accepts `name`, `date_of_birth` and `role`
550
+ * (a member-role code). To reassign the primary member use `setPrimary`;
551
+ * to rotate a card use `reissueCard`.
552
+ */
553
+ update(id, params, options) {
554
+ return this.transport.request({
555
+ method: "PATCH",
556
+ path: `/api/v1/members/${encodeURIComponent(id)}`,
557
+ body: params,
558
+ retryable: false,
559
+ options
560
+ });
561
+ }
562
+ /**
563
+ * Remove a member from its membership. Rejected if it is the last member
564
+ * or the sole primary — reassign the primary first with `setPrimary`.
565
+ */
566
+ remove(id, options) {
567
+ return this.transport.request({
568
+ method: "DELETE",
569
+ path: `/api/v1/members/${encodeURIComponent(id)}`,
570
+ retryable: false,
571
+ options
572
+ });
573
+ }
574
+ /**
575
+ * Make this member the primary of its membership, demoting the current
576
+ * primary atomically. A no-op if it is already primary.
577
+ */
578
+ setPrimary(id, options) {
579
+ return this.transport.request({
580
+ method: "POST",
581
+ path: `/api/v1/members/${encodeURIComponent(id)}/set-primary`,
582
+ retryable: false,
583
+ options
584
+ });
585
+ }
538
586
  /** Issue a fresh card id, invalidating the old card at the gate. */
539
587
  reissueCard(id, params = {}, options) {
540
588
  return this.transport.request({
@@ -657,6 +705,20 @@ var MembershipsResource = class extends APIResource {
657
705
  })).members;
658
706
  }
659
707
  /**
708
+ * Add a member to an existing membership, up to the plan's max party size.
709
+ * `role` is a member-role code; an optional `email` links the member to a
710
+ * customer record. Rejected on cancelled or expired memberships.
711
+ */
712
+ addMember(id, params, options) {
713
+ return this.transport.request({
714
+ method: "POST",
715
+ path: `/api/v1/memberships/${encodeURIComponent(id)}/members`,
716
+ body: params,
717
+ retryable: false,
718
+ options
719
+ });
720
+ }
721
+ /**
660
722
  * Open the next term. Rejected (409) while cancelled or cancellation-pending.
661
723
  * Idempotent: the Idempotency-Key is generated once per call (and reused
662
724
  * across the SDK's internal retries), so a retried renewal returns the
@@ -1218,7 +1280,9 @@ const WEBHOOK_EVENT_CODES = [
1218
1280
  "membership.downgraded",
1219
1281
  "scheduled_change.failed",
1220
1282
  "entitlement.used",
1283
+ "member.added",
1221
1284
  "member.card_issued",
1285
+ "member.updated",
1222
1286
  "member.removed",
1223
1287
  "plan.updated"
1224
1288
  ];