@gymspace/sdk 1.5.2 → 1.7.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/dist/index.mjs CHANGED
@@ -476,6 +476,22 @@ var GymsResource = class extends BaseResource {
476
476
  async updateContractSettings(data, options) {
477
477
  return this.client.patch(`${this.basePath}/current/contract-settings`, data, options);
478
478
  }
479
+ /**
480
+ * Soft delete a gym
481
+ * Cannot delete gym with active contracts or collaborators
482
+ * @param id Gym ID
483
+ * @param options Request options
484
+ * @returns Success response
485
+ *
486
+ * @example
487
+ * ```typescript
488
+ * const result = await sdk.gyms.deleteGym('gym-id');
489
+ * console.log(result.success); // true
490
+ * ```
491
+ */
492
+ async deleteGym(id, options) {
493
+ return this.client.delete(`${this.basePath}/${id}`, options);
494
+ }
479
495
  };
480
496
 
481
497
  // src/resources/collaborators.ts
@@ -823,6 +839,9 @@ var InvitationsResource = class extends BaseResource {
823
839
  async validateByCode(data, options) {
824
840
  return this.client.post(`${this.basePath}/validate-by-code`, data, options);
825
841
  }
842
+ async validateByToken(data, options) {
843
+ return this.client.post(`${this.basePath}/validate-by-token`, data, options);
844
+ }
826
845
  async acceptInvitation(data, options) {
827
846
  return this.client.post(`${this.basePath}/accept`, data, options);
828
847
  }
@@ -1312,6 +1331,20 @@ var SalesResource = class extends BaseResource {
1312
1331
  options
1313
1332
  );
1314
1333
  }
1334
+ /**
1335
+ * Send payment reminder for unpaid sale via WhatsApp
1336
+ * @param saleId - ID of the sale
1337
+ * @param options - Request options
1338
+ * @returns Promise with success status and message
1339
+ * @throws {ApiError} If sale is already paid, customer has no phone, or sale not found
1340
+ */
1341
+ async sendPaymentReminder(saleId, options) {
1342
+ return this.client.post(
1343
+ `${this.basePath}/${saleId}/send-payment-reminder`,
1344
+ {},
1345
+ options
1346
+ );
1347
+ }
1315
1348
  };
1316
1349
 
1317
1350
  // src/resources/suppliers.ts
@@ -2094,6 +2127,27 @@ var CommissionPromotionsResource = class extends BaseResource {
2094
2127
  }
2095
2128
  };
2096
2129
 
2130
+ // src/resources/messages.ts
2131
+ var MessagesResource = class extends BaseResource {
2132
+ constructor() {
2133
+ super(...arguments);
2134
+ this.basePath = "messages";
2135
+ }
2136
+ async getMessages(params, options) {
2137
+ const response = await this.client.get(this.basePath, params, options);
2138
+ return response.data;
2139
+ }
2140
+ async getMessage(id, options) {
2141
+ return this.client.get(`${this.basePath}/${id}`, void 0, options);
2142
+ }
2143
+ async retryMessage(id, options) {
2144
+ return this.client.post(`${this.basePath}/${id}/retry`, void 0, options);
2145
+ }
2146
+ async cancelMessage(id, options) {
2147
+ return this.client.post(`${this.basePath}/${id}/cancel`, void 0, options);
2148
+ }
2149
+ };
2150
+
2097
2151
  // src/sdk.ts
