@vitalfit/sdk 0.0.42 → 0.0.44

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
@@ -240,7 +240,7 @@ var AuthService = class {
240
240
  url: `/auth/activate/${token}`,
241
241
  data: {
242
242
  password,
243
- repeatPassword
243
+ confirm_password: repeatPassword
244
244
  }
245
245
  });
246
246
  }
@@ -445,6 +445,7 @@ var InstructorService = class {
445
445
  constructor(client) {
446
446
  this.client = client;
447
447
  this.getInstructors = this.getInstructors.bind(this);
448
+ this.getSummary = this.getSummary.bind(this);
448
449
  this.createInstructor = this.createInstructor.bind(this);
449
450
  this.getInstructorById = this.getInstructorById.bind(this);
450
451
  this.updateInstructor = this.updateInstructor.bind(this);
@@ -455,17 +456,26 @@ var InstructorService = class {
455
456
  this.removeBranchInstructor = this.removeBranchInstructor.bind(this);
456
457
  this.getBranchInstructors = this.getBranchInstructors.bind(this);
457
458
  }
458
- async getInstructors({ search, identity_doc }, jwt) {
459
+ async getInstructors({ page = 10, limit = 10, search, identity_doc }, jwt) {
459
460
  const response = await this.client.get({
460
461
  url: "/instructor",
461
462
  jwt,
462
463
  params: {
464
+ page,
465
+ limit,
463
466
  search,
464
467
  identity_doc
465
468
  }
466
469
  });
467
470
  return response;
468
471
  }
472
+ async getSummary(jwt) {
473
+ const response = await this.client.get({
474
+ url: "/instructor/summary",
475
+ jwt
476
+ });
477
+ return response;
478
+ }
469
479
  async createInstructor(instructorData, jwt) {
470
480
  await this.client.post({
471
481
  url: "/instructor",
@@ -663,41 +673,55 @@ var MembershipService = class {
663
673
  this.client = client;
664
674
  this.createMembershipType = this.createMembershipType.bind(this);
665
675
  this.getMembershipTypes = this.getMembershipTypes.bind(this);
676
+ this.getSummary = this.getSummary.bind(this);
666
677
  this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);
667
678
  this.updateMembershipType = this.updateMembershipType.bind(this);
668
679
  this.deleteMembershipType = this.deleteMembershipType.bind(this);
669
680
  }
670
681
  async createMembershipType(data, jwt) {
671
682
  await this.client.post({
672
- url: "/membership/types",
683
+ url: "/membership-plans",
673
684
  jwt,
674
685
  data
675
686
  });
676
687
  }
677
- async getMembershipTypes(jwt) {
688
+ async getMembershipTypes(jwt, { page = 10, limit = 10, sort = "desc", search }) {
689
+ const response = await this.client.get({
690
+ url: "/membership-plans",
691
+ jwt,
692
+ params: {
693
+ page,
694
+ limit,
695
+ sort,
696
+ search
697
+ }
698
+ });
699
+ return response;
700
+ }
701
+ async getSummary(jwt) {
678
702
  const response = await this.client.get({
679
- url: "/membership/types",
703
+ url: "/membership-plans/summary",
680
704
  jwt
681
705
  });
682
706
  return response;
683
707
  }
684
708
  async getMembershipTypeByID(membershipTypeId, jwt) {
685
709
  const response = await this.client.get({
686
- url: `/membership/types/${membershipTypeId}`,
710
+ url: `/membership-plans/${membershipTypeId}`,
687
711
  jwt
688
712
  });
689
713
  return response;
690
714
  }
691
715
  async updateMembershipType(membershipTypeId, data, jwt) {
692
716
  await this.client.put({
693
- url: `/membership/types/${membershipTypeId}`,
717
+ url: `/membership-plans/${membershipTypeId}`,
694
718
  jwt,
695
719
  data
696
720
  });
697
721
  }
698
722
  async deleteMembershipType(membershipTypeId, jwt) {
699
723
  await this.client.delete({
700
- url: `/membership/types/${membershipTypeId}`,
724
+ url: `/membership-plans/${membershipTypeId}`,
701
725
  jwt
702
726
  });
703
727
  }
@@ -726,6 +750,7 @@ var ProductsService = class {
726
750
  this.client = client;
727
751
  this.createService = this.createService.bind(this);
728
752
  this.getServices = this.getServices.bind(this);
753
+ this.getSummary = this.getSummary.bind(this);
729
754
  this.getServiceByID = this.getServiceByID.bind(this);
730
755
  this.updateService = this.updateService.bind(this);
731
756
  this.deleteService = this.deleteService.bind(this);
@@ -743,9 +768,29 @@ var ProductsService = class {
743
768
  data
744
769
  });
745
770
  }
746
- async getServices(jwt) {
771
+ async getServices(jwt, {
772
+ page = 10,
773
+ limit = 10,
774
+ sort = "desc",
775
+ search,
776
+ category
777
+ }) {
747
778
  const response = await this.client.get({
748
779
  url: "/services/all",
780
+ jwt,
781
+ params: {
782
+ page,
783
+ limit,
784
+ sort,
785
+ search,
786
+ category
787
+ }
788
+ });
789
+ return response;
790
+ }
791
+ async getSummary(jwt) {
792
+ const response = await this.client.get({
793
+ url: "/services/summary",
749
794
  jwt
750
795
  });
751
796
  return response;
@@ -831,10 +876,23 @@ var EquipmentService = class {
831
876
  this.removeBranchEquipment = this.removeBranchEquipment.bind(this);
832
877
  this.updateBranchEquipment = this.updateBranchEquipment.bind(this);
833
878
  }
834
- async getEquipment(jwt) {
879
+ async getEquipment(jwt, {
880
+ page = 10,
881
+ limit = 10,
882
+ sort = "desc",
883
+ search,
884
+ category
885
+ }) {
835
886
  const response = await this.client.get({
836
887
  url: "/equipment-types",
837
- jwt
888
+ jwt,
889
+ params: {
890
+ page,
891
+ limit,
892
+ sort,
893
+ search,
894
+ category
895
+ }
838
896
  });
839
897
  return response;
840
898
  }
@@ -947,7 +1005,7 @@ var VitalFit = class _VitalFit {
947
1005
  return _VitalFit.instance;
948
1006
  }
949
1007
  version() {
950
- return "0.0.42";
1008
+ return "0.0.44";
951
1009
  }
952
1010
  };
953
1011
  // 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.42';\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-rm8x.onrender.com/v1';\nexport const DEV_URL = 'https://api-rm8x.onrender.com/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 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,\n repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\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\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","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 BranchPaymentMethod,\n BranchPaymentMethodInfo,\n CreateBranchPaymentMethod,\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 paymentMethodData: CreateBranchPaymentMethod[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\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} 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.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 { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<InstructorDataList[]>;\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 instructors: 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 PaymentMethod,\n Permission,\n RoleResponse,\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(jwt: string): Promise<DataResponse<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n });\n return response as unknown as DataResponse<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 DataResponse,\n MembershipType,\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.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n }\n\n async createMembershipType(data: any, jwt: string): Promise<void> {\n await this.client.post({\n url: '/membership/types',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n ): Promise<DataResponse<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership/types',\n jwt,\n });\n return response as unknown as DataResponse<MembershipType[]>;\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/types/${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/types/${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/types/${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} 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.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(jwt: string): Promise<DataResponse<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail[]>;\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 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(jwt: string): Promise<DataResponse<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n });\n return response as unknown as DataResponse<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: {\n equipment: equipmentData,\n },\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/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.44';\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-rm8x.onrender.com/v1';\nexport const DEV_URL = 'https://api-rm8x.onrender.com/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 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} 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\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","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 BranchPaymentMethod,\n BranchPaymentMethodInfo,\n CreateBranchPaymentMethod,\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 paymentMethodData: CreateBranchPaymentMethod[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\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 instructors: 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 PaymentMethod,\n Permission,\n RoleResponse,\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(jwt: string): Promise<DataResponse<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n });\n return response as unknown as DataResponse<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: {\n equipment: equipmentData,\n },\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"]}
package/dist/index.d.cts CHANGED
@@ -30,6 +30,9 @@ type Pagination<T> = {
30
30
  next: string | null;
31
31
  previous: string | null;
32
32
  };
33
+ type PaginatedTotal<T> = Pagination<T> & {
34
+ total: number;
35
+ };
33
36
  type UUIDModel = {
34
37
  id: string;
35
38
  };
@@ -313,10 +316,15 @@ type PaginatedInstructor = PaginationRequest & {
313
316
  };
314
317
  type BranchInstructorInfo = {
315
318
  email: string;
316
- name: string;
319
+ instructorName: string;
317
320
  phone: string;
318
321
  instructorID: string;
319
322
  };
323
+ type InstructorsSummary = {
324
+ total: number;
325
+ actives: number;
326
+ blocked: number;
327
+ };
320
328
 
321
329
  interface Permission {
322
330
  created_at?: string;
@@ -376,6 +384,11 @@ type UpdateMembershipType = {
376
384
  name?: string;
377
385
  price?: number;
378
386
  };
387
+ type MembershipsSummary = {
388
+ total: number;
389
+ actives: number;
390
+ inactives: number;
391
+ };
379
392
 
380
393
  type BranchInfo = {
381
394
  address: string;
@@ -472,6 +485,14 @@ type UpdateBranchServicePrice = {
472
485
  price_for_member?: number;
473
486
  price_for_non_member?: number;
474
487
  };
488
+ type PaginatedServiceRequest = PaginationRequest & {
489
+ category?: string;
490
+ };
491
+ type ServicesSummary = {
492
+ total: number;
493
+ actives: number;
494
+ featured: number;
495
+ };
475
496
 
476
497
  type EquipmentCategory = 'Cardio' | 'Strength' | 'FreeWeight' | 'Functional' | 'Accessory';
477
498
  type Equipment = {
@@ -517,6 +538,9 @@ type BranchEquipmentInventory = {
517
538
  serial_number: string;
518
539
  status: EquipmentStatus;
519
540
  };
541
+ type PaginatedEquipmentRequest = PaginationRequest & {
542
+ category?: EquipmentCategory;
543
+ };
520
544
 
521
545
  declare class AuthService {
522
546
  private client;
@@ -570,7 +594,8 @@ declare class PaymentMethodService {
570
594
  declare class InstructorService {
571
595
  private client;
572
596
  constructor(client: Client);
573
- getInstructors({ search, identity_doc }: PaginatedInstructor, jwt: string): Promise<DataResponse<InstructorDataList[]>>;
597
+ getInstructors({ page, limit, search, identity_doc }: PaginatedInstructor, jwt: string): Promise<PaginatedTotal<InstructorDataList[]>>;
598
+ getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>>;
574
599
  createInstructor(instructorData: Instructor, jwt: string): Promise<void>;
575
600
  getInstructorById(instructorId: string, jwt: string): Promise<DataResponse<InstructorData>>;
576
601
  updateInstructor(instructorId: string, instructorData: Instructor, jwt: string): Promise<void>;
@@ -608,8 +633,9 @@ declare class MarketingService {
608
633
  declare class MembershipService {
609
634
  private client;
610
635
  constructor(client: Client);
611
- createMembershipType(data: any, jwt: string): Promise<void>;
612
- getMembershipTypes(jwt: string): Promise<DataResponse<MembershipType[]>>;
636
+ createMembershipType(data: CreateMembershipType, jwt: string): Promise<void>;
637
+ getMembershipTypes(jwt: string, { page, limit, sort, search }: PaginationRequest): Promise<PaginatedTotal<MembershipType[]>>;
638
+ getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>>;
613
639
  getMembershipTypeByID(membershipTypeId: string, jwt: string): Promise<DataResponse<MembershipType>>;
614
640
  updateMembershipType(membershipTypeId: string, data: UpdateMembershipType, jwt: string): Promise<void>;
615
641
  deleteMembershipType(membershipTypeId: string, jwt: string): Promise<void>;
@@ -625,7 +651,8 @@ declare class ProductsService {
625
651
  private client;
626
652
  constructor(client: Client);
627
653
  createService(data: CreateService, jwt: string): Promise<void>;
628
- getServices(jwt: string): Promise<DataResponse<ServiceFullDetail[]>>;
654
+ getServices(jwt: string, { page, limit, sort, search, category, }: PaginatedServiceRequest): Promise<PaginatedTotal<ServiceFullDetail[]>>;
655
+ getSummary(jwt: string): Promise<DataResponse<ServicesSummary>>;
629
656
  getServiceByID(serviceId: string, jwt: string): Promise<DataResponse<ServiceFullDetail>>;
630
657
  updateService(serviceId: string, data: UpdateServiceManual, jwt: string): Promise<void>;
631
658
  deleteService(serviceId: string, jwt: string): Promise<void>;
@@ -640,7 +667,7 @@ declare class ProductsService {
640
667
  declare class EquipmentService {
641
668
  private client;
642
669
  constructor(client: Client);
643
- getEquipment(jwt: string): Promise<DataResponse<Equipment[]>>;
670
+ getEquipment(jwt: string, { page, limit, sort, search, category, }: PaginatedEquipmentRequest): Promise<PaginatedTotal<Equipment[]>>;
644
671
  getEquipmentByID(equipmentId: string, jwt: string): Promise<DataResponse<EquipmentInfo>>;
645
672
  getBranchEquipmentByID(branchId: string, equipmentID: string, jwt: string): Promise<DataResponse<BranchEquipmentInventory>>;
646
673
  createEquipment(data: CreateEquipment, jwt: string): Promise<void>;
@@ -678,4 +705,4 @@ declare class VitalFit {
678
705
  version(): string;
679
706
  }
680
707
 
681
- 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 CreateBranchPaymentMethod, 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 Instructor, type InstructorData, type InstructorDataList, type LoginRequest, type LoginResponse, type MembershipType, type OperatingHour, type PaginatedBranch, type PaginatedInstructor, 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 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 User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
708
+ 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 CreateBranchPaymentMethod, 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 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 User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
package/dist/index.d.ts CHANGED
@@ -30,6 +30,9 @@ type Pagination<T> = {
30
30
  next: string | null;
31
31
  previous: string | null;
32
32
  };
33
+ type PaginatedTotal<T> = Pagination<T> & {
34
+ total: number;
35
+ };
33
36
  type UUIDModel = {
34
37
  id: string;
35
38
  };
@@ -313,10 +316,15 @@ type PaginatedInstructor = PaginationRequest & {
313
316
  };
314
317
  type BranchInstructorInfo = {
315
318
  email: string;
316
- name: string;
319
+ instructorName: string;
317
320
  phone: string;
318
321
  instructorID: string;
319
322
  };
323
+ type InstructorsSummary = {
324
+ total: number;
325
+ actives: number;
326
+ blocked: number;
327
+ };
320
328
 
321
329
  interface Permission {
322
330
  created_at?: string;
@@ -376,6 +384,11 @@ type UpdateMembershipType = {
376
384
  name?: string;
377
385
  price?: number;
378
386
  };
387
+ type MembershipsSummary = {
388
+ total: number;
389
+ actives: number;
390
+ inactives: number;
391
+ };
379
392
 
380
393
  type BranchInfo = {
381
394
  address: string;
@@ -472,6 +485,14 @@ type UpdateBranchServicePrice = {
472
485
  price_for_member?: number;
473
486
  price_for_non_member?: number;
474
487
  };
488
+ type PaginatedServiceRequest = PaginationRequest & {
489
+ category?: string;
490
+ };
491
+ type ServicesSummary = {
492
+ total: number;
493
+ actives: number;
494
+ featured: number;
495
+ };
475
496
 
476
497
  type EquipmentCategory = 'Cardio' | 'Strength' | 'FreeWeight' | 'Functional' | 'Accessory';
477
498
  type Equipment = {
@@ -517,6 +538,9 @@ type BranchEquipmentInventory = {
517
538
  serial_number: string;
518
539
  status: EquipmentStatus;
519
540
  };
541
+ type PaginatedEquipmentRequest = PaginationRequest & {
542
+ category?: EquipmentCategory;
543
+ };
520
544
 
521
545
  declare class AuthService {
522
546
  private client;
@@ -570,7 +594,8 @@ declare class PaymentMethodService {
570
594
  declare class InstructorService {
571
595
  private client;
572
596
  constructor(client: Client);
573
- getInstructors({ search, identity_doc }: PaginatedInstructor, jwt: string): Promise<DataResponse<InstructorDataList[]>>;
597
+ getInstructors({ page, limit, search, identity_doc }: PaginatedInstructor, jwt: string): Promise<PaginatedTotal<InstructorDataList[]>>;
598
+ getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>>;
574
599
  createInstructor(instructorData: Instructor, jwt: string): Promise<void>;
575
600
  getInstructorById(instructorId: string, jwt: string): Promise<DataResponse<InstructorData>>;
576
601
  updateInstructor(instructorId: string, instructorData: Instructor, jwt: string): Promise<void>;
@@ -608,8 +633,9 @@ declare class MarketingService {
608
633
  declare class MembershipService {
609
634
  private client;
610
635
  constructor(client: Client);
611
- createMembershipType(data: any, jwt: string): Promise<void>;
612
- getMembershipTypes(jwt: string): Promise<DataResponse<MembershipType[]>>;
636
+ createMembershipType(data: CreateMembershipType, jwt: string): Promise<void>;
637
+ getMembershipTypes(jwt: string, { page, limit, sort, search }: PaginationRequest): Promise<PaginatedTotal<MembershipType[]>>;
638
+ getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>>;
613
639
  getMembershipTypeByID(membershipTypeId: string, jwt: string): Promise<DataResponse<MembershipType>>;
614
640
  updateMembershipType(membershipTypeId: string, data: UpdateMembershipType, jwt: string): Promise<void>;
615
641
  deleteMembershipType(membershipTypeId: string, jwt: string): Promise<void>;
@@ -625,7 +651,8 @@ declare class ProductsService {
625
651
  private client;
626
652
  constructor(client: Client);
627
653
  createService(data: CreateService, jwt: string): Promise<void>;
628
- getServices(jwt: string): Promise<DataResponse<ServiceFullDetail[]>>;
654
+ getServices(jwt: string, { page, limit, sort, search, category, }: PaginatedServiceRequest): Promise<PaginatedTotal<ServiceFullDetail[]>>;
655
+ getSummary(jwt: string): Promise<DataResponse<ServicesSummary>>;
629
656
  getServiceByID(serviceId: string, jwt: string): Promise<DataResponse<ServiceFullDetail>>;
630
657
  updateService(serviceId: string, data: UpdateServiceManual, jwt: string): Promise<void>;
631
658
  deleteService(serviceId: string, jwt: string): Promise<void>;
@@ -640,7 +667,7 @@ declare class ProductsService {
640
667
  declare class EquipmentService {
641
668
  private client;
642
669
  constructor(client: Client);
643
- getEquipment(jwt: string): Promise<DataResponse<Equipment[]>>;
670
+ getEquipment(jwt: string, { page, limit, sort, search, category, }: PaginatedEquipmentRequest): Promise<PaginatedTotal<Equipment[]>>;
644
671
  getEquipmentByID(equipmentId: string, jwt: string): Promise<DataResponse<EquipmentInfo>>;
645
672
  getBranchEquipmentByID(branchId: string, equipmentID: string, jwt: string): Promise<DataResponse<BranchEquipmentInventory>>;
646
673
  createEquipment(data: CreateEquipment, jwt: string): Promise<void>;
@@ -678,4 +705,4 @@ declare class VitalFit {
678
705
  version(): string;
679
706
  }
680
707
 
681
- 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 CreateBranchPaymentMethod, 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 Instructor, type InstructorData, type InstructorDataList, type LoginRequest, type LoginResponse, type MembershipType, type OperatingHour, type PaginatedBranch, type PaginatedInstructor, 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 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 User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
708
+ 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 CreateBranchPaymentMethod, 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 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 User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError };
package/dist/index.js CHANGED
@@ -201,7 +201,7 @@ var AuthService = class {
201
201
  url: `/auth/activate/${token}`,
202
202
  data: {
203
203
  password,
204
- repeatPassword
204
+ confirm_password: repeatPassword
205
205
  }
206
206
  });
207
207
  }
@@ -406,6 +406,7 @@ var InstructorService = class {
406
406
  constructor(client) {
407
407
  this.client = client;
408
408
  this.getInstructors = this.getInstructors.bind(this);
409
+ this.getSummary = this.getSummary.bind(this);
409
410
  this.createInstructor = this.createInstructor.bind(this);
410
411
  this.getInstructorById = this.getInstructorById.bind(this);
411
412
  this.updateInstructor = this.updateInstructor.bind(this);
@@ -416,17 +417,26 @@ var InstructorService = class {
416
417
  this.removeBranchInstructor = this.removeBranchInstructor.bind(this);
417
418
  this.getBranchInstructors = this.getBranchInstructors.bind(this);
418
419
  }
419
- async getInstructors({ search, identity_doc }, jwt) {
420
+ async getInstructors({ page = 10, limit = 10, search, identity_doc }, jwt) {
420
421
  const response = await this.client.get({
421
422
  url: "/instructor",
422
423
  jwt,
423
424
  params: {
425
+ page,
426
+ limit,
424
427
  search,
425
428
  identity_doc
426
429
  }
427
430
  });
428
431
  return response;
429
432
  }
433
+ async getSummary(jwt) {
434
+ const response = await this.client.get({
435
+ url: "/instructor/summary",
436
+ jwt
437
+ });
438
+ return response;
439
+ }
430
440
  async createInstructor(instructorData, jwt) {
431
441
  await this.client.post({
432
442
  url: "/instructor",
@@ -624,41 +634,55 @@ var MembershipService = class {
624
634
  this.client = client;
625
635
  this.createMembershipType = this.createMembershipType.bind(this);
626
636
  this.getMembershipTypes = this.getMembershipTypes.bind(this);
637
+ this.getSummary = this.getSummary.bind(this);
627
638
  this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);
628
639
  this.updateMembershipType = this.updateMembershipType.bind(this);
629
640
  this.deleteMembershipType = this.deleteMembershipType.bind(this);
630
641
  }
631
642
  async createMembershipType(data, jwt) {
632
643
  await this.client.post({
633
- url: "/membership/types",
644
+ url: "/membership-plans",
634
645
  jwt,
635
646
  data
636
647
  });
637
648
  }
638
- async getMembershipTypes(jwt) {
649
+ async getMembershipTypes(jwt, { page = 10, limit = 10, sort = "desc", search }) {
650
+ const response = await this.client.get({
651
+ url: "/membership-plans",
652
+ jwt,
653
+ params: {
654
+ page,
655
+ limit,
656
+ sort,
657
+ search
658
+ }
659
+ });
660
+ return response;
661
+ }
662
+ async getSummary(jwt) {
639
663
  const response = await this.client.get({
640
- url: "/membership/types",
664
+ url: "/membership-plans/summary",
641
665
  jwt
642
666
  });
643
667
  return response;
644
668
  }
645
669
  async getMembershipTypeByID(membershipTypeId, jwt) {
646
670
  const response = await this.client.get({
647
- url: `/membership/types/${membershipTypeId}`,
671
+ url: `/membership-plans/${membershipTypeId}`,
648
672
  jwt
649
673
  });
650
674
  return response;
651
675
  }
652
676
  async updateMembershipType(membershipTypeId, data, jwt) {
653
677
  await this.client.put({
654
- url: `/membership/types/${membershipTypeId}`,
678
+ url: `/membership-plans/${membershipTypeId}`,
655
679
  jwt,
656
680
  data
657
681
  });
658
682
  }
659
683
  async deleteMembershipType(membershipTypeId, jwt) {
660
684
  await this.client.delete({
661
- url: `/membership/types/${membershipTypeId}`,
685
+ url: `/membership-plans/${membershipTypeId}`,
662
686
  jwt
663
687
  });
664
688
  }
@@ -687,6 +711,7 @@ var ProductsService = class {
687
711
  this.client = client;
688
712
  this.createService = this.createService.bind(this);
689
713
  this.getServices = this.getServices.bind(this);
714
+ this.getSummary = this.getSummary.bind(this);
690
715
  this.getServiceByID = this.getServiceByID.bind(this);
691
716
  this.updateService = this.updateService.bind(this);
692
717
  this.deleteService = this.deleteService.bind(this);
@@ -704,9 +729,29 @@ var ProductsService = class {
704
729
  data
705
730
  });
706
731
  }
707
- async getServices(jwt) {
732
+ async getServices(jwt, {
733
+ page = 10,
734
+ limit = 10,
735
+ sort = "desc",
736
+ search,
737
+ category
738
+ }) {
708
739
  const response = await this.client.get({
709
740
  url: "/services/all",
741
+ jwt,
742
+ params: {
743
+ page,
744
+ limit,
745
+ sort,
746
+ search,
747
+ category
748
+ }
749
+ });
750
+ return response;
751
+ }
752
+ async getSummary(jwt) {
753
+ const response = await this.client.get({
754
+ url: "/services/summary",
710
755
  jwt
711
756
  });
712
757
  return response;
@@ -792,10 +837,23 @@ var EquipmentService = class {
792
837
  this.removeBranchEquipment = this.removeBranchEquipment.bind(this);
793
838
  this.updateBranchEquipment = this.updateBranchEquipment.bind(this);
794
839
  }
795
- async getEquipment(jwt) {
840
+ async getEquipment(jwt, {
841
+ page = 10,
842
+ limit = 10,
843
+ sort = "desc",
844
+ search,
845
+ category
846
+ }) {
796
847
  const response = await this.client.get({
797
848
  url: "/equipment-types",
798
- jwt
849
+ jwt,
850
+ params: {
851
+ page,
852
+ limit,
853
+ sort,
854
+ search,
855
+ category
856
+ }
799
857
  });
800
858
  return response;
801
859
  }
@@ -908,7 +966,7 @@ var VitalFit = class _VitalFit {
908
966
  return _VitalFit.instance;
909
967
  }
910
968
  version() {
911
- return "0.0.42";
969
+ return "0.0.44";
912
970
  }
913
971
  };
914
972
  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-rm8x.onrender.com/v1';\nexport const DEV_URL = 'https://api-rm8x.onrender.com/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 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,\n repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\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\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","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 BranchPaymentMethod,\n BranchPaymentMethodInfo,\n CreateBranchPaymentMethod,\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 paymentMethodData: CreateBranchPaymentMethod[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\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} 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.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 { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<InstructorDataList[]>;\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 instructors: 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 PaymentMethod,\n Permission,\n RoleResponse,\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(jwt: string): Promise<DataResponse<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n });\n return response as unknown as DataResponse<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 DataResponse,\n MembershipType,\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.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n }\n\n async createMembershipType(data: any, jwt: string): Promise<void> {\n await this.client.post({\n url: '/membership/types',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n ): Promise<DataResponse<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership/types',\n jwt,\n });\n return response as unknown as DataResponse<MembershipType[]>;\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/types/${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/types/${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/types/${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} 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.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(jwt: string): Promise<DataResponse<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail[]>;\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 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(jwt: string): Promise<DataResponse<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n });\n return response as unknown as DataResponse<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: {\n equipment: equipmentData,\n },\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.42';\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/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-rm8x.onrender.com/v1';\nexport const DEV_URL = 'https://api-rm8x.onrender.com/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 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} 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\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","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 BranchPaymentMethod,\n BranchPaymentMethodInfo,\n CreateBranchPaymentMethod,\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 paymentMethodData: CreateBranchPaymentMethod[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\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 instructors: 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 PaymentMethod,\n Permission,\n RoleResponse,\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(jwt: string): Promise<DataResponse<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n });\n return response as unknown as DataResponse<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: {\n equipment: equipmentData,\n },\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.44';\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.42",
3
+ "version": "0.0.44",
4
4
  "description": "VitalFit Core API SDK",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",