@gymspace/sdk 1.3.2 → 1.3.4
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/.tsbuildinfo +1 -1
- package/dist/index.d.mts +55 -9
- package/dist/index.d.ts +55 -9
- package/dist/index.js +73 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +73 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +10 -6
- package/src/models/onboarding.ts +29 -6
- package/src/resources/onboarding.ts +70 -7
- package/src/types.ts +1 -0
package/dist/index.mjs
CHANGED
|
@@ -83,10 +83,11 @@ var ApiClient = class {
|
|
|
83
83
|
setupInterceptors() {
|
|
84
84
|
this.axiosInstance.interceptors.request.use(
|
|
85
85
|
(config) => {
|
|
86
|
-
|
|
86
|
+
const skipAuth = config.skipAuth;
|
|
87
|
+
if (this.config.apiKey && config.headers && !skipAuth) {
|
|
87
88
|
config.headers["Authorization"] = `Bearer ${this.config.apiKey}`;
|
|
88
89
|
}
|
|
89
|
-
if (this.refreshToken && this.config.apiKey && config.headers) {
|
|
90
|
+
if (this.refreshToken && this.config.apiKey && config.headers && !skipAuth) {
|
|
90
91
|
config.headers["X-Refresh-Token"] = this.refreshToken;
|
|
91
92
|
}
|
|
92
93
|
return config;
|
|
@@ -165,12 +166,14 @@ var ApiClient = class {
|
|
|
165
166
|
return { headers };
|
|
166
167
|
}
|
|
167
168
|
async request(method, path, data, options) {
|
|
168
|
-
const { headers, ...axiosConfig } = options || {};
|
|
169
|
+
const { headers, skipAuth, ...axiosConfig } = options || {};
|
|
169
170
|
const config = {
|
|
170
171
|
method,
|
|
171
172
|
url: path,
|
|
172
173
|
...this.mergeOptions({ headers }),
|
|
173
|
-
...axiosConfig
|
|
174
|
+
...axiosConfig,
|
|
175
|
+
skipAuth
|
|
176
|
+
// Pass skipAuth flag to interceptor
|
|
174
177
|
};
|
|
175
178
|
if (data && ["POST", "PUT", "PATCH"].includes(method.toUpperCase())) {
|
|
176
179
|
config.data = data;
|
|
@@ -1068,19 +1071,80 @@ var HealthResource = class extends BaseResource {
|
|
|
1068
1071
|
}
|
|
1069
1072
|
};
|
|
1070
1073
|
|
|
1074
|
+
// src/models/onboarding.ts
|
|
1075
|
+
var OnboardingCacheStatus = /* @__PURE__ */ ((OnboardingCacheStatus2) => {
|
|
1076
|
+
OnboardingCacheStatus2["PROCESSING"] = "PROCESSING";
|
|
1077
|
+
OnboardingCacheStatus2["COMPLETED"] = "COMPLETED";
|
|
1078
|
+
OnboardingCacheStatus2["FAILED"] = "FAILED";
|
|
1079
|
+
return OnboardingCacheStatus2;
|
|
1080
|
+
})(OnboardingCacheStatus || {});
|
|
1081
|
+
var OnboardingStep = /* @__PURE__ */ ((OnboardingStep2) => {
|
|
1082
|
+
OnboardingStep2["ACCOUNT_CREATED"] = "account_created";
|
|
1083
|
+
OnboardingStep2["GYM_SETTINGS"] = "gym_settings";
|
|
1084
|
+
OnboardingStep2["FEATURES_CONFIGURED"] = "features_configured";
|
|
1085
|
+
OnboardingStep2["COMPLETED"] = "completed";
|
|
1086
|
+
return OnboardingStep2;
|
|
1087
|
+
})(OnboardingStep || {});
|
|
1088
|
+
|
|
1071
1089
|
// src/resources/onboarding.ts
|
|
1072
1090
|
var OnboardingResource = class extends BaseResource {
|
|
1073
1091
|
/**
|
|
1074
|
-
*
|
|
1075
|
-
*
|
|
1092
|
+
* Start onboarding process (async)
|
|
1093
|
+
* Creates user account and triggers background setup
|
|
1094
|
+
* Returns immediately with PROCESSING status
|
|
1095
|
+
* Use getStatusByEmail() to poll for completion
|
|
1076
1096
|
*/
|
|
1077
1097
|
async start(data) {
|
|
1078
|
-
const response = await this.client.post(
|
|
1098
|
+
const response = await this.client.post(
|
|
1099
|
+
"/onboarding/start",
|
|
1100
|
+
data,
|
|
1101
|
+
{ skipAuth: true }
|
|
1102
|
+
// Public endpoint - no auth required
|
|
1103
|
+
);
|
|
1079
1104
|
if (response.access_token) {
|
|
1080
1105
|
this.client.setAuthToken(response.access_token);
|
|
1081
1106
|
}
|
|
1082
1107
|
return response;
|
|
1083
1108
|
}
|
|
1109
|
+
/**
|
|
1110
|
+
* Get onboarding status by email (polling endpoint)
|
|
1111
|
+
* Use this to check if async onboarding setup is complete
|
|
1112
|
+
*
|
|
1113
|
+
* @param email - User email to check status
|
|
1114
|
+
* @returns Status object with PROCESSING, COMPLETED, or FAILED
|
|
1115
|
+
*/
|
|
1116
|
+
async getStatusByEmail(email) {
|
|
1117
|
+
return this.client.get(
|
|
1118
|
+
"/onboarding/status",
|
|
1119
|
+
{ email },
|
|
1120
|
+
{ skipAuth: true }
|
|
1121
|
+
);
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Poll for onboarding completion
|
|
1125
|
+
* Automatically polls until status is COMPLETED or FAILED
|
|
1126
|
+
*
|
|
1127
|
+
* @param email - User email
|
|
1128
|
+
* @param options - Polling options
|
|
1129
|
+
* @returns Final status when completed or failed
|
|
1130
|
+
*/
|
|
1131
|
+
async waitForCompletion(email, options = {}) {
|
|
1132
|
+
const { maxAttempts = 60, intervalMs = 1e3, onProgress } = options;
|
|
1133
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
1134
|
+
const status = await this.getStatusByEmail(email);
|
|
1135
|
+
if (onProgress) {
|
|
1136
|
+
onProgress(attempt, status.status);
|
|
1137
|
+
}
|
|
1138
|
+
if (status.status === "COMPLETED" /* COMPLETED */) {
|
|
1139
|
+
return status;
|
|
1140
|
+
}
|
|
1141
|
+
if (status.status === "FAILED" /* FAILED */) {
|
|
1142
|
+
throw new Error(`Onboarding failed: ${status.error || "Unknown error"}`);
|
|
1143
|
+
}
|
|
1144
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
1145
|
+
}
|
|
1146
|
+
throw new Error("Onboarding timeout - process is still running in background");
|
|
1147
|
+
}
|
|
1084
1148
|
/**
|
|
1085
1149
|
* Updates basic gym settings (step 2 of onboarding)
|
|
1086
1150
|
* Configure basic gym information like name, address, etc.
|
|
@@ -1102,7 +1166,7 @@ var OnboardingResource = class extends BaseResource {
|
|
|
1102
1166
|
return this.client.post("/onboarding/complete", data);
|
|
1103
1167
|
}
|
|
1104
1168
|
/**
|
|
1105
|
-
* Get current onboarding status
|
|
1169
|
+
* Get current onboarding status by gym ID
|
|
1106
1170
|
* Check progress and next steps
|
|
1107
1171
|
*/
|
|
1108
1172
|
async getStatus(gymId) {
|
|
@@ -2780,15 +2844,6 @@ var bulkMessageSchema = z.object({
|
|
|
2780
2844
|
suggestions: z.array(z.string()).optional().describe("Additional message suggestions")
|
|
2781
2845
|
});
|
|
2782
2846
|
|
|
2783
|
-
// src/models/onboarding.ts
|
|
2784
|
-
var OnboardingStep = /* @__PURE__ */ ((OnboardingStep2) => {
|
|
2785
|
-
OnboardingStep2["ACCOUNT_CREATED"] = "account_created";
|
|
2786
|
-
OnboardingStep2["GYM_SETTINGS"] = "gym_settings";
|
|
2787
|
-
OnboardingStep2["FEATURES_CONFIGURED"] = "features_configured";
|
|
2788
|
-
OnboardingStep2["COMPLETED"] = "completed";
|
|
2789
|
-
return OnboardingStep2;
|
|
2790
|
-
})(OnboardingStep || {});
|
|
2791
|
-
|
|
2792
2847
|
// src/models/commissions.ts
|
|
2793
2848
|
var CommissionRuleType = /* @__PURE__ */ ((CommissionRuleType2) => {
|
|
2794
2849
|
CommissionRuleType2["PLAN"] = "PLAN";
|
|
@@ -2823,6 +2878,6 @@ var LeadGender = /* @__PURE__ */ ((LeadGender2) => {
|
|
|
2823
2878
|
return LeadGender2;
|
|
2824
2879
|
})(LeadGender || {});
|
|
2825
2880
|
|
|
2826
|
-
export { ACTIVITY_EVENTS, 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, OnboardingResource, OnboardingStep, OrganizationsResource, PAGINATION_DEFAULTS, PERMISSIONS, PaymentFrequency, PaymentMethodsResource, PlanStatus, ProductsResource, PublicCatalogResource, ROLE_NAMES, ROLE_PERMISSIONS, RoleNames, RolesResource, SalesResource, SubscriptionPlansResource, SubscriptionStatus, SubscriptionsResource, SuppliersResource, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TagsResource, TemplateCode, TemplateType, UserType, UsersResource, ValidationError, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, WhatsAppResource, WhatsAppTemplatesResource, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, isAdminRole, isEncargadoRole, templateGenerationRequestSchema };
|
|
2881
|
+
export { ACTIVITY_EVENTS, 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, ProductsResource, PublicCatalogResource, ROLE_NAMES, ROLE_PERMISSIONS, RoleNames, RolesResource, SalesResource, SubscriptionPlansResource, SubscriptionStatus, SubscriptionsResource, SuppliersResource, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TagsResource, TemplateCode, TemplateType, UserType, UsersResource, ValidationError, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, WhatsAppResource, WhatsAppTemplatesResource, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, isAdminRole, isEncargadoRole, templateGenerationRequestSchema };
|
|
2827
2882
|
//# sourceMappingURL=index.mjs.map
|
|
2828
2883
|
//# sourceMappingURL=index.mjs.map
|