@vitalfit/sdk 0.0.54 → 0.0.56

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.cjs CHANGED
@@ -160,6 +160,7 @@ var AuthService = class {
160
160
  this.signUpStaff = this.signUpStaff.bind(this);
161
161
  this.forgotPassword = this.forgotPassword.bind(this);
162
162
  this.resetPassword = this.resetPassword.bind(this);
163
+ this.validateResetToken = this.validateResetToken.bind(this);
163
164
  this.verifyEmail = this.verifyEmail.bind(this);
164
165
  this.verifyStaff = this.verifyStaff.bind(this);
165
166
  this.logout = this.logout.bind(this);
@@ -228,6 +229,11 @@ var AuthService = class {
228
229
  }
229
230
  });
230
231
  }
232
+ async validateResetToken(token) {
233
+ await this.client.get({
234
+ url: `/auth/password/validate/${token}`
235
+ });
236
+ }
231
237
  async verifyEmail(otp) {
232
238
  await this.client.post({
233
239
  url: "/auth/activate",
@@ -991,6 +997,53 @@ var EquipmentService = class {
991
997
  }
992
998
  };
993
999
 
1000
+ // src/services/schedule.ts
1001
+ var ScheduleService = class {
1002
+ client;
1003
+ constructor(client) {
1004
+ this.client = client;
1005
+ this.ListBranchesClass = this.ListBranchesClass.bind(this);
1006
+ this.CreateClass = this.CreateClass.bind(this);
1007
+ this.UpdateClass = this.UpdateClass.bind(this);
1008
+ this.DeleteClass = this.DeleteClass.bind(this);
1009
+ this.GetClassByID = this.GetClassByID.bind(this);
1010
+ }
1011
+ async ListBranchesClass(branchID, jwt) {
1012
+ const response = await this.client.get({
1013
+ url: `/branches/${branchID}/classes`,
1014
+ jwt
1015
+ });
1016
+ return response;
1017
+ }
1018
+ async CreateClass(branchID, data, jwt) {
1019
+ await this.client.post({
1020
+ url: `/branches/${branchID}/classes`,
1021
+ jwt,
1022
+ data
1023
+ });
1024
+ }
1025
+ async GetClassByID(branchID, classID, jwt) {
1026
+ const response = await this.client.get({
1027
+ url: `/schedule/${classID}`,
1028
+ jwt
1029
+ });
1030
+ return response;
1031
+ }
1032
+ async UpdateClass(branchID, classID, data, jwt) {
1033
+ await this.client.put({
1034
+ url: `/schedule${classID}`,
1035
+ jwt,
1036
+ data
1037
+ });
1038
+ }
1039
+ async DeleteClass(branchID, classID, jwt) {
1040
+ await this.client.delete({
1041
+ url: `/schedule/${classID}`,
1042
+ jwt
1043
+ });
1044
+ }
1045
+ };
1046
+
994
1047
  // src/types/auth.ts
995
1048
  var UserGender = /* @__PURE__ */ ((UserGender2) => {
996
1049
  UserGender2["male"] = "male";
@@ -1014,6 +1067,7 @@ var VitalFit = class _VitalFit {
1014
1067
  public;
1015
1068
  products;
1016
1069
  equipment;
1070
+ schedule;
1017
1071
  constructor(isDevMode, origin) {
1018
1072
  this.client = new Client(isDevMode, origin);
1019
1073
  this.auth = new AuthService(this.client);
@@ -1027,6 +1081,7 @@ var VitalFit = class _VitalFit {
1027
1081
  this.public = new PublicService(this.client);
1028
1082
  this.products = new ProductsService(this.client);
1029
1083
  this.equipment = new EquipmentService(this.client);
1084
+ this.schedule = new ScheduleService(this.client);
1030
1085
  }
1031
1086
  static getInstance(isDevMode = false) {
1032
1087
  if (!_VitalFit.instance) {
@@ -1035,7 +1090,7 @@ var VitalFit = class _VitalFit {
1035
1090
  return _VitalFit.instance;
1036
1091
  }
1037
1092
  version() {
1038
- return "0.0.54";
1093
+ return "0.0.56";
1039
1094
  }
1040
1095
  };
1041
1096
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/types/auth.ts"],"sourcesContent":["import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.54';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n","import axios, { type AxiosInstance } from 'axios';\nimport { BASE_URL, DEV_URL } from './settings';\nimport { APIError } from './errors';\nimport type { Pagination } from './types';\n\nexport type ClientConfig = {\n url: string;\n jwt?: string;\n data?: object;\n params?: object;\n};\n\nexport class Client {\n private client: AxiosInstance;\n jwt?: string;\n\n constructor(isDevMode: boolean, origin?: string) {\n let headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (origin) {\n headers['Origin'] = origin;\n }\n this.client = axios.create({\n baseURL: isDevMode ? DEV_URL : BASE_URL,\n headers,\n });\n }\n\n async call(method: string, config: ClientConfig): Promise<Response> {\n if (config.jwt) {\n this.client.interceptors.request.use((axiosConfig) => {\n if (axiosConfig.headers) {\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\n }\n return axiosConfig;\n });\n }\n try {\n const response = await this.client.request({\n method: method,\n url: config.url,\n data: config.data,\n params: config.params,\n });\n this.client.interceptors.request.clear();\n return response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: unknown) {\n if (axios.isAxiosError(error)) {\n const errorMessage = error.response?.data?.error;\n if (typeof errorMessage === 'string') {\n throw new APIError([errorMessage], error.response?.status ?? 500);\n }\n throw new APIError(\n ['Ocurrió un error inesperado'],\n error.response?.status ?? 500,\n );\n }\n throw new Error(error as string);\n }\n }\n\n async get(config: ClientConfig): Promise<any> {\n const isPaginated = config.params && 'page' in config.params;\n\n if (isPaginated) {\n const response = (await this.call(\n 'get',\n config,\n )) as unknown as Pagination<any>;\n\n const baseURL = this.client.defaults.baseURL || '';\n\n if (response.next) {\n response.next = `${baseURL}${response.next}`;\n }\n if (response.previous) {\n response.previous = `${baseURL}${response.previous}`;\n }\n\n return response;\n } else {\n const data = await this.call('get', config);\n return data;\n }\n }\n\n async post(config: ClientConfig) {\n const data = await this.call('post', config);\n return data;\n }\n\n async put(config: ClientConfig) {\n const data = await this.call('put', config);\n return data;\n }\n\n async patch(config: ClientConfig) {\n const data = await this.call('patch', config);\n return data;\n }\n\n async delete(config: ClientConfig) {\n const data = await this.call('delete', config);\n return data;\n }\n\n setJWT(jwt: string) {\n this.jwt = jwt;\n }\n\n removeJWT() {\n this.jwt = undefined;\n }\n}\n","export const BASE_URL = 'https://api.teamvitalfit.xyz/v1';\nexport const DEV_URL = 'https://api.teamvitalfit.xyz/v1';\n","export class APIError extends Error {\n status: number;\n messages: string[];\n constructor(messages: string[], status: number) {\n super(messages.join(', '));\n this.status = status;\n this.messages = messages;\n }\n}\n\nexport const isAPIError = (error: unknown): error is APIError => {\n return error instanceof APIError;\n};\n","import { Client } from '../client';\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\n\nexport class AuthService {\n private client: Client;\n constructor(client: Client) {\n this.client = client;\n this.login = this.login.bind(this);\n this.signUp = this.signUp.bind(this);\n this.signUpStaff = this.signUpStaff.bind(this);\n this.forgotPassword = this.forgotPassword.bind(this);\n this.resetPassword = this.resetPassword.bind(this);\n this.verifyEmail = this.verifyEmail.bind(this);\n this.verifyStaff = this.verifyStaff.bind(this);\n\n this.logout = this.logout.bind(this);\n this.saveJWT = this.saveJWT.bind(this);\n }\n\n async login({\n email,\n password,\n context,\n }: LoginRequest): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/login',\n data: {\n email,\n password,\n context,\n },\n });\n return response as unknown as LoginResponse;\n }\n\n logout(): void {\n this.client.removeJWT();\n }\n\n saveJWT(jwt: string): void {\n this.client.setJWT(jwt);\n }\n\n async signUp(signUpData: SignUpRequest): Promise<void> {\n signUpData.role_name = 'client';\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (signUpData.role_name != 'client') {\n throw new Error('Only clients can sign up using this method');\n }\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register',\n data: signUpData,\n });\n }\n\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register-staff',\n data: signUpData,\n });\n }\n async forgotPassword(email: string): Promise<void> {\n await this.client.post({\n url: '/auth/password/forgot',\n data: {\n email,\n },\n });\n }\n\n async resetPassword(\n otp: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.post({\n url: '/auth/password/reset',\n data: {\n otp,\n password,\n repeatPassword,\n },\n });\n }\n\n async verifyEmail(otp: string): Promise<void> {\n await this.client.post({\n url: '/auth/activate',\n data: {\n otp,\n },\n });\n }\n\n async verifyStaff(\n token: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.put({\n url: `/auth/activate/${token}`,\n data: {\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\n GetUserResponse,\n UpdateUserRequest,\n UpdateUserStaffRequest,\n} from '@/types';\n\nexport class UserService {\n client: Client;\n constructor(client: Client) {\n this.client = client;\n this.WhoAmI = this.WhoAmI.bind(this);\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\n this.getClientUsers = this.getClientUsers.bind(this);\n this.getStaffUsers = this.getStaffUsers.bind(this);\n\n this.GetUserByID = this.GetUserByID.bind(this);\n this.updateUserClient = this.updateUserClient.bind(this);\n this.updateUserStaff = this.updateUserStaff.bind(this);\n }\n\n async getStaffUsers(\n { search, role }: UserPaginationOptions,\n jwt: string,\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/users',\n jwt,\n params: {\n search,\n role,\n },\n });\n\n return response as unknown as DataResponse<User[]>;\n }\n\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\n const response = await this.client.get({\n url: '/user/whoami',\n jwt,\n });\n return response as unknown as UserApiResponse;\n }\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/branch-admins',\n jwt,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async getClientUsers(\n jwt: string,\n options: UserPaginationOptions = {},\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/clients',\n jwt,\n params: options,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async GetUserByID(\n userId: string,\n jwt: string,\n ): Promise<DataResponse<GetUserResponse>> {\n const response = await this.client.get({\n url: `/user/${userId}`,\n jwt,\n });\n return response as unknown as DataResponse<GetUserResponse>;\n }\n\n async updateUserClient(\n userId: string,\n data: UpdateUserRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/client`,\n jwt,\n data,\n });\n }\n async updateUserStaff(\n userId: string,\n data: UpdateUserStaffRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/staff`,\n jwt,\n data,\n });\n }\n}\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\nimport type {\n PaginatedBranch,\n PaginationBranchRequest,\n BranchStatusCount,\n BranchDetails,\n UpdateBranchRequest,\n} from '../types/branch';\n\nexport class BranchService {\n private client: any;\n\n constructor(client: any) {\n this.client = client;\n this.getBranches = this.getBranches.bind(this);\n this.delete = this.delete.bind(this);\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\n this.createBranch = this.createBranch.bind(this);\n this.getBranchById = this.getBranchById.bind(this);\n this.updateBranch = this.updateBranch.bind(this);\n }\n\n async updateBranch(\n branchId: string,\n branchData: UpdateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}`,\n jwt,\n data: branchData,\n });\n }\n\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\n const response = await this.client.get({\n url: `/branches/${branchId}`,\n jwt,\n });\n return response as unknown as BranchDetails;\n }\n\n async getBranches(\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\n jwt: string,\n ): Promise<Pagination<PaginatedBranch[]>> {\n const response = await this.client.get({\n url: '/branches',\n jwt,\n params: {\n page,\n limit,\n search,\n status,\n location,\n },\n });\n return response as unknown as Pagination<PaginatedBranch[]>;\n }\n\n async delete(branchId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}`,\n jwt,\n });\n }\n\n async getBranchStatusCount(\n jwt: string,\n ): Promise<DataResponse<BranchStatusCount>> {\n const response = await this.client.get({\n url: '/branches/status',\n jwt,\n });\n return response as unknown as DataResponse<BranchStatusCount>;\n }\n\n async createBranch(\n branchData: CreateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/branches',\n jwt,\n data: branchData,\n });\n }\n}\n","import { Client } from '../client';\nimport type {\n BranchPaymentMethodInfo,\n CreatePaymentMethod,\n DataResponse,\n PaymentMethod,\n UpdateBranchPaymentMethod,\n} from '@/types';\n\nexport class PaymentMethodService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\n\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\n this.getBranchPaymentMethodByID =\n this.getBranchPaymentMethodByID.bind(this);\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\n }\n\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\n const response = await this.client.get({\n url: '/billing/payment-methods',\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod[]>;\n }\n async createPaymentMethod(\n paymentMethodData: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/billing/payment-methods',\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getPaymentMethodByID(\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<PaymentMethod>> {\n const response = await this.client.get({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod>;\n }\n\n async updatePaymentMethod(\n paymentMethodId: string,\n data: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n data,\n });\n }\n\n async deletePaymentMethod(\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async addBranchPaymentMethod(\n branchId: string,\n paymentMethodID: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: {\n method_id: paymentMethodID,\n },\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo[]>;\n }\n\n async getBranchPaymentMethodByID(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\n }\n\n async removeBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async updateBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n data: UpdateBranchPaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n PaginatedTotal,\n InstructorsSummary,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { page = 10, limit = 10, search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<PaginatedTotal<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n page,\n limit,\n search,\n identity_doc,\n },\n });\n return response as unknown as PaginatedTotal<InstructorDataList[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>> {\n const response = await this.client.get({\n url: '/instructor/summary',\n jwt,\n });\n return response as unknown as DataResponse<InstructorsSummary>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructor: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateRole,\n DataResponse,\n PaginationRequest,\n Permission,\n RoleResponse,\n PaginatedTotal,\n} from '@/types';\n\nexport class RBACService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPermissions = this.getPermissions.bind(this);\n this.getRoles = this.getRoles.bind(this);\n this.createRole = this.createRole.bind(this);\n this.updateRole = this.updateRole.bind(this);\n this.getRoleByID = this.getRoleByID.bind(this);\n this.deleteRole = this.deleteRole.bind(this);\n this.addPermission = this.addPermission.bind(this);\n this.removePermission = this.removePermission.bind(this);\n }\n\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\n const response = await this.client.get({\n url: '/admin/permissions',\n jwt,\n });\n return response as unknown as DataResponse<Permission[]>;\n }\n\n async getRoles(\n { page = 10, limit = 10, search, sort = 'desc' }: PaginationRequest,\n jwt: string,\n ): Promise<PaginatedTotal<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n params: {\n page,\n limit,\n search,\n },\n });\n return response as unknown as PaginatedTotal<RoleResponse[]>;\n }\n\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\n await this.client.post({\n url: '/admin/roles',\n jwt,\n data: roleData,\n });\n }\n\n async updateRole(\n roleId: string,\n roleData: CreateRole,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/admin/roles/${roleId}`,\n jwt,\n data: roleData,\n });\n }\n\n async getRoleByID(\n roleId: string,\n jwt: string,\n ): Promise<DataResponse<RoleResponse>> {\n const response = await this.client.get({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n return response as unknown as DataResponse<RoleResponse>;\n }\n\n async deleteRole(roleId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n }\n async addPermission(\n roleId: string,\n permissionData: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: {\n permissions: permissionData,\n },\n });\n }\n async removePermission(\n roleId: string,\n permissionData: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\n });\n }\n}\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\nimport { Client } from '../client';\nimport type { DataResponse } from '../types';\n\nexport class MarketingService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createBanners = this.createBanners.bind(this);\n this.getBanner = this.getBanner.bind(this);\n this.getBannerByID = this.getBannerByID.bind(this);\n this.updateBanner = this.updateBanner.bind(this);\n this.deleteBanner = this.deleteBanner.bind(this);\n }\n\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\n await this.client.post({\n url: '/marketing/banners',\n jwt,\n data: BannerData,\n });\n }\n\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\n const response = await this.client.get({\n url: '/marketing/banners',\n jwt,\n });\n return response as unknown as DataResponse<Banner[]>;\n }\n\n async getBannerByID(\n BannerId: string,\n jwt: string,\n ): Promise<DataResponse<Banner>> {\n const response = await this.client.get({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n return response as unknown as DataResponse<Banner>;\n }\n\n async updateBanner(\n BannerId: string,\n BannerData: UpdateBanner,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n data: BannerData,\n });\n }\n\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n }\n}\n","import type {\n CreateMembershipType,\n DataResponse,\n MembershipsSummary,\n MembershipType,\n PaginatedTotal,\n PaginationRequest,\n UpdateMembershipType,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class MembershipService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createMembershipType = this.createMembershipType.bind(this);\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n }\n\n async createMembershipType(\n data: CreateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/membership-plans',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n ): Promise<PaginatedTotal<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership-plans',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<MembershipType[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>> {\n const response = await this.client.get({\n url: '/membership-plans/summary',\n jwt,\n });\n return response as unknown as DataResponse<MembershipsSummary>;\n }\n\n async getMembershipTypeByID(\n membershipTypeId: string,\n jwt: string,\n ): Promise<DataResponse<MembershipType>> {\n const response = await this.client.get({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n return response as unknown as DataResponse<MembershipType>;\n }\n\n async updateMembershipType(\n membershipTypeId: string,\n data: UpdateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n data,\n });\n }\n\n async deleteMembershipType(\n membershipTypeId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n }\n}\n","import { Client } from '../client';\nimport type { DataResponse, BranchInfo } from '@/types';\n\nexport class PublicService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getBranchMap = this.getBranchMap.bind(this);\n }\n\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\n const response = await this.client.get({\n url: '/public/branch-map',\n jwt,\n });\n return response as unknown as DataResponse<BranchInfo>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateService,\n DataResponse,\n ServiceCategoryInfo,\n ServiceFullDetail,\n UpdateServiceManual,\n CreateBranchServicePriceItem,\n BranchServicePrice,\n UpdateBranchServicePrice,\n PaginatedServiceRequest,\n PaginatedTotal,\n ServicesSummary,\n} from '@/types';\n\nexport class ProductsService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createService = this.createService.bind(this);\n this.getServices = this.getServices.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getServiceByID = this.getServiceByID.bind(this);\n this.updateService = this.updateService.bind(this);\n this.deleteService = this.deleteService.bind(this);\n this.getCategories = this.getCategories.bind(this);\n\n this.addBranchService = this.addBranchService.bind(this);\n this.removeBranchService = this.removeBranchService.bind(this);\n this.getBranchServices = this.getBranchServices.bind(this);\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\n this.updateBranchService = this.updateBranchService.bind(this);\n }\n async createService(data: CreateService, jwt: string): Promise<void> {\n await this.client.post({\n url: '/services',\n jwt,\n data,\n });\n }\n\n async getServices(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedServiceRequest,\n ): Promise<PaginatedTotal<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<ServiceFullDetail[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<ServicesSummary>> {\n const response = await this.client.get({\n url: '/services/summary',\n jwt,\n });\n return response as unknown as DataResponse<ServicesSummary>;\n }\n\n async getServiceByID(\n serviceId: string,\n jwt: string,\n ): Promise<DataResponse<ServiceFullDetail>> {\n const response = await this.client.get({\n url: `/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail>;\n }\n\n async updateService(\n serviceId: string,\n data: UpdateServiceManual,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/services/${serviceId}`,\n jwt,\n data,\n });\n }\n async deleteService(serviceId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/services/${serviceId}`,\n jwt,\n });\n }\n async getCategories(\n jwt: string,\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\n const response = await this.client.get({\n url: '/services/categories',\n jwt,\n });\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\n }\n\n async addBranchService(\n BranchServiceData: CreateBranchServicePriceItem[],\n branchId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/services`,\n jwt,\n data: {\n services: BranchServiceData,\n },\n });\n }\n\n async getBranchServices(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchServicePrice[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice[]>;\n }\n\n async getBranchServiceByID(\n branchId: string,\n jwt: string,\n serviceId: string,\n ): Promise<DataResponse<BranchServicePrice>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice>;\n }\n\n async updateBranchService(\n branchId: string,\n serviceId: string,\n BranchServiceData: UpdateBranchServicePrice,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n data: BranchServiceData,\n });\n }\n\n async removeBranchService(\n branchId: string,\n serviceId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n }\n}\n","import type {\n BranchEquipmentInventory,\n CreateBranchEquipment,\n CreateEquipment,\n DataResponse,\n Equipment,\n EquipmentInfo,\n PaginatedEquipmentRequest,\n PaginatedTotal,\n UpdateBranchEquipmentDetails,\n UpdateEquipment,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class EquipmentService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getEquipment = this.getEquipment.bind(this);\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\n this.createEquipment = this.createEquipment.bind(this);\n this.updateEquipment = this.updateEquipment.bind(this);\n this.deleteEquipment = this.deleteEquipment.bind(this);\n\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\n }\n\n async getEquipment(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedEquipmentRequest,\n ): Promise<PaginatedTotal<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<Equipment[]>;\n }\n\n async getEquipmentByID(\n equipmentId: string,\n jwt: string,\n ): Promise<DataResponse<EquipmentInfo>> {\n const response = await this.client.get({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n return response as unknown as DataResponse<EquipmentInfo>;\n }\n async getBranchEquipmentByID(\n branchId: string,\n equipmentID: string,\n jwt: string,\n ): Promise<DataResponse<BranchEquipmentInventory>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment/${equipmentID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchEquipmentInventory>;\n }\n\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\n await this.client.post({\n url: '/equipment-types',\n jwt,\n data,\n });\n }\n\n async updateEquipment(\n equipmentId: string,\n data: UpdateEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n data,\n });\n }\n\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n }\n\n async getBranchEquipment(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<Equipment[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment`,\n jwt,\n });\n return response as unknown as DataResponse<Equipment[]>;\n }\n\n async addBranchEquipment(\n branchId: string,\n equipmentData: CreateBranchEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/equipment`,\n jwt,\n data: equipmentData,\n });\n }\n\n async removeBranchEquipment(\n branchId: string,\n equipmentId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n });\n }\n\n async updateBranchEquipment(\n branchId: string,\n equipmentId: string,\n data: UpdateBranchEquipmentDetails,\n jwt: string,\n ): Promise<void> {\n await this.client.patch({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n data: data,\n });\n }\n}\n","export enum UserGender {\n male = 'male',\n female = 'female',\n preferNotToSay = 'prefer-not-to-say',\n}\n\nexport type LoginRequest = {\n email: string;\n password: string;\n context?: string;\n};\n\nexport type LoginResponse = {\n token: string;\n};\n\nexport type SignUpRequest = {\n first_name: string;\n last_name: string;\n email: string;\n password: string;\n identity_document: string;\n phone?: string | null;\n birth_date: string;\n gender?: UserGender | null;\n profile_picture_url?: string | null;\n role_name?: string | null;\n};\n"],"mappings":"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","names":["axios","UserGender"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/services/schedule.ts","../src/types/auth.ts"],"sourcesContent":["import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n ScheduleService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n schedule: ScheduleService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n this.schedule = new ScheduleService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.56';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n","import axios, { type AxiosInstance } from 'axios';\nimport { BASE_URL, DEV_URL } from './settings';\nimport { APIError } from './errors';\nimport type { Pagination } from './types';\n\nexport type ClientConfig = {\n url: string;\n jwt?: string;\n data?: object;\n params?: object;\n};\n\nexport class Client {\n private client: AxiosInstance;\n jwt?: string;\n\n constructor(isDevMode: boolean, origin?: string) {\n let headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (origin) {\n headers['Origin'] = origin;\n }\n this.client = axios.create({\n baseURL: isDevMode ? DEV_URL : BASE_URL,\n headers,\n });\n }\n\n async call(method: string, config: ClientConfig): Promise<Response> {\n if (config.jwt) {\n this.client.interceptors.request.use((axiosConfig) => {\n if (axiosConfig.headers) {\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\n }\n return axiosConfig;\n });\n }\n try {\n const response = await this.client.request({\n method: method,\n url: config.url,\n data: config.data,\n params: config.params,\n });\n this.client.interceptors.request.clear();\n return response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: unknown) {\n if (axios.isAxiosError(error)) {\n const errorMessage = error.response?.data?.error;\n if (typeof errorMessage === 'string') {\n throw new APIError([errorMessage], error.response?.status ?? 500);\n }\n throw new APIError(\n ['Ocurrió un error inesperado'],\n error.response?.status ?? 500,\n );\n }\n throw new Error(error as string);\n }\n }\n\n async get(config: ClientConfig): Promise<any> {\n const isPaginated = config.params && 'page' in config.params;\n\n if (isPaginated) {\n const response = (await this.call(\n 'get',\n config,\n )) as unknown as Pagination<any>;\n\n const baseURL = this.client.defaults.baseURL || '';\n\n if (response.next) {\n response.next = `${baseURL}${response.next}`;\n }\n if (response.previous) {\n response.previous = `${baseURL}${response.previous}`;\n }\n\n return response;\n } else {\n const data = await this.call('get', config);\n return data;\n }\n }\n\n async post(config: ClientConfig) {\n const data = await this.call('post', config);\n return data;\n }\n\n async put(config: ClientConfig) {\n const data = await this.call('put', config);\n return data;\n }\n\n async patch(config: ClientConfig) {\n const data = await this.call('patch', config);\n return data;\n }\n\n async delete(config: ClientConfig) {\n const data = await this.call('delete', config);\n return data;\n }\n\n setJWT(jwt: string) {\n this.jwt = jwt;\n }\n\n removeJWT() {\n this.jwt = undefined;\n }\n}\n","export const BASE_URL = 'https://api.teamvitalfit.xyz/v1';\nexport const DEV_URL = 'https://api.teamvitalfit.xyz/v1';\n","export class APIError extends Error {\n status: number;\n messages: string[];\n constructor(messages: string[], status: number) {\n super(messages.join(', '));\n this.status = status;\n this.messages = messages;\n }\n}\n\nexport const isAPIError = (error: unknown): error is APIError => {\n return error instanceof APIError;\n};\n","import { Client } from '../client';\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\n\nexport class AuthService {\n private client: Client;\n constructor(client: Client) {\n this.client = client;\n this.login = this.login.bind(this);\n this.signUp = this.signUp.bind(this);\n this.signUpStaff = this.signUpStaff.bind(this);\n this.forgotPassword = this.forgotPassword.bind(this);\n this.resetPassword = this.resetPassword.bind(this);\n this.validateResetToken = this.validateResetToken.bind(this);\n this.verifyEmail = this.verifyEmail.bind(this);\n this.verifyStaff = this.verifyStaff.bind(this);\n\n this.logout = this.logout.bind(this);\n this.saveJWT = this.saveJWT.bind(this);\n }\n\n async login({\n email,\n password,\n context,\n }: LoginRequest): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/login',\n data: {\n email,\n password,\n context,\n },\n });\n return response as unknown as LoginResponse;\n }\n\n logout(): void {\n this.client.removeJWT();\n }\n\n saveJWT(jwt: string): void {\n this.client.setJWT(jwt);\n }\n\n async signUp(signUpData: SignUpRequest): Promise<void> {\n signUpData.role_name = 'client';\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (signUpData.role_name != 'client') {\n throw new Error('Only clients can sign up using this method');\n }\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register',\n data: signUpData,\n });\n }\n\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register-staff',\n data: signUpData,\n });\n }\n async forgotPassword(email: string): Promise<void> {\n await this.client.post({\n url: '/auth/password/forgot',\n data: {\n email,\n },\n });\n }\n\n async resetPassword(\n otp: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.post({\n url: '/auth/password/reset',\n data: {\n otp,\n password,\n repeatPassword,\n },\n });\n }\n\n async validateResetToken(token: string): Promise<void> {\n await this.client.get({\n url: `/auth/password/validate/${token}`,\n });\n }\n\n async verifyEmail(otp: string): Promise<void> {\n await this.client.post({\n url: '/auth/activate',\n data: {\n otp,\n },\n });\n }\n\n async verifyStaff(\n token: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.put({\n url: `/auth/activate/${token}`,\n data: {\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\n GetUserResponse,\n UpdateUserRequest,\n UpdateUserStaffRequest,\n} from '@/types';\n\nexport class UserService {\n client: Client;\n constructor(client: Client) {\n this.client = client;\n this.WhoAmI = this.WhoAmI.bind(this);\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\n this.getClientUsers = this.getClientUsers.bind(this);\n this.getStaffUsers = this.getStaffUsers.bind(this);\n\n this.GetUserByID = this.GetUserByID.bind(this);\n this.updateUserClient = this.updateUserClient.bind(this);\n this.updateUserStaff = this.updateUserStaff.bind(this);\n }\n\n async getStaffUsers(\n { search, role }: UserPaginationOptions,\n jwt: string,\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/users',\n jwt,\n params: {\n search,\n role,\n },\n });\n\n return response as unknown as DataResponse<User[]>;\n }\n\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\n const response = await this.client.get({\n url: '/user/whoami',\n jwt,\n });\n return response as unknown as UserApiResponse;\n }\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/branch-admins',\n jwt,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async getClientUsers(\n jwt: string,\n options: UserPaginationOptions = {},\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/clients',\n jwt,\n params: options,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async GetUserByID(\n userId: string,\n jwt: string,\n ): Promise<DataResponse<GetUserResponse>> {\n const response = await this.client.get({\n url: `/user/${userId}`,\n jwt,\n });\n return response as unknown as DataResponse<GetUserResponse>;\n }\n\n async updateUserClient(\n userId: string,\n data: UpdateUserRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/client`,\n jwt,\n data,\n });\n }\n async updateUserStaff(\n userId: string,\n data: UpdateUserStaffRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/staff`,\n jwt,\n data,\n });\n }\n}\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\nimport type {\n PaginatedBranch,\n PaginationBranchRequest,\n BranchStatusCount,\n BranchDetails,\n UpdateBranchRequest,\n} from '../types/branch';\n\nexport class BranchService {\n private client: any;\n\n constructor(client: any) {\n this.client = client;\n this.getBranches = this.getBranches.bind(this);\n this.delete = this.delete.bind(this);\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\n this.createBranch = this.createBranch.bind(this);\n this.getBranchById = this.getBranchById.bind(this);\n this.updateBranch = this.updateBranch.bind(this);\n }\n\n async updateBranch(\n branchId: string,\n branchData: UpdateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}`,\n jwt,\n data: branchData,\n });\n }\n\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\n const response = await this.client.get({\n url: `/branches/${branchId}`,\n jwt,\n });\n return response as unknown as BranchDetails;\n }\n\n async getBranches(\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\n jwt: string,\n ): Promise<Pagination<PaginatedBranch[]>> {\n const response = await this.client.get({\n url: '/branches',\n jwt,\n params: {\n page,\n limit,\n search,\n status,\n location,\n },\n });\n return response as unknown as Pagination<PaginatedBranch[]>;\n }\n\n async delete(branchId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}`,\n jwt,\n });\n }\n\n async getBranchStatusCount(\n jwt: string,\n ): Promise<DataResponse<BranchStatusCount>> {\n const response = await this.client.get({\n url: '/branches/status',\n jwt,\n });\n return response as unknown as DataResponse<BranchStatusCount>;\n }\n\n async createBranch(\n branchData: CreateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/branches',\n jwt,\n data: branchData,\n });\n }\n}\n","import { Client } from '../client';\nimport type {\n BranchPaymentMethodInfo,\n CreatePaymentMethod,\n DataResponse,\n PaymentMethod,\n UpdateBranchPaymentMethod,\n} from '@/types';\n\nexport class PaymentMethodService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\n\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\n this.getBranchPaymentMethodByID =\n this.getBranchPaymentMethodByID.bind(this);\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\n }\n\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\n const response = await this.client.get({\n url: '/billing/payment-methods',\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod[]>;\n }\n async createPaymentMethod(\n paymentMethodData: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/billing/payment-methods',\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getPaymentMethodByID(\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<PaymentMethod>> {\n const response = await this.client.get({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod>;\n }\n\n async updatePaymentMethod(\n paymentMethodId: string,\n data: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n data,\n });\n }\n\n async deletePaymentMethod(\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async addBranchPaymentMethod(\n branchId: string,\n paymentMethodID: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: {\n method_id: paymentMethodID,\n },\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo[]>;\n }\n\n async getBranchPaymentMethodByID(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\n }\n\n async removeBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async updateBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n data: UpdateBranchPaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n PaginatedTotal,\n InstructorsSummary,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { page = 10, limit = 10, search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<PaginatedTotal<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n page,\n limit,\n search,\n identity_doc,\n },\n });\n return response as unknown as PaginatedTotal<InstructorDataList[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>> {\n const response = await this.client.get({\n url: '/instructor/summary',\n jwt,\n });\n return response as unknown as DataResponse<InstructorsSummary>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructor: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateRole,\n DataResponse,\n PaginationRequest,\n Permission,\n RoleResponse,\n PaginatedTotal,\n} from '@/types';\n\nexport class RBACService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPermissions = this.getPermissions.bind(this);\n this.getRoles = this.getRoles.bind(this);\n this.createRole = this.createRole.bind(this);\n this.updateRole = this.updateRole.bind(this);\n this.getRoleByID = this.getRoleByID.bind(this);\n this.deleteRole = this.deleteRole.bind(this);\n this.addPermission = this.addPermission.bind(this);\n this.removePermission = this.removePermission.bind(this);\n }\n\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\n const response = await this.client.get({\n url: '/admin/permissions',\n jwt,\n });\n return response as unknown as DataResponse<Permission[]>;\n }\n\n async getRoles(\n { page = 10, limit = 10, search, sort = 'desc' }: PaginationRequest,\n jwt: string,\n ): Promise<PaginatedTotal<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n params: {\n page,\n limit,\n search,\n },\n });\n return response as unknown as PaginatedTotal<RoleResponse[]>;\n }\n\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\n await this.client.post({\n url: '/admin/roles',\n jwt,\n data: roleData,\n });\n }\n\n async updateRole(\n roleId: string,\n roleData: CreateRole,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/admin/roles/${roleId}`,\n jwt,\n data: roleData,\n });\n }\n\n async getRoleByID(\n roleId: string,\n jwt: string,\n ): Promise<DataResponse<RoleResponse>> {\n const response = await this.client.get({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n return response as unknown as DataResponse<RoleResponse>;\n }\n\n async deleteRole(roleId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n }\n async addPermission(\n roleId: string,\n permissionData: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: {\n permissions: permissionData,\n },\n });\n }\n async removePermission(\n roleId: string,\n permissionData: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\n });\n }\n}\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\nimport { Client } from '../client';\nimport type { DataResponse } from '../types';\n\nexport class MarketingService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createBanners = this.createBanners.bind(this);\n this.getBanner = this.getBanner.bind(this);\n this.getBannerByID = this.getBannerByID.bind(this);\n this.updateBanner = this.updateBanner.bind(this);\n this.deleteBanner = this.deleteBanner.bind(this);\n }\n\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\n await this.client.post({\n url: '/marketing/banners',\n jwt,\n data: BannerData,\n });\n }\n\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\n const response = await this.client.get({\n url: '/marketing/banners',\n jwt,\n });\n return response as unknown as DataResponse<Banner[]>;\n }\n\n async getBannerByID(\n BannerId: string,\n jwt: string,\n ): Promise<DataResponse<Banner>> {\n const response = await this.client.get({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n return response as unknown as DataResponse<Banner>;\n }\n\n async updateBanner(\n BannerId: string,\n BannerData: UpdateBanner,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n data: BannerData,\n });\n }\n\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n }\n}\n","import type {\n CreateMembershipType,\n DataResponse,\n MembershipsSummary,\n MembershipType,\n PaginatedTotal,\n PaginationRequest,\n UpdateMembershipType,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class MembershipService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createMembershipType = this.createMembershipType.bind(this);\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n }\n\n async createMembershipType(\n data: CreateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/membership-plans',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n ): Promise<PaginatedTotal<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership-plans',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<MembershipType[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>> {\n const response = await this.client.get({\n url: '/membership-plans/summary',\n jwt,\n });\n return response as unknown as DataResponse<MembershipsSummary>;\n }\n\n async getMembershipTypeByID(\n membershipTypeId: string,\n jwt: string,\n ): Promise<DataResponse<MembershipType>> {\n const response = await this.client.get({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n return response as unknown as DataResponse<MembershipType>;\n }\n\n async updateMembershipType(\n membershipTypeId: string,\n data: UpdateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n data,\n });\n }\n\n async deleteMembershipType(\n membershipTypeId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n }\n}\n","import { Client } from '../client';\nimport type { DataResponse, BranchInfo } from '@/types';\n\nexport class PublicService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getBranchMap = this.getBranchMap.bind(this);\n }\n\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\n const response = await this.client.get({\n url: '/public/branch-map',\n jwt,\n });\n return response as unknown as DataResponse<BranchInfo>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateService,\n DataResponse,\n ServiceCategoryInfo,\n ServiceFullDetail,\n UpdateServiceManual,\n CreateBranchServicePriceItem,\n BranchServicePrice,\n UpdateBranchServicePrice,\n PaginatedServiceRequest,\n PaginatedTotal,\n ServicesSummary,\n} from '@/types';\n\nexport class ProductsService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createService = this.createService.bind(this);\n this.getServices = this.getServices.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getServiceByID = this.getServiceByID.bind(this);\n this.updateService = this.updateService.bind(this);\n this.deleteService = this.deleteService.bind(this);\n this.getCategories = this.getCategories.bind(this);\n\n this.addBranchService = this.addBranchService.bind(this);\n this.removeBranchService = this.removeBranchService.bind(this);\n this.getBranchServices = this.getBranchServices.bind(this);\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\n this.updateBranchService = this.updateBranchService.bind(this);\n }\n async createService(data: CreateService, jwt: string): Promise<void> {\n await this.client.post({\n url: '/services',\n jwt,\n data,\n });\n }\n\n async getServices(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedServiceRequest,\n ): Promise<PaginatedTotal<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<ServiceFullDetail[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<ServicesSummary>> {\n const response = await this.client.get({\n url: '/services/summary',\n jwt,\n });\n return response as unknown as DataResponse<ServicesSummary>;\n }\n\n async getServiceByID(\n serviceId: string,\n jwt: string,\n ): Promise<DataResponse<ServiceFullDetail>> {\n const response = await this.client.get({\n url: `/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail>;\n }\n\n async updateService(\n serviceId: string,\n data: UpdateServiceManual,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/services/${serviceId}`,\n jwt,\n data,\n });\n }\n async deleteService(serviceId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/services/${serviceId}`,\n jwt,\n });\n }\n async getCategories(\n jwt: string,\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\n const response = await this.client.get({\n url: '/services/categories',\n jwt,\n });\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\n }\n\n async addBranchService(\n BranchServiceData: CreateBranchServicePriceItem[],\n branchId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/services`,\n jwt,\n data: {\n services: BranchServiceData,\n },\n });\n }\n\n async getBranchServices(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchServicePrice[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice[]>;\n }\n\n async getBranchServiceByID(\n branchId: string,\n jwt: string,\n serviceId: string,\n ): Promise<DataResponse<BranchServicePrice>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice>;\n }\n\n async updateBranchService(\n branchId: string,\n serviceId: string,\n BranchServiceData: UpdateBranchServicePrice,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n data: BranchServiceData,\n });\n }\n\n async removeBranchService(\n branchId: string,\n serviceId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n }\n}\n","import type {\n BranchEquipmentInventory,\n CreateBranchEquipment,\n CreateEquipment,\n DataResponse,\n Equipment,\n EquipmentInfo,\n PaginatedEquipmentRequest,\n PaginatedTotal,\n UpdateBranchEquipmentDetails,\n UpdateEquipment,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class EquipmentService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getEquipment = this.getEquipment.bind(this);\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\n this.createEquipment = this.createEquipment.bind(this);\n this.updateEquipment = this.updateEquipment.bind(this);\n this.deleteEquipment = this.deleteEquipment.bind(this);\n\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\n }\n\n async getEquipment(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedEquipmentRequest,\n ): Promise<PaginatedTotal<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<Equipment[]>;\n }\n\n async getEquipmentByID(\n equipmentId: string,\n jwt: string,\n ): Promise<DataResponse<EquipmentInfo>> {\n const response = await this.client.get({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n return response as unknown as DataResponse<EquipmentInfo>;\n }\n async getBranchEquipmentByID(\n branchId: string,\n equipmentID: string,\n jwt: string,\n ): Promise<DataResponse<BranchEquipmentInventory>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment/${equipmentID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchEquipmentInventory>;\n }\n\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\n await this.client.post({\n url: '/equipment-types',\n jwt,\n data,\n });\n }\n\n async updateEquipment(\n equipmentId: string,\n data: UpdateEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n data,\n });\n }\n\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n }\n\n async getBranchEquipment(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<Equipment[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment`,\n jwt,\n });\n return response as unknown as DataResponse<Equipment[]>;\n }\n\n async addBranchEquipment(\n branchId: string,\n equipmentData: CreateBranchEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/equipment`,\n jwt,\n data: equipmentData,\n });\n }\n\n async removeBranchEquipment(\n branchId: string,\n equipmentId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n });\n }\n\n async updateBranchEquipment(\n branchId: string,\n equipmentId: string,\n data: UpdateBranchEquipmentDetails,\n jwt: string,\n ): Promise<void> {\n await this.client.patch({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n BranchClassInfo,\n CreateClassPayload,\n DataResponse,\n UpdateClassPayload,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class ScheduleService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.ListBranchesClass = this.ListBranchesClass.bind(this);\n this.CreateClass = this.CreateClass.bind(this);\n this.UpdateClass = this.UpdateClass.bind(this);\n this.DeleteClass = this.DeleteClass.bind(this);\n this.GetClassByID = this.GetClassByID.bind(this);\n }\n\n async ListBranchesClass(\n branchID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchID}/classes`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo[]>;\n }\n async CreateClass(\n branchID: string,\n data: CreateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchID}/classes`,\n jwt,\n data,\n });\n }\n\n async GetClassByID(\n branchID: string,\n classID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo>> {\n const response = await this.client.get({\n url: `/schedule/${classID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo>;\n }\n\n async UpdateClass(\n branchID: string,\n classID: string,\n data: UpdateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/schedule${classID}`,\n jwt,\n data,\n });\n }\n async DeleteClass(\n branchID: string,\n classID: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/schedule/${classID}`,\n jwt,\n });\n }\n}\n","export enum UserGender {\n male = 'male',\n female = 'female',\n preferNotToSay = 'prefer-not-to-say',\n}\n\nexport type LoginRequest = {\n email: string;\n password: string;\n context?: string;\n};\n\nexport type LoginResponse = {\n token: string;\n};\n\nexport type SignUpRequest = {\n first_name: string;\n last_name: string;\n email: string;\n password: string;\n identity_document: string;\n phone?: string | null;\n birth_date: string;\n gender?: UserGender | null;\n profile_picture_url?: string | null;\n role_name?: string | null;\n};\n"],"mappings":"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","names":["axios","UserGender"]}
package/dist/index.d.cts CHANGED
@@ -559,6 +559,36 @@ type PaginatedEquipmentRequest = PaginationRequest & {
559
559
  category?: EquipmentCategory;
560
560
  };
561
561
 
562
+ type BranchClassInfo = {
563
+ branch_id: string;
564
+ class_id: string;
565
+ ends_at: string;
566
+ instructor_id: string;
567
+ is_visible: boolean;
568
+ max_capacity: number;
569
+ notes: string;
570
+ service_id: string;
571
+ starts_at: string;
572
+ };
573
+ type CreateClassPayload = {
574
+ ends_at: string;
575
+ instructor_id: string;
576
+ is_visible: boolean;
577
+ max_capacity: number;
578
+ notes: string;
579
+ service_id: string;
580
+ starts_at: string;
581
+ };
582
+ type UpdateClassPayload = {
583
+ ends_at: string;
584
+ instructor_id: string;
585
+ is_visible: boolean;
586
+ max_capacity: number;
587
+ notes: string;
588
+ service_id: string;
589
+ starts_at: string;
590
+ };
591
+
562
592
  declare class AuthService {
563
593
  private client;
564
594
  constructor(client: Client);
@@ -569,6 +599,7 @@ declare class AuthService {
569
599
  signUpStaff(signUpData: SignUpRequest): Promise<void>;
570
600
  forgotPassword(email: string): Promise<void>;
571
601
  resetPassword(otp: string, password: string, repeatPassword: string): Promise<void>;
602
+ validateResetToken(token: string): Promise<void>;
572
603
  verifyEmail(otp: string): Promise<void>;
573
604
  verifyStaff(token: string, password: string, repeatPassword: string): Promise<void>;
574
605
  }
@@ -699,6 +730,16 @@ declare class EquipmentService {
699
730
  updateBranchEquipment(branchId: string, equipmentId: string, data: UpdateBranchEquipmentDetails, jwt: string): Promise<void>;
700
731
  }
701
732
 
733
+ declare class ScheduleService {
734
+ private client;
735
+ constructor(client: Client);
736
+ ListBranchesClass(branchID: string, jwt: string): Promise<DataResponse<BranchClassInfo[]>>;
737
+ CreateClass(branchID: string, data: CreateClassPayload, jwt: string): Promise<void>;
738
+ GetClassByID(branchID: string, classID: string, jwt: string): Promise<DataResponse<BranchClassInfo>>;
739
+ UpdateClass(branchID: string, classID: string, data: UpdateClassPayload, jwt: string): Promise<void>;
740
+ DeleteClass(branchID: string, classID: string, jwt: string): Promise<void>;
741
+ }
742
+
702
743
  declare class APIError extends Error {
703
744
  status: number;
704
745
  messages: string[];
@@ -720,9 +761,10 @@ declare class VitalFit {
720
761
  public: PublicService;
721
762
  products: ProductsService;
722
763
  equipment: EquipmentService;
764
+ schedule: ScheduleService;
723
765
  constructor(isDevMode: boolean, origin?: string);
724
766
  static getInstance(isDevMode?: boolean): VitalFit;
725
767
  version(): string;
726
768
  }
727
769
 
728
- export { APIError, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BranchDetails, type BranchEquipmentInventory, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentMethodInfo, type BranchPaymentVisibility, type BranchServicePrice, type BranchStatusCount, type ClientProfile, type CreateBanner, type CreateBranchEquipment, type CreateBranchRequest, type CreateBranchServicePriceItem, type CreateEquipment, type CreateMembershipType, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, type EquipmentInfo, type EquipmentStatus, type GetUserResponse, type Instructor, type InstructorData, type InstructorDataList, type InstructorsSummary, type LoginRequest, type LoginResponse, type MembershipType, type MembershipsSummary, type OperatingHour, type PaginatedBranch, type PaginatedEquipmentRequest, type PaginatedInstructor, type PaginatedServiceRequest, type PaginatedTotal, type Pagination, type PaginationBranchRequest, type PaginationRequest, type PagoMovilConfig, type PaymentConfiguration, type PaymentMethod, type PaymentMethodTypes, type Permission, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type ServicesSummary, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchEquipmentDetails, type UpdateBranchPaymentMethod, type UpdateBranchRequest, type UpdateBranchServicePrice, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdateServiceImageManual, type UpdateServiceManual, type UpdateUserRequest, type UpdateUserStaffRequest, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
770
+ export { APIError, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BranchClassInfo, type BranchDetails, type BranchEquipmentInventory, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentMethodInfo, type BranchPaymentVisibility, type BranchServicePrice, type BranchStatusCount, type ClientProfile, type CreateBanner, type CreateBranchEquipment, type CreateBranchRequest, type CreateBranchServicePriceItem, type CreateClassPayload, type CreateEquipment, type CreateMembershipType, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, type EquipmentInfo, type EquipmentStatus, type GetUserResponse, type Instructor, type InstructorData, type InstructorDataList, type InstructorsSummary, type LoginRequest, type LoginResponse, type MembershipType, type MembershipsSummary, type OperatingHour, type PaginatedBranch, type PaginatedEquipmentRequest, type PaginatedInstructor, type PaginatedServiceRequest, type PaginatedTotal, type Pagination, type PaginationBranchRequest, type PaginationRequest, type PagoMovilConfig, type PaymentConfiguration, type PaymentMethod, type PaymentMethodTypes, type Permission, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type ServicesSummary, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchEquipmentDetails, type UpdateBranchPaymentMethod, type UpdateBranchRequest, type UpdateBranchServicePrice, type UpdateClassPayload, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdateServiceImageManual, type UpdateServiceManual, type UpdateUserRequest, type UpdateUserStaffRequest, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
package/dist/index.d.ts CHANGED
@@ -559,6 +559,36 @@ type PaginatedEquipmentRequest = PaginationRequest & {
559
559
  category?: EquipmentCategory;
560
560
  };
561
561
 
562
+ type BranchClassInfo = {
563
+ branch_id: string;
564
+ class_id: string;
565
+ ends_at: string;
566
+ instructor_id: string;
567
+ is_visible: boolean;
568
+ max_capacity: number;
569
+ notes: string;
570
+ service_id: string;
571
+ starts_at: string;
572
+ };
573
+ type CreateClassPayload = {
574
+ ends_at: string;
575
+ instructor_id: string;
576
+ is_visible: boolean;
577
+ max_capacity: number;
578
+ notes: string;
579
+ service_id: string;
580
+ starts_at: string;
581
+ };
582
+ type UpdateClassPayload = {
583
+ ends_at: string;
584
+ instructor_id: string;
585
+ is_visible: boolean;
586
+ max_capacity: number;
587
+ notes: string;
588
+ service_id: string;
589
+ starts_at: string;
590
+ };
591
+
562
592
  declare class AuthService {
563
593
  private client;
564
594
  constructor(client: Client);
@@ -569,6 +599,7 @@ declare class AuthService {
569
599
  signUpStaff(signUpData: SignUpRequest): Promise<void>;
570
600
  forgotPassword(email: string): Promise<void>;
571
601
  resetPassword(otp: string, password: string, repeatPassword: string): Promise<void>;
602
+ validateResetToken(token: string): Promise<void>;
572
603
  verifyEmail(otp: string): Promise<void>;
573
604
  verifyStaff(token: string, password: string, repeatPassword: string): Promise<void>;
574
605
  }
@@ -699,6 +730,16 @@ declare class EquipmentService {
699
730
  updateBranchEquipment(branchId: string, equipmentId: string, data: UpdateBranchEquipmentDetails, jwt: string): Promise<void>;
700
731
  }
701
732
 
733
+ declare class ScheduleService {
734
+ private client;
735
+ constructor(client: Client);
736
+ ListBranchesClass(branchID: string, jwt: string): Promise<DataResponse<BranchClassInfo[]>>;
737
+ CreateClass(branchID: string, data: CreateClassPayload, jwt: string): Promise<void>;
738
+ GetClassByID(branchID: string, classID: string, jwt: string): Promise<DataResponse<BranchClassInfo>>;
739
+ UpdateClass(branchID: string, classID: string, data: UpdateClassPayload, jwt: string): Promise<void>;
740
+ DeleteClass(branchID: string, classID: string, jwt: string): Promise<void>;
741
+ }
742
+
702
743
  declare class APIError extends Error {
703
744
  status: number;
704
745
  messages: string[];
@@ -720,9 +761,10 @@ declare class VitalFit {
720
761
  public: PublicService;
721
762
  products: ProductsService;
722
763
  equipment: EquipmentService;
764
+ schedule: ScheduleService;
723
765
  constructor(isDevMode: boolean, origin?: string);
724
766
  static getInstance(isDevMode?: boolean): VitalFit;
725
767
  version(): string;
726
768
  }
727
769
 
728
- export { APIError, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BranchDetails, type BranchEquipmentInventory, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentMethodInfo, type BranchPaymentVisibility, type BranchServicePrice, type BranchStatusCount, type ClientProfile, type CreateBanner, type CreateBranchEquipment, type CreateBranchRequest, type CreateBranchServicePriceItem, type CreateEquipment, type CreateMembershipType, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, type EquipmentInfo, type EquipmentStatus, type GetUserResponse, type Instructor, type InstructorData, type InstructorDataList, type InstructorsSummary, type LoginRequest, type LoginResponse, type MembershipType, type MembershipsSummary, type OperatingHour, type PaginatedBranch, type PaginatedEquipmentRequest, type PaginatedInstructor, type PaginatedServiceRequest, type PaginatedTotal, type Pagination, type PaginationBranchRequest, type PaginationRequest, type PagoMovilConfig, type PaymentConfiguration, type PaymentMethod, type PaymentMethodTypes, type Permission, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type ServicesSummary, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchEquipmentDetails, type UpdateBranchPaymentMethod, type UpdateBranchRequest, type UpdateBranchServicePrice, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdateServiceImageManual, type UpdateServiceManual, type UpdateUserRequest, type UpdateUserStaffRequest, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
770
+ export { APIError, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BranchClassInfo, type BranchDetails, type BranchEquipmentInventory, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentMethodInfo, type BranchPaymentVisibility, type BranchServicePrice, type BranchStatusCount, type ClientProfile, type CreateBanner, type CreateBranchEquipment, type CreateBranchRequest, type CreateBranchServicePriceItem, type CreateClassPayload, type CreateEquipment, type CreateMembershipType, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, type EquipmentInfo, type EquipmentStatus, type GetUserResponse, type Instructor, type InstructorData, type InstructorDataList, type InstructorsSummary, type LoginRequest, type LoginResponse, type MembershipType, type MembershipsSummary, type OperatingHour, type PaginatedBranch, type PaginatedEquipmentRequest, type PaginatedInstructor, type PaginatedServiceRequest, type PaginatedTotal, type Pagination, type PaginationBranchRequest, type PaginationRequest, type PagoMovilConfig, type PaymentConfiguration, type PaymentMethod, type PaymentMethodTypes, type Permission, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type ServicesSummary, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchEquipmentDetails, type UpdateBranchPaymentMethod, type UpdateBranchRequest, type UpdateBranchServicePrice, type UpdateClassPayload, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdateServiceImageManual, type UpdateServiceManual, type UpdateUserRequest, type UpdateUserStaffRequest, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
package/dist/index.js CHANGED
@@ -121,6 +121,7 @@ var AuthService = class {
121
121
  this.signUpStaff = this.signUpStaff.bind(this);
122
122
  this.forgotPassword = this.forgotPassword.bind(this);
123
123
  this.resetPassword = this.resetPassword.bind(this);
124
+ this.validateResetToken = this.validateResetToken.bind(this);
124
125
  this.verifyEmail = this.verifyEmail.bind(this);
125
126
  this.verifyStaff = this.verifyStaff.bind(this);
126
127
  this.logout = this.logout.bind(this);
@@ -189,6 +190,11 @@ var AuthService = class {
189
190
  }
190
191
  });
191
192
  }
193
+ async validateResetToken(token) {
194
+ await this.client.get({
195
+ url: `/auth/password/validate/${token}`
196
+ });
197
+ }
192
198
  async verifyEmail(otp) {
193
199
  await this.client.post({
194
200
  url: "/auth/activate",
@@ -952,6 +958,53 @@ var EquipmentService = class {
952
958
  }
953
959
  };
954
960
 
961
+ // src/services/schedule.ts
962
+ var ScheduleService = class {
963
+ client;
964
+ constructor(client) {
965
+ this.client = client;
966
+ this.ListBranchesClass = this.ListBranchesClass.bind(this);
967
+ this.CreateClass = this.CreateClass.bind(this);
968
+ this.UpdateClass = this.UpdateClass.bind(this);
969
+ this.DeleteClass = this.DeleteClass.bind(this);
970
+ this.GetClassByID = this.GetClassByID.bind(this);
971
+ }
972
+ async ListBranchesClass(branchID, jwt) {
973
+ const response = await this.client.get({
974
+ url: `/branches/${branchID}/classes`,
975
+ jwt
976
+ });
977
+ return response;
978
+ }
979
+ async CreateClass(branchID, data, jwt) {
980
+ await this.client.post({
981
+ url: `/branches/${branchID}/classes`,
982
+ jwt,
983
+ data
984
+ });
985
+ }
986
+ async GetClassByID(branchID, classID, jwt) {
987
+ const response = await this.client.get({
988
+ url: `/schedule/${classID}`,
989
+ jwt
990
+ });
991
+ return response;
992
+ }
993
+ async UpdateClass(branchID, classID, data, jwt) {
994
+ await this.client.put({
995
+ url: `/schedule${classID}`,
996
+ jwt,
997
+ data
998
+ });
999
+ }
1000
+ async DeleteClass(branchID, classID, jwt) {
1001
+ await this.client.delete({
1002
+ url: `/schedule/${classID}`,
1003
+ jwt
1004
+ });
1005
+ }
1006
+ };
1007
+
955
1008
  // src/types/auth.ts
956
1009
  var UserGender = /* @__PURE__ */ ((UserGender2) => {
957
1010
  UserGender2["male"] = "male";
@@ -975,6 +1028,7 @@ var VitalFit = class _VitalFit {
975
1028
  public;
976
1029
  products;
977
1030
  equipment;
1031
+ schedule;
978
1032
  constructor(isDevMode, origin) {
979
1033
  this.client = new Client(isDevMode, origin);
980
1034
  this.auth = new AuthService(this.client);
@@ -988,6 +1042,7 @@ var VitalFit = class _VitalFit {
988
1042
  this.public = new PublicService(this.client);
989
1043
  this.products = new ProductsService(this.client);
990
1044
  this.equipment = new EquipmentService(this.client);
1045
+ this.schedule = new ScheduleService(this.client);
991
1046
  }
992
1047
  static getInstance(isDevMode = false) {
993
1048
  if (!_VitalFit.instance) {
@@ -996,7 +1051,7 @@ var VitalFit = class _VitalFit {
996
1051
  return _VitalFit.instance;
997
1052
  }
998
1053
  version() {
999
- return "0.0.54";
1054
+ return "0.0.56";
1000
1055
  }
1001
1056
  };
1002
1057
  export {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/types/auth.ts","../src/index.ts"],"sourcesContent":["import axios, { type AxiosInstance } from 'axios';\nimport { BASE_URL, DEV_URL } from './settings';\nimport { APIError } from './errors';\nimport type { Pagination } from './types';\n\nexport type ClientConfig = {\n url: string;\n jwt?: string;\n data?: object;\n params?: object;\n};\n\nexport class Client {\n private client: AxiosInstance;\n jwt?: string;\n\n constructor(isDevMode: boolean, origin?: string) {\n let headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (origin) {\n headers['Origin'] = origin;\n }\n this.client = axios.create({\n baseURL: isDevMode ? DEV_URL : BASE_URL,\n headers,\n });\n }\n\n async call(method: string, config: ClientConfig): Promise<Response> {\n if (config.jwt) {\n this.client.interceptors.request.use((axiosConfig) => {\n if (axiosConfig.headers) {\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\n }\n return axiosConfig;\n });\n }\n try {\n const response = await this.client.request({\n method: method,\n url: config.url,\n data: config.data,\n params: config.params,\n });\n this.client.interceptors.request.clear();\n return response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: unknown) {\n if (axios.isAxiosError(error)) {\n const errorMessage = error.response?.data?.error;\n if (typeof errorMessage === 'string') {\n throw new APIError([errorMessage], error.response?.status ?? 500);\n }\n throw new APIError(\n ['Ocurrió un error inesperado'],\n error.response?.status ?? 500,\n );\n }\n throw new Error(error as string);\n }\n }\n\n async get(config: ClientConfig): Promise<any> {\n const isPaginated = config.params && 'page' in config.params;\n\n if (isPaginated) {\n const response = (await this.call(\n 'get',\n config,\n )) as unknown as Pagination<any>;\n\n const baseURL = this.client.defaults.baseURL || '';\n\n if (response.next) {\n response.next = `${baseURL}${response.next}`;\n }\n if (response.previous) {\n response.previous = `${baseURL}${response.previous}`;\n }\n\n return response;\n } else {\n const data = await this.call('get', config);\n return data;\n }\n }\n\n async post(config: ClientConfig) {\n const data = await this.call('post', config);\n return data;\n }\n\n async put(config: ClientConfig) {\n const data = await this.call('put', config);\n return data;\n }\n\n async patch(config: ClientConfig) {\n const data = await this.call('patch', config);\n return data;\n }\n\n async delete(config: ClientConfig) {\n const data = await this.call('delete', config);\n return data;\n }\n\n setJWT(jwt: string) {\n this.jwt = jwt;\n }\n\n removeJWT() {\n this.jwt = undefined;\n }\n}\n","export const BASE_URL = 'https://api.teamvitalfit.xyz/v1';\nexport const DEV_URL = 'https://api.teamvitalfit.xyz/v1';\n","export class APIError extends Error {\n status: number;\n messages: string[];\n constructor(messages: string[], status: number) {\n super(messages.join(', '));\n this.status = status;\n this.messages = messages;\n }\n}\n\nexport const isAPIError = (error: unknown): error is APIError => {\n return error instanceof APIError;\n};\n","import { Client } from '../client';\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\n\nexport class AuthService {\n private client: Client;\n constructor(client: Client) {\n this.client = client;\n this.login = this.login.bind(this);\n this.signUp = this.signUp.bind(this);\n this.signUpStaff = this.signUpStaff.bind(this);\n this.forgotPassword = this.forgotPassword.bind(this);\n this.resetPassword = this.resetPassword.bind(this);\n this.verifyEmail = this.verifyEmail.bind(this);\n this.verifyStaff = this.verifyStaff.bind(this);\n\n this.logout = this.logout.bind(this);\n this.saveJWT = this.saveJWT.bind(this);\n }\n\n async login({\n email,\n password,\n context,\n }: LoginRequest): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/login',\n data: {\n email,\n password,\n context,\n },\n });\n return response as unknown as LoginResponse;\n }\n\n logout(): void {\n this.client.removeJWT();\n }\n\n saveJWT(jwt: string): void {\n this.client.setJWT(jwt);\n }\n\n async signUp(signUpData: SignUpRequest): Promise<void> {\n signUpData.role_name = 'client';\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (signUpData.role_name != 'client') {\n throw new Error('Only clients can sign up using this method');\n }\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register',\n data: signUpData,\n });\n }\n\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register-staff',\n data: signUpData,\n });\n }\n async forgotPassword(email: string): Promise<void> {\n await this.client.post({\n url: '/auth/password/forgot',\n data: {\n email,\n },\n });\n }\n\n async resetPassword(\n otp: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.post({\n url: '/auth/password/reset',\n data: {\n otp,\n password,\n repeatPassword,\n },\n });\n }\n\n async verifyEmail(otp: string): Promise<void> {\n await this.client.post({\n url: '/auth/activate',\n data: {\n otp,\n },\n });\n }\n\n async verifyStaff(\n token: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.put({\n url: `/auth/activate/${token}`,\n data: {\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\n GetUserResponse,\n UpdateUserRequest,\n UpdateUserStaffRequest,\n} from '@/types';\n\nexport class UserService {\n client: Client;\n constructor(client: Client) {\n this.client = client;\n this.WhoAmI = this.WhoAmI.bind(this);\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\n this.getClientUsers = this.getClientUsers.bind(this);\n this.getStaffUsers = this.getStaffUsers.bind(this);\n\n this.GetUserByID = this.GetUserByID.bind(this);\n this.updateUserClient = this.updateUserClient.bind(this);\n this.updateUserStaff = this.updateUserStaff.bind(this);\n }\n\n async getStaffUsers(\n { search, role }: UserPaginationOptions,\n jwt: string,\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/users',\n jwt,\n params: {\n search,\n role,\n },\n });\n\n return response as unknown as DataResponse<User[]>;\n }\n\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\n const response = await this.client.get({\n url: '/user/whoami',\n jwt,\n });\n return response as unknown as UserApiResponse;\n }\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/branch-admins',\n jwt,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async getClientUsers(\n jwt: string,\n options: UserPaginationOptions = {},\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/clients',\n jwt,\n params: options,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async GetUserByID(\n userId: string,\n jwt: string,\n ): Promise<DataResponse<GetUserResponse>> {\n const response = await this.client.get({\n url: `/user/${userId}`,\n jwt,\n });\n return response as unknown as DataResponse<GetUserResponse>;\n }\n\n async updateUserClient(\n userId: string,\n data: UpdateUserRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/client`,\n jwt,\n data,\n });\n }\n async updateUserStaff(\n userId: string,\n data: UpdateUserStaffRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/staff`,\n jwt,\n data,\n });\n }\n}\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\nimport type {\n PaginatedBranch,\n PaginationBranchRequest,\n BranchStatusCount,\n BranchDetails,\n UpdateBranchRequest,\n} from '../types/branch';\n\nexport class BranchService {\n private client: any;\n\n constructor(client: any) {\n this.client = client;\n this.getBranches = this.getBranches.bind(this);\n this.delete = this.delete.bind(this);\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\n this.createBranch = this.createBranch.bind(this);\n this.getBranchById = this.getBranchById.bind(this);\n this.updateBranch = this.updateBranch.bind(this);\n }\n\n async updateBranch(\n branchId: string,\n branchData: UpdateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}`,\n jwt,\n data: branchData,\n });\n }\n\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\n const response = await this.client.get({\n url: `/branches/${branchId}`,\n jwt,\n });\n return response as unknown as BranchDetails;\n }\n\n async getBranches(\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\n jwt: string,\n ): Promise<Pagination<PaginatedBranch[]>> {\n const response = await this.client.get({\n url: '/branches',\n jwt,\n params: {\n page,\n limit,\n search,\n status,\n location,\n },\n });\n return response as unknown as Pagination<PaginatedBranch[]>;\n }\n\n async delete(branchId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}`,\n jwt,\n });\n }\n\n async getBranchStatusCount(\n jwt: string,\n ): Promise<DataResponse<BranchStatusCount>> {\n const response = await this.client.get({\n url: '/branches/status',\n jwt,\n });\n return response as unknown as DataResponse<BranchStatusCount>;\n }\n\n async createBranch(\n branchData: CreateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/branches',\n jwt,\n data: branchData,\n });\n }\n}\n","import { Client } from '../client';\nimport type {\n BranchPaymentMethodInfo,\n CreatePaymentMethod,\n DataResponse,\n PaymentMethod,\n UpdateBranchPaymentMethod,\n} from '@/types';\n\nexport class PaymentMethodService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\n\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\n this.getBranchPaymentMethodByID =\n this.getBranchPaymentMethodByID.bind(this);\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\n }\n\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\n const response = await this.client.get({\n url: '/billing/payment-methods',\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod[]>;\n }\n async createPaymentMethod(\n paymentMethodData: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/billing/payment-methods',\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getPaymentMethodByID(\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<PaymentMethod>> {\n const response = await this.client.get({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod>;\n }\n\n async updatePaymentMethod(\n paymentMethodId: string,\n data: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n data,\n });\n }\n\n async deletePaymentMethod(\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async addBranchPaymentMethod(\n branchId: string,\n paymentMethodID: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: {\n method_id: paymentMethodID,\n },\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo[]>;\n }\n\n async getBranchPaymentMethodByID(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\n }\n\n async removeBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async updateBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n data: UpdateBranchPaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n PaginatedTotal,\n InstructorsSummary,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { page = 10, limit = 10, search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<PaginatedTotal<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n page,\n limit,\n search,\n identity_doc,\n },\n });\n return response as unknown as PaginatedTotal<InstructorDataList[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>> {\n const response = await this.client.get({\n url: '/instructor/summary',\n jwt,\n });\n return response as unknown as DataResponse<InstructorsSummary>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructor: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateRole,\n DataResponse,\n PaginationRequest,\n Permission,\n RoleResponse,\n PaginatedTotal,\n} from '@/types';\n\nexport class RBACService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPermissions = this.getPermissions.bind(this);\n this.getRoles = this.getRoles.bind(this);\n this.createRole = this.createRole.bind(this);\n this.updateRole = this.updateRole.bind(this);\n this.getRoleByID = this.getRoleByID.bind(this);\n this.deleteRole = this.deleteRole.bind(this);\n this.addPermission = this.addPermission.bind(this);\n this.removePermission = this.removePermission.bind(this);\n }\n\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\n const response = await this.client.get({\n url: '/admin/permissions',\n jwt,\n });\n return response as unknown as DataResponse<Permission[]>;\n }\n\n async getRoles(\n { page = 10, limit = 10, search, sort = 'desc' }: PaginationRequest,\n jwt: string,\n ): Promise<PaginatedTotal<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n params: {\n page,\n limit,\n search,\n },\n });\n return response as unknown as PaginatedTotal<RoleResponse[]>;\n }\n\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\n await this.client.post({\n url: '/admin/roles',\n jwt,\n data: roleData,\n });\n }\n\n async updateRole(\n roleId: string,\n roleData: CreateRole,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/admin/roles/${roleId}`,\n jwt,\n data: roleData,\n });\n }\n\n async getRoleByID(\n roleId: string,\n jwt: string,\n ): Promise<DataResponse<RoleResponse>> {\n const response = await this.client.get({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n return response as unknown as DataResponse<RoleResponse>;\n }\n\n async deleteRole(roleId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n }\n async addPermission(\n roleId: string,\n permissionData: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: {\n permissions: permissionData,\n },\n });\n }\n async removePermission(\n roleId: string,\n permissionData: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\n });\n }\n}\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\nimport { Client } from '../client';\nimport type { DataResponse } from '../types';\n\nexport class MarketingService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createBanners = this.createBanners.bind(this);\n this.getBanner = this.getBanner.bind(this);\n this.getBannerByID = this.getBannerByID.bind(this);\n this.updateBanner = this.updateBanner.bind(this);\n this.deleteBanner = this.deleteBanner.bind(this);\n }\n\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\n await this.client.post({\n url: '/marketing/banners',\n jwt,\n data: BannerData,\n });\n }\n\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\n const response = await this.client.get({\n url: '/marketing/banners',\n jwt,\n });\n return response as unknown as DataResponse<Banner[]>;\n }\n\n async getBannerByID(\n BannerId: string,\n jwt: string,\n ): Promise<DataResponse<Banner>> {\n const response = await this.client.get({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n return response as unknown as DataResponse<Banner>;\n }\n\n async updateBanner(\n BannerId: string,\n BannerData: UpdateBanner,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n data: BannerData,\n });\n }\n\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n }\n}\n","import type {\n CreateMembershipType,\n DataResponse,\n MembershipsSummary,\n MembershipType,\n PaginatedTotal,\n PaginationRequest,\n UpdateMembershipType,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class MembershipService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createMembershipType = this.createMembershipType.bind(this);\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n }\n\n async createMembershipType(\n data: CreateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/membership-plans',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n ): Promise<PaginatedTotal<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership-plans',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<MembershipType[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>> {\n const response = await this.client.get({\n url: '/membership-plans/summary',\n jwt,\n });\n return response as unknown as DataResponse<MembershipsSummary>;\n }\n\n async getMembershipTypeByID(\n membershipTypeId: string,\n jwt: string,\n ): Promise<DataResponse<MembershipType>> {\n const response = await this.client.get({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n return response as unknown as DataResponse<MembershipType>;\n }\n\n async updateMembershipType(\n membershipTypeId: string,\n data: UpdateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n data,\n });\n }\n\n async deleteMembershipType(\n membershipTypeId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n }\n}\n","import { Client } from '../client';\nimport type { DataResponse, BranchInfo } from '@/types';\n\nexport class PublicService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getBranchMap = this.getBranchMap.bind(this);\n }\n\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\n const response = await this.client.get({\n url: '/public/branch-map',\n jwt,\n });\n return response as unknown as DataResponse<BranchInfo>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateService,\n DataResponse,\n ServiceCategoryInfo,\n ServiceFullDetail,\n UpdateServiceManual,\n CreateBranchServicePriceItem,\n BranchServicePrice,\n UpdateBranchServicePrice,\n PaginatedServiceRequest,\n PaginatedTotal,\n ServicesSummary,\n} from '@/types';\n\nexport class ProductsService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createService = this.createService.bind(this);\n this.getServices = this.getServices.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getServiceByID = this.getServiceByID.bind(this);\n this.updateService = this.updateService.bind(this);\n this.deleteService = this.deleteService.bind(this);\n this.getCategories = this.getCategories.bind(this);\n\n this.addBranchService = this.addBranchService.bind(this);\n this.removeBranchService = this.removeBranchService.bind(this);\n this.getBranchServices = this.getBranchServices.bind(this);\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\n this.updateBranchService = this.updateBranchService.bind(this);\n }\n async createService(data: CreateService, jwt: string): Promise<void> {\n await this.client.post({\n url: '/services',\n jwt,\n data,\n });\n }\n\n async getServices(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedServiceRequest,\n ): Promise<PaginatedTotal<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<ServiceFullDetail[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<ServicesSummary>> {\n const response = await this.client.get({\n url: '/services/summary',\n jwt,\n });\n return response as unknown as DataResponse<ServicesSummary>;\n }\n\n async getServiceByID(\n serviceId: string,\n jwt: string,\n ): Promise<DataResponse<ServiceFullDetail>> {\n const response = await this.client.get({\n url: `/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail>;\n }\n\n async updateService(\n serviceId: string,\n data: UpdateServiceManual,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/services/${serviceId}`,\n jwt,\n data,\n });\n }\n async deleteService(serviceId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/services/${serviceId}`,\n jwt,\n });\n }\n async getCategories(\n jwt: string,\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\n const response = await this.client.get({\n url: '/services/categories',\n jwt,\n });\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\n }\n\n async addBranchService(\n BranchServiceData: CreateBranchServicePriceItem[],\n branchId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/services`,\n jwt,\n data: {\n services: BranchServiceData,\n },\n });\n }\n\n async getBranchServices(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchServicePrice[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice[]>;\n }\n\n async getBranchServiceByID(\n branchId: string,\n jwt: string,\n serviceId: string,\n ): Promise<DataResponse<BranchServicePrice>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice>;\n }\n\n async updateBranchService(\n branchId: string,\n serviceId: string,\n BranchServiceData: UpdateBranchServicePrice,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n data: BranchServiceData,\n });\n }\n\n async removeBranchService(\n branchId: string,\n serviceId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n }\n}\n","import type {\n BranchEquipmentInventory,\n CreateBranchEquipment,\n CreateEquipment,\n DataResponse,\n Equipment,\n EquipmentInfo,\n PaginatedEquipmentRequest,\n PaginatedTotal,\n UpdateBranchEquipmentDetails,\n UpdateEquipment,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class EquipmentService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getEquipment = this.getEquipment.bind(this);\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\n this.createEquipment = this.createEquipment.bind(this);\n this.updateEquipment = this.updateEquipment.bind(this);\n this.deleteEquipment = this.deleteEquipment.bind(this);\n\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\n }\n\n async getEquipment(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedEquipmentRequest,\n ): Promise<PaginatedTotal<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<Equipment[]>;\n }\n\n async getEquipmentByID(\n equipmentId: string,\n jwt: string,\n ): Promise<DataResponse<EquipmentInfo>> {\n const response = await this.client.get({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n return response as unknown as DataResponse<EquipmentInfo>;\n }\n async getBranchEquipmentByID(\n branchId: string,\n equipmentID: string,\n jwt: string,\n ): Promise<DataResponse<BranchEquipmentInventory>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment/${equipmentID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchEquipmentInventory>;\n }\n\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\n await this.client.post({\n url: '/equipment-types',\n jwt,\n data,\n });\n }\n\n async updateEquipment(\n equipmentId: string,\n data: UpdateEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n data,\n });\n }\n\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n }\n\n async getBranchEquipment(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<Equipment[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment`,\n jwt,\n });\n return response as unknown as DataResponse<Equipment[]>;\n }\n\n async addBranchEquipment(\n branchId: string,\n equipmentData: CreateBranchEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/equipment`,\n jwt,\n data: equipmentData,\n });\n }\n\n async removeBranchEquipment(\n branchId: string,\n equipmentId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n });\n }\n\n async updateBranchEquipment(\n branchId: string,\n equipmentId: string,\n data: UpdateBranchEquipmentDetails,\n jwt: string,\n ): Promise<void> {\n await this.client.patch({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n data: data,\n });\n }\n}\n","export enum UserGender {\n male = 'male',\n female = 'female',\n preferNotToSay = 'prefer-not-to-say',\n}\n\nexport type LoginRequest = {\n email: string;\n password: string;\n context?: string;\n};\n\nexport type LoginResponse = {\n token: string;\n};\n\nexport type SignUpRequest = {\n first_name: string;\n last_name: string;\n email: string;\n password: string;\n identity_document: string;\n phone?: string | null;\n birth_date: string;\n gender?: UserGender | null;\n profile_picture_url?: string | null;\n role_name?: string | null;\n};\n","import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.54';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n"],"mappings":"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","names":["UserGender"]}
1
+ {"version":3,"sources":["../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/services/schedule.ts","../src/types/auth.ts","../src/index.ts"],"sourcesContent":["import axios, { type AxiosInstance } from 'axios';\nimport { BASE_URL, DEV_URL } from './settings';\nimport { APIError } from './errors';\nimport type { Pagination } from './types';\n\nexport type ClientConfig = {\n url: string;\n jwt?: string;\n data?: object;\n params?: object;\n};\n\nexport class Client {\n private client: AxiosInstance;\n jwt?: string;\n\n constructor(isDevMode: boolean, origin?: string) {\n let headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (origin) {\n headers['Origin'] = origin;\n }\n this.client = axios.create({\n baseURL: isDevMode ? DEV_URL : BASE_URL,\n headers,\n });\n }\n\n async call(method: string, config: ClientConfig): Promise<Response> {\n if (config.jwt) {\n this.client.interceptors.request.use((axiosConfig) => {\n if (axiosConfig.headers) {\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\n }\n return axiosConfig;\n });\n }\n try {\n const response = await this.client.request({\n method: method,\n url: config.url,\n data: config.data,\n params: config.params,\n });\n this.client.interceptors.request.clear();\n return response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: unknown) {\n if (axios.isAxiosError(error)) {\n const errorMessage = error.response?.data?.error;\n if (typeof errorMessage === 'string') {\n throw new APIError([errorMessage], error.response?.status ?? 500);\n }\n throw new APIError(\n ['Ocurrió un error inesperado'],\n error.response?.status ?? 500,\n );\n }\n throw new Error(error as string);\n }\n }\n\n async get(config: ClientConfig): Promise<any> {\n const isPaginated = config.params && 'page' in config.params;\n\n if (isPaginated) {\n const response = (await this.call(\n 'get',\n config,\n )) as unknown as Pagination<any>;\n\n const baseURL = this.client.defaults.baseURL || '';\n\n if (response.next) {\n response.next = `${baseURL}${response.next}`;\n }\n if (response.previous) {\n response.previous = `${baseURL}${response.previous}`;\n }\n\n return response;\n } else {\n const data = await this.call('get', config);\n return data;\n }\n }\n\n async post(config: ClientConfig) {\n const data = await this.call('post', config);\n return data;\n }\n\n async put(config: ClientConfig) {\n const data = await this.call('put', config);\n return data;\n }\n\n async patch(config: ClientConfig) {\n const data = await this.call('patch', config);\n return data;\n }\n\n async delete(config: ClientConfig) {\n const data = await this.call('delete', config);\n return data;\n }\n\n setJWT(jwt: string) {\n this.jwt = jwt;\n }\n\n removeJWT() {\n this.jwt = undefined;\n }\n}\n","export const BASE_URL = 'https://api.teamvitalfit.xyz/v1';\nexport const DEV_URL = 'https://api.teamvitalfit.xyz/v1';\n","export class APIError extends Error {\n status: number;\n messages: string[];\n constructor(messages: string[], status: number) {\n super(messages.join(', '));\n this.status = status;\n this.messages = messages;\n }\n}\n\nexport const isAPIError = (error: unknown): error is APIError => {\n return error instanceof APIError;\n};\n","import { Client } from '../client';\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\n\nexport class AuthService {\n private client: Client;\n constructor(client: Client) {\n this.client = client;\n this.login = this.login.bind(this);\n this.signUp = this.signUp.bind(this);\n this.signUpStaff = this.signUpStaff.bind(this);\n this.forgotPassword = this.forgotPassword.bind(this);\n this.resetPassword = this.resetPassword.bind(this);\n this.validateResetToken = this.validateResetToken.bind(this);\n this.verifyEmail = this.verifyEmail.bind(this);\n this.verifyStaff = this.verifyStaff.bind(this);\n\n this.logout = this.logout.bind(this);\n this.saveJWT = this.saveJWT.bind(this);\n }\n\n async login({\n email,\n password,\n context,\n }: LoginRequest): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/login',\n data: {\n email,\n password,\n context,\n },\n });\n return response as unknown as LoginResponse;\n }\n\n logout(): void {\n this.client.removeJWT();\n }\n\n saveJWT(jwt: string): void {\n this.client.setJWT(jwt);\n }\n\n async signUp(signUpData: SignUpRequest): Promise<void> {\n signUpData.role_name = 'client';\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (signUpData.role_name != 'client') {\n throw new Error('Only clients can sign up using this method');\n }\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register',\n data: signUpData,\n });\n }\n\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register-staff',\n data: signUpData,\n });\n }\n async forgotPassword(email: string): Promise<void> {\n await this.client.post({\n url: '/auth/password/forgot',\n data: {\n email,\n },\n });\n }\n\n async resetPassword(\n otp: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.post({\n url: '/auth/password/reset',\n data: {\n otp,\n password,\n repeatPassword,\n },\n });\n }\n\n async validateResetToken(token: string): Promise<void> {\n await this.client.get({\n url: `/auth/password/validate/${token}`,\n });\n }\n\n async verifyEmail(otp: string): Promise<void> {\n await this.client.post({\n url: '/auth/activate',\n data: {\n otp,\n },\n });\n }\n\n async verifyStaff(\n token: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.put({\n url: `/auth/activate/${token}`,\n data: {\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\n GetUserResponse,\n UpdateUserRequest,\n UpdateUserStaffRequest,\n} from '@/types';\n\nexport class UserService {\n client: Client;\n constructor(client: Client) {\n this.client = client;\n this.WhoAmI = this.WhoAmI.bind(this);\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\n this.getClientUsers = this.getClientUsers.bind(this);\n this.getStaffUsers = this.getStaffUsers.bind(this);\n\n this.GetUserByID = this.GetUserByID.bind(this);\n this.updateUserClient = this.updateUserClient.bind(this);\n this.updateUserStaff = this.updateUserStaff.bind(this);\n }\n\n async getStaffUsers(\n { search, role }: UserPaginationOptions,\n jwt: string,\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/users',\n jwt,\n params: {\n search,\n role,\n },\n });\n\n return response as unknown as DataResponse<User[]>;\n }\n\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\n const response = await this.client.get({\n url: '/user/whoami',\n jwt,\n });\n return response as unknown as UserApiResponse;\n }\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/branch-admins',\n jwt,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async getClientUsers(\n jwt: string,\n options: UserPaginationOptions = {},\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/clients',\n jwt,\n params: options,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async GetUserByID(\n userId: string,\n jwt: string,\n ): Promise<DataResponse<GetUserResponse>> {\n const response = await this.client.get({\n url: `/user/${userId}`,\n jwt,\n });\n return response as unknown as DataResponse<GetUserResponse>;\n }\n\n async updateUserClient(\n userId: string,\n data: UpdateUserRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/client`,\n jwt,\n data,\n });\n }\n async updateUserStaff(\n userId: string,\n data: UpdateUserStaffRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/staff`,\n jwt,\n data,\n });\n }\n}\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\nimport type {\n PaginatedBranch,\n PaginationBranchRequest,\n BranchStatusCount,\n BranchDetails,\n UpdateBranchRequest,\n} from '../types/branch';\n\nexport class BranchService {\n private client: any;\n\n constructor(client: any) {\n this.client = client;\n this.getBranches = this.getBranches.bind(this);\n this.delete = this.delete.bind(this);\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\n this.createBranch = this.createBranch.bind(this);\n this.getBranchById = this.getBranchById.bind(this);\n this.updateBranch = this.updateBranch.bind(this);\n }\n\n async updateBranch(\n branchId: string,\n branchData: UpdateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}`,\n jwt,\n data: branchData,\n });\n }\n\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\n const response = await this.client.get({\n url: `/branches/${branchId}`,\n jwt,\n });\n return response as unknown as BranchDetails;\n }\n\n async getBranches(\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\n jwt: string,\n ): Promise<Pagination<PaginatedBranch[]>> {\n const response = await this.client.get({\n url: '/branches',\n jwt,\n params: {\n page,\n limit,\n search,\n status,\n location,\n },\n });\n return response as unknown as Pagination<PaginatedBranch[]>;\n }\n\n async delete(branchId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}`,\n jwt,\n });\n }\n\n async getBranchStatusCount(\n jwt: string,\n ): Promise<DataResponse<BranchStatusCount>> {\n const response = await this.client.get({\n url: '/branches/status',\n jwt,\n });\n return response as unknown as DataResponse<BranchStatusCount>;\n }\n\n async createBranch(\n branchData: CreateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/branches',\n jwt,\n data: branchData,\n });\n }\n}\n","import { Client } from '../client';\nimport type {\n BranchPaymentMethodInfo,\n CreatePaymentMethod,\n DataResponse,\n PaymentMethod,\n UpdateBranchPaymentMethod,\n} from '@/types';\n\nexport class PaymentMethodService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\n\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\n this.getBranchPaymentMethodByID =\n this.getBranchPaymentMethodByID.bind(this);\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\n }\n\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\n const response = await this.client.get({\n url: '/billing/payment-methods',\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod[]>;\n }\n async createPaymentMethod(\n paymentMethodData: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/billing/payment-methods',\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getPaymentMethodByID(\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<PaymentMethod>> {\n const response = await this.client.get({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod>;\n }\n\n async updatePaymentMethod(\n paymentMethodId: string,\n data: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n data,\n });\n }\n\n async deletePaymentMethod(\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async addBranchPaymentMethod(\n branchId: string,\n paymentMethodID: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: {\n method_id: paymentMethodID,\n },\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo[]>;\n }\n\n async getBranchPaymentMethodByID(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\n }\n\n async removeBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async updateBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n data: UpdateBranchPaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n PaginatedTotal,\n InstructorsSummary,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { page = 10, limit = 10, search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<PaginatedTotal<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n page,\n limit,\n search,\n identity_doc,\n },\n });\n return response as unknown as PaginatedTotal<InstructorDataList[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>> {\n const response = await this.client.get({\n url: '/instructor/summary',\n jwt,\n });\n return response as unknown as DataResponse<InstructorsSummary>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructor: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateRole,\n DataResponse,\n PaginationRequest,\n Permission,\n RoleResponse,\n PaginatedTotal,\n} from '@/types';\n\nexport class RBACService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPermissions = this.getPermissions.bind(this);\n this.getRoles = this.getRoles.bind(this);\n this.createRole = this.createRole.bind(this);\n this.updateRole = this.updateRole.bind(this);\n this.getRoleByID = this.getRoleByID.bind(this);\n this.deleteRole = this.deleteRole.bind(this);\n this.addPermission = this.addPermission.bind(this);\n this.removePermission = this.removePermission.bind(this);\n }\n\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\n const response = await this.client.get({\n url: '/admin/permissions',\n jwt,\n });\n return response as unknown as DataResponse<Permission[]>;\n }\n\n async getRoles(\n { page = 10, limit = 10, search, sort = 'desc' }: PaginationRequest,\n jwt: string,\n ): Promise<PaginatedTotal<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n params: {\n page,\n limit,\n search,\n },\n });\n return response as unknown as PaginatedTotal<RoleResponse[]>;\n }\n\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\n await this.client.post({\n url: '/admin/roles',\n jwt,\n data: roleData,\n });\n }\n\n async updateRole(\n roleId: string,\n roleData: CreateRole,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/admin/roles/${roleId}`,\n jwt,\n data: roleData,\n });\n }\n\n async getRoleByID(\n roleId: string,\n jwt: string,\n ): Promise<DataResponse<RoleResponse>> {\n const response = await this.client.get({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n return response as unknown as DataResponse<RoleResponse>;\n }\n\n async deleteRole(roleId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n }\n async addPermission(\n roleId: string,\n permissionData: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: {\n permissions: permissionData,\n },\n });\n }\n async removePermission(\n roleId: string,\n permissionData: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\n });\n }\n}\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\nimport { Client } from '../client';\nimport type { DataResponse } from '../types';\n\nexport class MarketingService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createBanners = this.createBanners.bind(this);\n this.getBanner = this.getBanner.bind(this);\n this.getBannerByID = this.getBannerByID.bind(this);\n this.updateBanner = this.updateBanner.bind(this);\n this.deleteBanner = this.deleteBanner.bind(this);\n }\n\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\n await this.client.post({\n url: '/marketing/banners',\n jwt,\n data: BannerData,\n });\n }\n\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\n const response = await this.client.get({\n url: '/marketing/banners',\n jwt,\n });\n return response as unknown as DataResponse<Banner[]>;\n }\n\n async getBannerByID(\n BannerId: string,\n jwt: string,\n ): Promise<DataResponse<Banner>> {\n const response = await this.client.get({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n return response as unknown as DataResponse<Banner>;\n }\n\n async updateBanner(\n BannerId: string,\n BannerData: UpdateBanner,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n data: BannerData,\n });\n }\n\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n }\n}\n","import type {\n CreateMembershipType,\n DataResponse,\n MembershipsSummary,\n MembershipType,\n PaginatedTotal,\n PaginationRequest,\n UpdateMembershipType,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class MembershipService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createMembershipType = this.createMembershipType.bind(this);\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n }\n\n async createMembershipType(\n data: CreateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/membership-plans',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n ): Promise<PaginatedTotal<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership-plans',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<MembershipType[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>> {\n const response = await this.client.get({\n url: '/membership-plans/summary',\n jwt,\n });\n return response as unknown as DataResponse<MembershipsSummary>;\n }\n\n async getMembershipTypeByID(\n membershipTypeId: string,\n jwt: string,\n ): Promise<DataResponse<MembershipType>> {\n const response = await this.client.get({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n return response as unknown as DataResponse<MembershipType>;\n }\n\n async updateMembershipType(\n membershipTypeId: string,\n data: UpdateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n data,\n });\n }\n\n async deleteMembershipType(\n membershipTypeId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n }\n}\n","import { Client } from '../client';\nimport type { DataResponse, BranchInfo } from '@/types';\n\nexport class PublicService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getBranchMap = this.getBranchMap.bind(this);\n }\n\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\n const response = await this.client.get({\n url: '/public/branch-map',\n jwt,\n });\n return response as unknown as DataResponse<BranchInfo>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateService,\n DataResponse,\n ServiceCategoryInfo,\n ServiceFullDetail,\n UpdateServiceManual,\n CreateBranchServicePriceItem,\n BranchServicePrice,\n UpdateBranchServicePrice,\n PaginatedServiceRequest,\n PaginatedTotal,\n ServicesSummary,\n} from '@/types';\n\nexport class ProductsService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createService = this.createService.bind(this);\n this.getServices = this.getServices.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getServiceByID = this.getServiceByID.bind(this);\n this.updateService = this.updateService.bind(this);\n this.deleteService = this.deleteService.bind(this);\n this.getCategories = this.getCategories.bind(this);\n\n this.addBranchService = this.addBranchService.bind(this);\n this.removeBranchService = this.removeBranchService.bind(this);\n this.getBranchServices = this.getBranchServices.bind(this);\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\n this.updateBranchService = this.updateBranchService.bind(this);\n }\n async createService(data: CreateService, jwt: string): Promise<void> {\n await this.client.post({\n url: '/services',\n jwt,\n data,\n });\n }\n\n async getServices(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedServiceRequest,\n ): Promise<PaginatedTotal<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<ServiceFullDetail[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<ServicesSummary>> {\n const response = await this.client.get({\n url: '/services/summary',\n jwt,\n });\n return response as unknown as DataResponse<ServicesSummary>;\n }\n\n async getServiceByID(\n serviceId: string,\n jwt: string,\n ): Promise<DataResponse<ServiceFullDetail>> {\n const response = await this.client.get({\n url: `/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail>;\n }\n\n async updateService(\n serviceId: string,\n data: UpdateServiceManual,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/services/${serviceId}`,\n jwt,\n data,\n });\n }\n async deleteService(serviceId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/services/${serviceId}`,\n jwt,\n });\n }\n async getCategories(\n jwt: string,\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\n const response = await this.client.get({\n url: '/services/categories',\n jwt,\n });\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\n }\n\n async addBranchService(\n BranchServiceData: CreateBranchServicePriceItem[],\n branchId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/services`,\n jwt,\n data: {\n services: BranchServiceData,\n },\n });\n }\n\n async getBranchServices(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchServicePrice[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice[]>;\n }\n\n async getBranchServiceByID(\n branchId: string,\n jwt: string,\n serviceId: string,\n ): Promise<DataResponse<BranchServicePrice>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice>;\n }\n\n async updateBranchService(\n branchId: string,\n serviceId: string,\n BranchServiceData: UpdateBranchServicePrice,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n data: BranchServiceData,\n });\n }\n\n async removeBranchService(\n branchId: string,\n serviceId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n }\n}\n","import type {\n BranchEquipmentInventory,\n CreateBranchEquipment,\n CreateEquipment,\n DataResponse,\n Equipment,\n EquipmentInfo,\n PaginatedEquipmentRequest,\n PaginatedTotal,\n UpdateBranchEquipmentDetails,\n UpdateEquipment,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class EquipmentService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getEquipment = this.getEquipment.bind(this);\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\n this.createEquipment = this.createEquipment.bind(this);\n this.updateEquipment = this.updateEquipment.bind(this);\n this.deleteEquipment = this.deleteEquipment.bind(this);\n\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\n }\n\n async getEquipment(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedEquipmentRequest,\n ): Promise<PaginatedTotal<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<Equipment[]>;\n }\n\n async getEquipmentByID(\n equipmentId: string,\n jwt: string,\n ): Promise<DataResponse<EquipmentInfo>> {\n const response = await this.client.get({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n return response as unknown as DataResponse<EquipmentInfo>;\n }\n async getBranchEquipmentByID(\n branchId: string,\n equipmentID: string,\n jwt: string,\n ): Promise<DataResponse<BranchEquipmentInventory>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment/${equipmentID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchEquipmentInventory>;\n }\n\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\n await this.client.post({\n url: '/equipment-types',\n jwt,\n data,\n });\n }\n\n async updateEquipment(\n equipmentId: string,\n data: UpdateEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n data,\n });\n }\n\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n }\n\n async getBranchEquipment(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<Equipment[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment`,\n jwt,\n });\n return response as unknown as DataResponse<Equipment[]>;\n }\n\n async addBranchEquipment(\n branchId: string,\n equipmentData: CreateBranchEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/equipment`,\n jwt,\n data: equipmentData,\n });\n }\n\n async removeBranchEquipment(\n branchId: string,\n equipmentId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n });\n }\n\n async updateBranchEquipment(\n branchId: string,\n equipmentId: string,\n data: UpdateBranchEquipmentDetails,\n jwt: string,\n ): Promise<void> {\n await this.client.patch({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n BranchClassInfo,\n CreateClassPayload,\n DataResponse,\n UpdateClassPayload,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class ScheduleService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.ListBranchesClass = this.ListBranchesClass.bind(this);\n this.CreateClass = this.CreateClass.bind(this);\n this.UpdateClass = this.UpdateClass.bind(this);\n this.DeleteClass = this.DeleteClass.bind(this);\n this.GetClassByID = this.GetClassByID.bind(this);\n }\n\n async ListBranchesClass(\n branchID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchID}/classes`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo[]>;\n }\n async CreateClass(\n branchID: string,\n data: CreateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchID}/classes`,\n jwt,\n data,\n });\n }\n\n async GetClassByID(\n branchID: string,\n classID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo>> {\n const response = await this.client.get({\n url: `/schedule/${classID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo>;\n }\n\n async UpdateClass(\n branchID: string,\n classID: string,\n data: UpdateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/schedule${classID}`,\n jwt,\n data,\n });\n }\n async DeleteClass(\n branchID: string,\n classID: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/schedule/${classID}`,\n jwt,\n });\n }\n}\n","export enum UserGender {\n male = 'male',\n female = 'female',\n preferNotToSay = 'prefer-not-to-say',\n}\n\nexport type LoginRequest = {\n email: string;\n password: string;\n context?: string;\n};\n\nexport type LoginResponse = {\n token: string;\n};\n\nexport type SignUpRequest = {\n first_name: string;\n last_name: string;\n email: string;\n password: string;\n identity_document: string;\n phone?: string | null;\n birth_date: string;\n gender?: UserGender | null;\n profile_picture_url?: string | null;\n role_name?: string | null;\n};\n","import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n ScheduleService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n schedule: ScheduleService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n this.schedule = new ScheduleService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.56';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n"],"mappings":"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","names":["UserGender"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitalfit/sdk",
3
- "version": "0.0.54",
3
+ "version": "0.0.56",
4
4
  "description": "VitalFit Core API SDK",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",