2098
2152
  var GymSpaceSdk = class {
2099
2153
  constructor(config) {
@@ -2133,6 +2187,7 @@ var GymSpaceSdk = class {
2133
2187
  this.commissionCalculations = new CommissionCalculationsResource(this.client);
2134
2188
  this.commissionReports = new CommissionReportsResource(this.client);
2135
2189
  this.commissionPromotions = new CommissionPromotionsResource(this.client);
2190
+ this.messages = new MessagesResource(this.client);
2136
2191
  }
2137
2192
  /**
2138
2193
  * Set the authentication token
@@ -2564,16 +2619,24 @@ function getVariablesByContext(context) {
2564
2619
  return VARIABLE_CONTEXT_MAP[context] || BULK_MESSAGE_VARIABLES;
2565
2620
  }
2566
2621
  function validateVariablesInContext(message, context) {
2567
- const variablePattern = /{{(\w+)}}/g;
2568
- const matches = message.matchAll(variablePattern);
2622
+ const doubleBracePattern = /\{\{(\w+)\}\}/g;
2623
+ const singleBracePattern = /\{(\w+)\}/g;
2624
+ const doubleBraceMatches = message.matchAll(doubleBracePattern);
2625
+ const singleBraceMatches = message.matchAll(singleBracePattern);
2569
2626
  const invalidVariables = [];
2570
2627
  const validVariables = getVariablesByContext(context).map((v) => v.name);
2571
- for (const match of matches) {
2628
+ for (const match of doubleBraceMatches) {
2572
2629
  const variableName = match[1];
2573
2630
  if (!validVariables.includes(variableName)) {
2574
2631
  invalidVariables.push(variableName);
2575
2632
  }
2576
2633
  }
2634
+ for (const match of singleBraceMatches) {
2635
+ const variableName = match[1];
2636
+ if (!validVariables.includes(variableName) && !invalidVariables.includes(variableName)) {
2637
+ invalidVariables.push(variableName);
2638
+ }
2639
+ }
2577
2640
  return {
2578
2641
  valid: invalidVariables.length === 0,
2579
2642
  invalidVariables
@@ -2660,6 +2723,11 @@ var PERMISSIONS = {
2660
2723
  WHATSAPP_MANAGE: "WHATSAPP_MANAGE",
2661
2724
  WHATSAPP_BULK_SEND: "WHATSAPP_BULK_SEND",
2662
2725
  WHATSAPP_BULK_MANAGE: "WHATSAPP_BULK_MANAGE",
2726
+ // Messages
2727
+ MESSAGES_READ: "MESSAGES_READ",
2728
+ MESSAGES_CREATE: "MESSAGES_CREATE",
2729
+ MESSAGES_RETRY: "MESSAGES_RETRY",
2730
+ MESSAGES_CANCEL: "MESSAGES_CANCEL",
2663
2731
  // Activities
2664
2732
  ACTIVITIES_CREATE: "ACTIVITIES_CREATE",
2665
2733
  ACTIVITIES_READ: "ACTIVITIES_READ",
@@ -2870,8 +2938,19 @@ var ContractAssetType = /* @__PURE__ */ ((ContractAssetType2) => {
2870
2938
  ContractAssetType2["OTHER"] = "other";
2871
2939
  return ContractAssetType2;
2872
2940
  })(ContractAssetType || {});
2941
+ var MessageStatus = /* @__PURE__ */ ((MessageStatus2) => {
2942
+ MessageStatus2["PENDING"] = "pending";
2943
+ MessageStatus2["SCHEDULED"] = "scheduled";
2944
+ MessageStatus2["QUEUED"] = "queued";
2945
+ MessageStatus2["SENDING"] = "sending";
2946
+ MessageStatus2["SENT"] = "sent";
2947
+ MessageStatus2["FAILED"] = "failed";
2948
+ MessageStatus2["CANCELLED"] = "cancelled";
2949
+ return MessageStatus2;
2950
+ })(MessageStatus || {});
2873
2951
  var WHATSAPP_EVENTS = {
2874
2952
  MESSAGE_SEND: "whatsapp/message.send",
2953
+ MESSAGE_RETRY: "whatsapp/message.retry",
2875
2954
  MESSAGE_RECEIVED: "whatsapp/message.received",
2876
2955
  CONNECTION_UPDATE: "whatsapp/connection.update"
2877
2956
  };
@@ -3075,6 +3154,6 @@ var LeadGender = /* @__PURE__ */ ((LeadGender2) => {
3075
3154
  return LeadGender2;
3076
3155
  })(LeadGender || {});
3077
3156
 
3078
- export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, ActivitiesResource, AdminCatalogResource, AdminSubscriptionManagementResource, ApiClient, AssetCategory, AssetStatus, AssetsResource, AuthResource, AuthenticationError, AuthorizationError, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, BulkMessagingResource, CACHE_TTL, CancellationReason, CheckInsResource, ClientStatus, ClientsResource, CollaboratorStatus, CollaboratorsResource, CommissionCalculationsResource, CommissionChangeType, CommissionConfigResource, CommissionEntityType, CommissionPromotionsResource, CommissionReportsResource, CommissionRuleType, CommissionRulesResource, CommissionStatus, ContractAssetType, ContractStatus, ContractsResource, DATE_FORMATS, DashboardResource, FILE_LIMITS, FilesResource, GymSpaceError, GymSpaceSdk, GymsResource, HEADERS, HealthResource, InvitationStatus, InvitationsResource, LeadGender, MembershipPlansResource, NetworkError, NotFoundError, OnboardingCacheStatus, OnboardingResource, OnboardingStep, OrganizationsResource, PAGINATION_DEFAULTS, PERMISSIONS, PaymentFrequency, PaymentMethodsResource, PlanStatus, PlanType, ProductsResource, PublicCatalogResource, ROLE_NAMES, ROLE_PERMISSIONS, RoleNames, RolesResource, SalesResource, SubscriptionPlansResource, SubscriptionStatus, SubscriptionsResource, SuppliersResource, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TagsResource, TemplateCode, TemplateType, UserType, UsersResource, VARIABLE_CONTEXT_MAP, ValidationError, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, WhatsAppResource, WhatsAppTemplatesResource, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
3157
+ export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, ActivitiesResource, AdminCatalogResource, AdminSubscriptionManagementResource, ApiClient, AssetCategory, AssetStatus, AssetsResource, AuthResource, AuthenticationError, AuthorizationError, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, BulkMessagingResource, CACHE_TTL, CancellationReason, CheckInsResource, ClientStatus, ClientsResource, CollaboratorStatus, CollaboratorsResource, CommissionCalculationsResource, CommissionChangeType, CommissionConfigResource, CommissionEntityType, CommissionPromotionsResource, CommissionReportsResource, CommissionRuleType, CommissionRulesResource, CommissionStatus, ContractAssetType, ContractStatus, ContractsResource, DATE_FORMATS, DashboardResource, FILE_LIMITS, FilesResource, GymSpaceError, GymSpaceSdk, GymsResource, HEADERS, HealthResource, InvitationStatus, InvitationsResource, LeadGender, MembershipPlansResource, MessageStatus, MessagesResource, NetworkError, NotFoundError, OnboardingCacheStatus, OnboardingResource, OnboardingStep, OrganizationsResource, PAGINATION_DEFAULTS, PERMISSIONS, PaymentFrequency, PaymentMethodsResource, PlanStatus, PlanType, ProductsResource, PublicCatalogResource, ROLE_NAMES, ROLE_PERMISSIONS, RoleNames, RolesResource, SalesResource, SubscriptionPlansResource, SubscriptionStatus, SubscriptionsResource, SuppliersResource, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TagsResource, TemplateCode, TemplateType, UserType, UsersResource, VARIABLE_CONTEXT_MAP, ValidationError, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, WhatsAppResource, WhatsAppTemplatesResource, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
3079
3158
  //# sourceMappingURL=index.mjs.map
3080
3159
  //# sourceMappingURL=index.mjs.map