@vitalfit/sdk 0.0.34 → 0.0.36
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 +106 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +105 -30
- package/dist/index.d.ts +105 -30
- package/dist/index.js +106 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -363,6 +363,10 @@ var PaymentMethodService = class {
|
|
|
363
363
|
this.createPaymentMethod = this.createPaymentMethod.bind(this);
|
|
364
364
|
this.updatePaymentMethod = this.updatePaymentMethod.bind(this);
|
|
365
365
|
this.deletePaymentMethod = this.deletePaymentMethod.bind(this);
|
|
366
|
+
this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);
|
|
367
|
+
this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);
|
|
368
|
+
this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);
|
|
369
|
+
this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);
|
|
366
370
|
}
|
|
367
371
|
async getPaymentMethods(jwt) {
|
|
368
372
|
const response = await this.client.get({
|
|
@@ -398,6 +402,33 @@ var PaymentMethodService = class {
|
|
|
398
402
|
jwt
|
|
399
403
|
});
|
|
400
404
|
}
|
|
405
|
+
async addBranchPaymentMethod(branchId, paymentMethodData, jwt) {
|
|
406
|
+
await this.client.post({
|
|
407
|
+
url: `/branches/${branchId}/payment-methods`,
|
|
408
|
+
jwt,
|
|
409
|
+
data: paymentMethodData
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
async getBranchPaymentMethods(branchId, jwt) {
|
|
413
|
+
const response = await this.client.get({
|
|
414
|
+
url: `/branches/${branchId}/payment-methods`,
|
|
415
|
+
jwt
|
|
416
|
+
});
|
|
417
|
+
return response;
|
|
418
|
+
}
|
|
419
|
+
async removeBranchPaymentMethod(branchId, paymentMethodId, jwt) {
|
|
420
|
+
await this.client.delete({
|
|
421
|
+
url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,
|
|
422
|
+
jwt
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
async updateBranchPaymentMethod(branchId, paymentMethodId, data, jwt) {
|
|
426
|
+
await this.client.put({
|
|
427
|
+
url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,
|
|
428
|
+
jwt,
|
|
429
|
+
data
|
|
430
|
+
});
|
|
431
|
+
}
|
|
401
432
|
};
|
|
402
433
|
|
|
403
434
|
// src/services/instructor.ts
|
|
@@ -412,6 +443,9 @@ var InstructorService = class {
|
|
|
412
443
|
this.deleteInstructor = this.deleteInstructor.bind(this);
|
|
413
444
|
this.addSpecialty = this.addSpecialty.bind(this);
|
|
414
445
|
this.removeSpecialty = this.removeSpecialty.bind(this);
|
|
446
|
+
this.addBranchInstructor = this.addBranchInstructor.bind(this);
|
|
447
|
+
this.removeBranchInstructor = this.removeBranchInstructor.bind(this);
|
|
448
|
+
this.getBranchInstructors = this.getBranchInstructors.bind(this);
|
|
415
449
|
}
|
|
416
450
|
async getInstructors({ search, identity_doc }, jwt) {
|
|
417
451
|
const response = await this.client.get({
|
|
@@ -454,7 +488,10 @@ var InstructorService = class {
|
|
|
454
488
|
async addSpecialty(instructorId, specialty, jwt) {
|
|
455
489
|
await this.client.post({
|
|
456
490
|
url: `/instructor/${instructorId}/specialty`,
|
|
457
|
-
jwt
|
|
491
|
+
jwt,
|
|
492
|
+
data: {
|
|
493
|
+
specialties: specialty
|
|
494
|
+
}
|
|
458
495
|
});
|
|
459
496
|
}
|
|
460
497
|
async removeSpecialty(instructorId, specialtyId, jwt) {
|
|
@@ -463,6 +500,28 @@ var InstructorService = class {
|
|
|
463
500
|
jwt
|
|
464
501
|
});
|
|
465
502
|
}
|
|
503
|
+
async addBranchInstructor(branchId, instructorIDs, jwt) {
|
|
504
|
+
await this.client.post({
|
|
505
|
+
url: `/branches/${branchId}/instructors`,
|
|
506
|
+
jwt,
|
|
507
|
+
data: {
|
|
508
|
+
instructors: instructorIDs
|
|
509
|
+
}
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
async removeBranchInstructor(branchId, instructorId, jwt) {
|
|
513
|
+
await this.client.delete({
|
|
514
|
+
url: `/branches/${branchId}/instructors/${instructorId}`,
|
|
515
|
+
jwt
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
async getBranchInstructors(branchId, jwt) {
|
|
519
|
+
const response = await this.client.get({
|
|
520
|
+
url: `/branches/${branchId}/instructors`,
|
|
521
|
+
jwt
|
|
522
|
+
});
|
|
523
|
+
return response;
|
|
524
|
+
}
|
|
466
525
|
};
|
|
467
526
|
|
|
468
527
|
// src/services/RBAC.ts
|
|
@@ -524,7 +583,9 @@ var RBACService = class {
|
|
|
524
583
|
await this.client.post({
|
|
525
584
|
url: `/admin/roles/${roleId}/permissions`,
|
|
526
585
|
jwt,
|
|
527
|
-
data:
|
|
586
|
+
data: {
|
|
587
|
+
permissions: permissionData
|
|
588
|
+
}
|
|
528
589
|
});
|
|
529
590
|
}
|
|
530
591
|
async removePermission(roleId, permissionData, jwt) {
|
|
@@ -657,6 +718,11 @@ var ProductsService = class {
|
|
|
657
718
|
this.updateService = this.updateService.bind(this);
|
|
658
719
|
this.deleteService = this.deleteService.bind(this);
|
|
659
720
|
this.getCategories = this.getCategories.bind(this);
|
|
721
|
+
this.addBranchService = this.addBranchService.bind(this);
|
|
722
|
+
this.removeBranchService = this.removeBranchService.bind(this);
|
|
723
|
+
this.getBranchServices = this.getBranchServices.bind(this);
|
|
724
|
+
this.getBranchServiceByID = this.getBranchServiceByID.bind(this);
|
|
725
|
+
this.updateBranchService = this.updateBranchService.bind(this);
|
|
660
726
|
}
|
|
661
727
|
async createService(data, jwt) {
|
|
662
728
|
await this.client.post({
|
|
@@ -667,7 +733,7 @@ var ProductsService = class {
|
|
|
667
733
|
}
|
|
668
734
|
async getServices(jwt) {
|
|
669
735
|
const response = await this.client.get({
|
|
670
|
-
url: "/services",
|
|
736
|
+
url: "/services/all",
|
|
671
737
|
jwt
|
|
672
738
|
});
|
|
673
739
|
return response;
|
|
@@ -699,6 +765,42 @@ var ProductsService = class {
|
|
|
699
765
|
});
|
|
700
766
|
return response;
|
|
701
767
|
}
|
|
768
|
+
async addBranchService(BranchServiceData, branchId, jwt) {
|
|
769
|
+
await this.client.post({
|
|
770
|
+
url: `/branches/${branchId}/services`,
|
|
771
|
+
jwt,
|
|
772
|
+
data: {
|
|
773
|
+
services: BranchServiceData
|
|
774
|
+
}
|
|
775
|
+
});
|
|
776
|
+
}
|
|
777
|
+
async getBranchServices(branchId, jwt) {
|
|
778
|
+
const response = await this.client.get({
|
|
779
|
+
url: `/branches/${branchId}/services`,
|
|
780
|
+
jwt
|
|
781
|
+
});
|
|
782
|
+
return response;
|
|
783
|
+
}
|
|
784
|
+
async getBranchServiceByID(branchId, jwt, serviceId) {
|
|
785
|
+
const response = await this.client.get({
|
|
786
|
+
url: `/branches/${branchId}/services/${serviceId}`,
|
|
787
|
+
jwt
|
|
788
|
+
});
|
|
789
|
+
return response;
|
|
790
|
+
}
|
|
791
|
+
async updateBranchService(branchId, serviceId, BranchServiceData, jwt) {
|
|
792
|
+
await this.client.put({
|
|
793
|
+
url: `/branches/${branchId}/services/${serviceId}`,
|
|
794
|
+
jwt,
|
|
795
|
+
data: BranchServiceData
|
|
796
|
+
});
|
|
797
|
+
}
|
|
798
|
+
async removeBranchService(branchId, serviceId, jwt) {
|
|
799
|
+
await this.client.delete({
|
|
800
|
+
url: `/branches/${branchId}/services/${serviceId}`,
|
|
801
|
+
jwt
|
|
802
|
+
});
|
|
803
|
+
}
|
|
702
804
|
};
|
|
703
805
|
|
|
704
806
|
// src/types/auth.ts
|
|
@@ -743,7 +845,7 @@ var VitalFit = class _VitalFit {
|
|
|
743
845
|
return _VitalFit.instance;
|
|
744
846
|
}
|
|
745
847
|
version() {
|
|
746
|
-
return "0.0.
|
|
848
|
+
return "0.0.36";
|
|
747
849
|
}
|
|
748
850
|
};
|
|
749
851
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.cjs.map
CHANGED
|
@@ -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/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} 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\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 }\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.34';\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 { CreatePaymentMethod, DataResponse, PaymentMethod } 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\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","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\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\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 });\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","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: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\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} 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 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',\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","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/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} 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\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 }\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.36';\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 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.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 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}/instructors`,\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}/instructors/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructors`,\n jwt,\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","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
|
@@ -115,24 +115,6 @@ type UserPaginationOptions = {
|
|
|
115
115
|
role?: string;
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
type PaymentMethod = {
|
|
119
|
-
method_id: string;
|
|
120
|
-
name: string;
|
|
121
|
-
type: string;
|
|
122
|
-
description: string;
|
|
123
|
-
processing_type: string;
|
|
124
|
-
global_status: boolean;
|
|
125
|
-
created_at: string;
|
|
126
|
-
updated_at: string;
|
|
127
|
-
};
|
|
128
|
-
type PaymentMethodTypes = {};
|
|
129
|
-
type CreatePaymentMethod = {
|
|
130
|
-
description: string;
|
|
131
|
-
name: string;
|
|
132
|
-
processing_type: 'Gateway' | 'Offline';
|
|
133
|
-
type: 'Cash' | 'Card' | 'Transfer' | 'Other';
|
|
134
|
-
};
|
|
135
|
-
|
|
136
118
|
type PaginatedBranch = {
|
|
137
119
|
branch_id: string;
|
|
138
120
|
name: string;
|
|
@@ -143,14 +125,6 @@ type PaginatedBranch = {
|
|
|
143
125
|
manager_last_name: string;
|
|
144
126
|
status: 'Active' | 'Inactive' | 'Maintenance';
|
|
145
127
|
};
|
|
146
|
-
type BranchPaymentMethod = {
|
|
147
|
-
branch_id: string;
|
|
148
|
-
method_id: string;
|
|
149
|
-
is_active: boolean;
|
|
150
|
-
created_at: string;
|
|
151
|
-
updated_at: string;
|
|
152
|
-
method: PaymentMethod;
|
|
153
|
-
};
|
|
154
128
|
type OperatingHour = {
|
|
155
129
|
hour_id?: string;
|
|
156
130
|
day_of_week: string;
|
|
@@ -175,7 +149,6 @@ type BranchDetails = {
|
|
|
175
149
|
manager_first_name: string;
|
|
176
150
|
manager_last_name: string;
|
|
177
151
|
operating_hours: OperatingHour[];
|
|
178
|
-
payment_methods: BranchPaymentMethod[];
|
|
179
152
|
};
|
|
180
153
|
type BranchStatusCount = {
|
|
181
154
|
Active: number;
|
|
@@ -223,6 +196,67 @@ type UpdateBranchRequest = {
|
|
|
223
196
|
tax_id: string;
|
|
224
197
|
};
|
|
225
198
|
|
|
199
|
+
type PaymentMethod = {
|
|
200
|
+
method_id: string;
|
|
201
|
+
name: string;
|
|
202
|
+
type: string;
|
|
203
|
+
description: string;
|
|
204
|
+
processing_type: string;
|
|
205
|
+
global_status: boolean;
|
|
206
|
+
created_at: string;
|
|
207
|
+
updated_at: string;
|
|
208
|
+
};
|
|
209
|
+
type PaymentMethodTypes = {};
|
|
210
|
+
type CreatePaymentMethod = {
|
|
211
|
+
description: string;
|
|
212
|
+
name: string;
|
|
213
|
+
processing_type: 'Gateway' | 'Offline';
|
|
214
|
+
type: 'Cash' | 'Card' | 'Transfer' | 'Other';
|
|
215
|
+
};
|
|
216
|
+
type ZelleConfig = {
|
|
217
|
+
email: string;
|
|
218
|
+
};
|
|
219
|
+
type BankTransferConfig = {
|
|
220
|
+
bank_name: string;
|
|
221
|
+
account_number: string;
|
|
222
|
+
tax_id: string;
|
|
223
|
+
};
|
|
224
|
+
type PagoMovilConfig = {
|
|
225
|
+
phone: string;
|
|
226
|
+
bank_id: string;
|
|
227
|
+
tax_id: string;
|
|
228
|
+
};
|
|
229
|
+
type BranchPaymentVisibility = 'Client' | 'Staff' | 'All';
|
|
230
|
+
type PaymentConfiguration = ZelleConfig | BankTransferConfig | PagoMovilConfig | Record<string, any>;
|
|
231
|
+
type BranchPaymentMethod = {
|
|
232
|
+
branch_id: string;
|
|
233
|
+
configuration: PaymentConfiguration;
|
|
234
|
+
created_at: string;
|
|
235
|
+
display_name: string;
|
|
236
|
+
is_active: boolean;
|
|
237
|
+
method_id: string;
|
|
238
|
+
surcharge_fixed: number;
|
|
239
|
+
surcharge_percentage: number;
|
|
240
|
+
updated_at: string;
|
|
241
|
+
visibility: BranchPaymentVisibility;
|
|
242
|
+
};
|
|
243
|
+
type CreateBranchPaymentMethod = {
|
|
244
|
+
configuration: PaymentConfiguration;
|
|
245
|
+
display_name: string;
|
|
246
|
+
method_id: string;
|
|
247
|
+
surcharge_fixed: number;
|
|
248
|
+
surcharge_percentage: number;
|
|
249
|
+
visibility: BranchPaymentVisibility;
|
|
250
|
+
};
|
|
251
|
+
type UpdateBranchPaymentMethod = {
|
|
252
|
+
configuration?: PaymentConfiguration;
|
|
253
|
+
display_name?: string;
|
|
254
|
+
is_active?: boolean;
|
|
255
|
+
surcharge_fixed?: number;
|
|
256
|
+
surcharge_percentage?: number;
|
|
257
|
+
visibility?: BranchPaymentVisibility;
|
|
258
|
+
};
|
|
259
|
+
|
|
226
260
|
type Specialty = {
|
|
227
261
|
specialty_id: string;
|
|
228
262
|
specialty_name?: string;
|
|
@@ -268,6 +302,12 @@ type Instructor = {
|
|
|
268
302
|
type PaginatedInstructor = PaginationRequest & {
|
|
269
303
|
identity_doc?: string;
|
|
270
304
|
};
|
|
305
|
+
type BranchInstructorInfo = {
|
|
306
|
+
email: string;
|
|
307
|
+
name: string;
|
|
308
|
+
phone: string;
|
|
309
|
+
instructorID: string;
|
|
310
|
+
};
|
|
271
311
|
|
|
272
312
|
interface Permission {
|
|
273
313
|
created_at?: string;
|
|
@@ -401,6 +441,29 @@ type UpdateServiceManual = {
|
|
|
401
441
|
priority?: number;
|
|
402
442
|
service_images?: UpdateServiceImageManual[];
|
|
403
443
|
};
|
|
444
|
+
type BranchServicePrice = {
|
|
445
|
+
branchID: string;
|
|
446
|
+
serviceID: string;
|
|
447
|
+
isVisible: boolean;
|
|
448
|
+
maxCapacity: number;
|
|
449
|
+
priceForMember: number;
|
|
450
|
+
priceForNonMember: number;
|
|
451
|
+
createdAt: string;
|
|
452
|
+
updatedAt: string;
|
|
453
|
+
};
|
|
454
|
+
type CreateBranchServicePriceItem = {
|
|
455
|
+
service_id: string;
|
|
456
|
+
is_visible: boolean;
|
|
457
|
+
max_capacity: number;
|
|
458
|
+
price_for_member: number;
|
|
459
|
+
price_for_non_member: number;
|
|
460
|
+
};
|
|
461
|
+
type UpdateBranchServicePrice = {
|
|
462
|
+
is_visible?: boolean;
|
|
463
|
+
max_capacity?: number;
|
|
464
|
+
price_for_member?: number;
|
|
465
|
+
price_for_non_member?: number;
|
|
466
|
+
};
|
|
404
467
|
|
|
405
468
|
type EquipmentCategory = 'Cardio' | 'Strength' | 'FreeWeight' | 'Functional' | 'Accessory';
|
|
406
469
|
type Equipment = {
|
|
@@ -459,6 +522,10 @@ declare class PaymentMethodService {
|
|
|
459
522
|
getPaymentMethodByID(paymentMethodId: string, jwt: string): Promise<DataResponse<PaymentMethod>>;
|
|
460
523
|
updatePaymentMethod(paymentMethodId: string, data: CreatePaymentMethod, jwt: string): Promise<void>;
|
|
461
524
|
deletePaymentMethod(paymentMethodId: string, jwt: string): Promise<void>;
|
|
525
|
+
addBranchPaymentMethod(branchId: string, paymentMethodData: CreateBranchPaymentMethod[], jwt: string): Promise<void>;
|
|
526
|
+
getBranchPaymentMethods(branchId: string, jwt: string): Promise<DataResponse<BranchPaymentMethod[]>>;
|
|
527
|
+
removeBranchPaymentMethod(branchId: string, paymentMethodId: string, jwt: string): Promise<void>;
|
|
528
|
+
updateBranchPaymentMethod(branchId: string, paymentMethodId: string, data: UpdateBranchPaymentMethod, jwt: string): Promise<void>;
|
|
462
529
|
}
|
|
463
530
|
|
|
464
531
|
declare class InstructorService {
|
|
@@ -469,8 +536,11 @@ declare class InstructorService {
|
|
|
469
536
|
getInstructorById(instructorId: string, jwt: string): Promise<DataResponse<InstructorData>>;
|
|
470
537
|
updateInstructor(instructorId: string, instructorData: Instructor, jwt: string): Promise<void>;
|
|
471
538
|
deleteInstructor(instructorId: string, jwt: string): Promise<void>;
|
|
472
|
-
addSpecialty(instructorId: string, specialty: Specialty, jwt: string): Promise<void>;
|
|
539
|
+
addSpecialty(instructorId: string, specialty: Specialty[], jwt: string): Promise<void>;
|
|
473
540
|
removeSpecialty(instructorId: string, specialtyId: string, jwt: string): Promise<void>;
|
|
541
|
+
addBranchInstructor(branchId: string, instructorIDs: string[], jwt: string): Promise<void>;
|
|
542
|
+
removeBranchInstructor(branchId: string, instructorId: string, jwt: string): Promise<void>;
|
|
543
|
+
getBranchInstructors(branchId: string, jwt: string): Promise<DataResponse<BranchInstructorInfo[]>>;
|
|
474
544
|
}
|
|
475
545
|
|
|
476
546
|
declare class RBACService {
|
|
@@ -482,7 +552,7 @@ declare class RBACService {
|
|
|
482
552
|
updateRole(roleId: string, roleData: CreateRole, jwt: string): Promise<void>;
|
|
483
553
|
getRoleByID(roleId: string, jwt: string): Promise<DataResponse<RoleResponse>>;
|
|
484
554
|
deleteRole(roleId: string, jwt: string): Promise<void>;
|
|
485
|
-
addPermission(roleId: string, permissionData:
|
|
555
|
+
addPermission(roleId: string, permissionData: string[], jwt: string): Promise<void>;
|
|
486
556
|
removePermission(roleId: string, permissionData: Permission[], jwt: string): Promise<void>;
|
|
487
557
|
}
|
|
488
558
|
|
|
@@ -521,6 +591,11 @@ declare class ProductsService {
|
|
|
521
591
|
updateService(serviceId: string, data: UpdateServiceManual, jwt: string): Promise<void>;
|
|
522
592
|
deleteService(serviceId: string, jwt: string): Promise<void>;
|
|
523
593
|
getCategories(jwt: string): Promise<DataResponse<ServiceCategoryInfo[]>>;
|
|
594
|
+
addBranchService(BranchServiceData: CreateBranchServicePriceItem[], branchId: string, jwt: string): Promise<void>;
|
|
595
|
+
getBranchServices(branchId: string, jwt: string): Promise<DataResponse<BranchServicePrice[]>>;
|
|
596
|
+
getBranchServiceByID(branchId: string, jwt: string, serviceId: string): Promise<DataResponse<BranchServicePrice>>;
|
|
597
|
+
updateBranchService(branchId: string, serviceId: string, BranchServiceData: UpdateBranchServicePrice, jwt: string): Promise<void>;
|
|
598
|
+
removeBranchService(branchId: string, serviceId: string, jwt: string): Promise<void>;
|
|
524
599
|
}
|
|
525
600
|
|
|
526
601
|
declare class APIError extends Error {
|
|
@@ -548,4 +623,4 @@ declare class VitalFit {
|
|
|
548
623
|
version(): string;
|
|
549
624
|
}
|
|
550
625
|
|
|
551
|
-
export { APIError, type Banner, type BannerResponse, type BaseModel, type BranchDetails, type BranchInfo, type BranchPaymentMethod, type BranchStatusCount, type ClientProfile, type CreateBanner, type CreateBranchRequest, type CreateEquipment, type CreateMembershipType, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, 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 PaymentMethod, type PaymentMethodTypes, type Permission, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchRequest, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdateServiceImageManual, type UpdateServiceManual, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, isAPIError };
|
|
626
|
+
export { APIError, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BranchDetails, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentVisibility, type BranchServicePrice, type BranchStatusCount, type ClientProfile, type CreateBanner, 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 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 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
|
@@ -115,24 +115,6 @@ type UserPaginationOptions = {
|
|
|
115
115
|
role?: string;
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
type PaymentMethod = {
|
|
119
|
-
method_id: string;
|
|
120
|
-
name: string;
|
|
121
|
-
type: string;
|
|
122
|
-
description: string;
|
|
123
|
-
processing_type: string;
|
|
124
|
-
global_status: boolean;
|
|
125
|
-
created_at: string;
|
|
126
|
-
updated_at: string;
|
|
127
|
-
};
|
|
128
|
-
type PaymentMethodTypes = {};
|
|
129
|
-
type CreatePaymentMethod = {
|
|
130
|
-
description: string;
|
|
131
|
-
name: string;
|
|
132
|
-
processing_type: 'Gateway' | 'Offline';
|
|
133
|
-
type: 'Cash' | 'Card' | 'Transfer' | 'Other';
|
|
134
|
-
};
|
|
135
|
-
|
|
136
118
|
type PaginatedBranch = {
|
|
137
119
|
branch_id: string;
|
|
138
120
|
name: string;
|
|
@@ -143,14 +125,6 @@ type PaginatedBranch = {
|
|
|
143
125
|
manager_last_name: string;
|
|
144
126
|
status: 'Active' | 'Inactive' | 'Maintenance';
|
|
145
127
|
};
|
|
146
|
-
type BranchPaymentMethod = {
|
|
147
|
-
branch_id: string;
|
|
148
|
-
method_id: string;
|
|
149
|
-
is_active: boolean;
|
|
150
|
-
created_at: string;
|
|
151
|
-
updated_at: string;
|
|
152
|
-
method: PaymentMethod;
|
|
153
|
-
};
|
|
154
128
|
type OperatingHour = {
|
|
155
129
|
hour_id?: string;
|
|
156
130
|
day_of_week: string;
|
|
@@ -175,7 +149,6 @@ type BranchDetails = {
|
|
|
175
149
|
manager_first_name: string;
|
|
176
150
|
manager_last_name: string;
|
|
177
151
|
operating_hours: OperatingHour[];
|
|
178
|
-
payment_methods: BranchPaymentMethod[];
|
|
179
152
|
};
|
|
180
153
|
type BranchStatusCount = {
|
|
181
154
|
Active: number;
|
|
@@ -223,6 +196,67 @@ type UpdateBranchRequest = {
|
|
|
223
196
|
tax_id: string;
|
|
224
197
|
};
|
|
225
198
|
|
|
199
|
+
type PaymentMethod = {
|
|
200
|
+
method_id: string;
|
|
201
|
+
name: string;
|
|
202
|
+
type: string;
|
|
203
|
+
description: string;
|
|
204
|
+
processing_type: string;
|
|
205
|
+
global_status: boolean;
|
|
206
|
+
created_at: string;
|
|
207
|
+
updated_at: string;
|
|
208
|
+
};
|
|
209
|
+
type PaymentMethodTypes = {};
|
|
210
|
+
type CreatePaymentMethod = {
|
|
211
|
+
description: string;
|
|
212
|
+
name: string;
|
|
213
|
+
processing_type: 'Gateway' | 'Offline';
|
|
214
|
+
type: 'Cash' | 'Card' | 'Transfer' | 'Other';
|
|
215
|
+
};
|
|
216
|
+
type ZelleConfig = {
|
|
217
|
+
email: string;
|
|
218
|
+
};
|
|
219
|
+
type BankTransferConfig = {
|
|
220
|
+
bank_name: string;
|
|
221
|
+
account_number: string;
|
|
222
|
+
tax_id: string;
|
|
223
|
+
};
|
|
224
|
+
type PagoMovilConfig = {
|
|
225
|
+
phone: string;
|
|
226
|
+
bank_id: string;
|
|
227
|
+
tax_id: string;
|
|
228
|
+
};
|
|
229
|
+
type BranchPaymentVisibility = 'Client' | 'Staff' | 'All';
|
|
230
|
+
type PaymentConfiguration = ZelleConfig | BankTransferConfig | PagoMovilConfig | Record<string, any>;
|
|
231
|
+
type BranchPaymentMethod = {
|
|
232
|
+
branch_id: string;
|
|
233
|
+
configuration: PaymentConfiguration;
|
|
234
|
+
created_at: string;
|
|
235
|
+
display_name: string;
|
|
236
|
+
is_active: boolean;
|
|
237
|
+
method_id: string;
|
|
238
|
+
surcharge_fixed: number;
|
|
239
|
+
surcharge_percentage: number;
|
|
240
|
+
updated_at: string;
|
|
241
|
+
visibility: BranchPaymentVisibility;
|
|
242
|
+
};
|
|
243
|
+
type CreateBranchPaymentMethod = {
|
|
244
|
+
configuration: PaymentConfiguration;
|
|
245
|
+
display_name: string;
|
|
246
|
+
method_id: string;
|
|
247
|
+
surcharge_fixed: number;
|
|
248
|
+
surcharge_percentage: number;
|
|
249
|
+
visibility: BranchPaymentVisibility;
|
|
250
|
+
};
|
|
251
|
+
type UpdateBranchPaymentMethod = {
|
|
252
|
+
configuration?: PaymentConfiguration;
|
|
253
|
+
display_name?: string;
|
|
254
|
+
is_active?: boolean;
|
|
255
|
+
surcharge_fixed?: number;
|
|
256
|
+
surcharge_percentage?: number;
|
|
257
|
+
visibility?: BranchPaymentVisibility;
|
|
258
|
+
};
|
|
259
|
+
|
|
226
260
|
type Specialty = {
|
|
227
261
|
specialty_id: string;
|
|
228
262
|
specialty_name?: string;
|
|
@@ -268,6 +302,12 @@ type Instructor = {
|
|
|
268
302
|
type PaginatedInstructor = PaginationRequest & {
|
|
269
303
|
identity_doc?: string;
|
|
270
304
|
};
|
|
305
|
+
type BranchInstructorInfo = {
|
|
306
|
+
email: string;
|
|
307
|
+
name: string;
|
|
308
|
+
phone: string;
|
|
309
|
+
instructorID: string;
|
|
310
|
+
};
|
|
271
311
|
|
|
272
312
|
interface Permission {
|
|
273
313
|
created_at?: string;
|
|
@@ -401,6 +441,29 @@ type UpdateServiceManual = {
|
|
|
401
441
|
priority?: number;
|
|
402
442
|
service_images?: UpdateServiceImageManual[];
|
|
403
443
|
};
|
|
444
|
+
type BranchServicePrice = {
|
|
445
|
+
branchID: string;
|
|
446
|
+
serviceID: string;
|
|
447
|
+
isVisible: boolean;
|
|
448
|
+
maxCapacity: number;
|
|
449
|
+
priceForMember: number;
|
|
450
|
+
priceForNonMember: number;
|
|
451
|
+
createdAt: string;
|
|
452
|
+
updatedAt: string;
|
|
453
|
+
};
|
|
454
|
+
type CreateBranchServicePriceItem = {
|
|
455
|
+
service_id: string;
|
|
456
|
+
is_visible: boolean;
|
|
457
|
+
max_capacity: number;
|
|
458
|
+
price_for_member: number;
|
|
459
|
+
price_for_non_member: number;
|
|
460
|
+
};
|
|
461
|
+
type UpdateBranchServicePrice = {
|
|
462
|
+
is_visible?: boolean;
|
|
463
|
+
max_capacity?: number;
|
|
464
|
+
price_for_member?: number;
|
|
465
|
+
price_for_non_member?: number;
|
|
466
|
+
};
|
|
404
467
|
|
|
405
468
|
type EquipmentCategory = 'Cardio' | 'Strength' | 'FreeWeight' | 'Functional' | 'Accessory';
|
|
406
469
|
type Equipment = {
|
|
@@ -459,6 +522,10 @@ declare class PaymentMethodService {
|
|
|
459
522
|
getPaymentMethodByID(paymentMethodId: string, jwt: string): Promise<DataResponse<PaymentMethod>>;
|
|
460
523
|
updatePaymentMethod(paymentMethodId: string, data: CreatePaymentMethod, jwt: string): Promise<void>;
|
|
461
524
|
deletePaymentMethod(paymentMethodId: string, jwt: string): Promise<void>;
|
|
525
|
+
addBranchPaymentMethod(branchId: string, paymentMethodData: CreateBranchPaymentMethod[], jwt: string): Promise<void>;
|
|
526
|
+
getBranchPaymentMethods(branchId: string, jwt: string): Promise<DataResponse<BranchPaymentMethod[]>>;
|
|
527
|
+
removeBranchPaymentMethod(branchId: string, paymentMethodId: string, jwt: string): Promise<void>;
|
|
528
|
+
updateBranchPaymentMethod(branchId: string, paymentMethodId: string, data: UpdateBranchPaymentMethod, jwt: string): Promise<void>;
|
|
462
529
|
}
|
|
463
530
|
|
|
464
531
|
declare class InstructorService {
|
|
@@ -469,8 +536,11 @@ declare class InstructorService {
|
|
|
469
536
|
getInstructorById(instructorId: string, jwt: string): Promise<DataResponse<InstructorData>>;
|
|
470
537
|
updateInstructor(instructorId: string, instructorData: Instructor, jwt: string): Promise<void>;
|
|
471
538
|
deleteInstructor(instructorId: string, jwt: string): Promise<void>;
|
|
472
|
-
addSpecialty(instructorId: string, specialty: Specialty, jwt: string): Promise<void>;
|
|
539
|
+
addSpecialty(instructorId: string, specialty: Specialty[], jwt: string): Promise<void>;
|
|
473
540
|
removeSpecialty(instructorId: string, specialtyId: string, jwt: string): Promise<void>;
|
|
541
|
+
addBranchInstructor(branchId: string, instructorIDs: string[], jwt: string): Promise<void>;
|
|
542
|
+
removeBranchInstructor(branchId: string, instructorId: string, jwt: string): Promise<void>;
|
|
543
|
+
getBranchInstructors(branchId: string, jwt: string): Promise<DataResponse<BranchInstructorInfo[]>>;
|
|
474
544
|
}
|
|
475
545
|
|
|
476
546
|
declare class RBACService {
|
|
@@ -482,7 +552,7 @@ declare class RBACService {
|
|
|
482
552
|
updateRole(roleId: string, roleData: CreateRole, jwt: string): Promise<void>;
|
|
483
553
|
getRoleByID(roleId: string, jwt: string): Promise<DataResponse<RoleResponse>>;
|
|
484
554
|
deleteRole(roleId: string, jwt: string): Promise<void>;
|
|
485
|
-
addPermission(roleId: string, permissionData:
|
|
555
|
+
addPermission(roleId: string, permissionData: string[], jwt: string): Promise<void>;
|
|
486
556
|
removePermission(roleId: string, permissionData: Permission[], jwt: string): Promise<void>;
|
|
487
557
|
}
|
|
488
558
|
|
|
@@ -521,6 +591,11 @@ declare class ProductsService {
|
|
|
521
591
|
updateService(serviceId: string, data: UpdateServiceManual, jwt: string): Promise<void>;
|
|
522
592
|
deleteService(serviceId: string, jwt: string): Promise<void>;
|
|
523
593
|
getCategories(jwt: string): Promise<DataResponse<ServiceCategoryInfo[]>>;
|
|
594
|
+
addBranchService(BranchServiceData: CreateBranchServicePriceItem[], branchId: string, jwt: string): Promise<void>;
|
|
595
|
+
getBranchServices(branchId: string, jwt: string): Promise<DataResponse<BranchServicePrice[]>>;
|
|
596
|
+
getBranchServiceByID(branchId: string, jwt: string, serviceId: string): Promise<DataResponse<BranchServicePrice>>;
|
|
597
|
+
updateBranchService(branchId: string, serviceId: string, BranchServiceData: UpdateBranchServicePrice, jwt: string): Promise<void>;
|
|
598
|
+
removeBranchService(branchId: string, serviceId: string, jwt: string): Promise<void>;
|
|
524
599
|
}
|
|
525
600
|
|
|
526
601
|
declare class APIError extends Error {
|
|
@@ -548,4 +623,4 @@ declare class VitalFit {
|
|
|
548
623
|
version(): string;
|
|
549
624
|
}
|
|
550
625
|
|
|
551
|
-
export { APIError, type Banner, type BannerResponse, type BaseModel, type BranchDetails, type BranchInfo, type BranchPaymentMethod, type BranchStatusCount, type ClientProfile, type CreateBanner, type CreateBranchRequest, type CreateEquipment, type CreateMembershipType, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, 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 PaymentMethod, type PaymentMethodTypes, type Permission, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchRequest, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdateServiceImageManual, type UpdateServiceManual, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, isAPIError };
|
|
626
|
+
export { APIError, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BranchDetails, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentVisibility, type BranchServicePrice, type BranchStatusCount, type ClientProfile, type CreateBanner, 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 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 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
|
@@ -324,6 +324,10 @@ var PaymentMethodService = class {
|
|
|
324
324
|
this.createPaymentMethod = this.createPaymentMethod.bind(this);
|
|
325
325
|
this.updatePaymentMethod = this.updatePaymentMethod.bind(this);
|
|
326
326
|
this.deletePaymentMethod = this.deletePaymentMethod.bind(this);
|
|
327
|
+
this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);
|
|
328
|
+
this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);
|
|
329
|
+
this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);
|
|
330
|
+
this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);
|
|
327
331
|
}
|
|
328
332
|
async getPaymentMethods(jwt) {
|
|
329
333
|
const response = await this.client.get({
|
|
@@ -359,6 +363,33 @@ var PaymentMethodService = class {
|
|
|
359
363
|
jwt
|
|
360
364
|
});
|
|
361
365
|
}
|
|
366
|
+
async addBranchPaymentMethod(branchId, paymentMethodData, jwt) {
|
|
367
|
+
await this.client.post({
|
|
368
|
+
url: `/branches/${branchId}/payment-methods`,
|
|
369
|
+
jwt,
|
|
370
|
+
data: paymentMethodData
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
async getBranchPaymentMethods(branchId, jwt) {
|
|
374
|
+
const response = await this.client.get({
|
|
375
|
+
url: `/branches/${branchId}/payment-methods`,
|
|
376
|
+
jwt
|
|
377
|
+
});
|
|
378
|
+
return response;
|
|
379
|
+
}
|
|
380
|
+
async removeBranchPaymentMethod(branchId, paymentMethodId, jwt) {
|
|
381
|
+
await this.client.delete({
|
|
382
|
+
url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,
|
|
383
|
+
jwt
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
async updateBranchPaymentMethod(branchId, paymentMethodId, data, jwt) {
|
|
387
|
+
await this.client.put({
|
|
388
|
+
url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,
|
|
389
|
+
jwt,
|
|
390
|
+
data
|
|
391
|
+
});
|
|
392
|
+
}
|
|
362
393
|
};
|
|
363
394
|
|
|
364
395
|
// src/services/instructor.ts
|
|
@@ -373,6 +404,9 @@ var InstructorService = class {
|
|
|
373
404
|
this.deleteInstructor = this.deleteInstructor.bind(this);
|
|
374
405
|
this.addSpecialty = this.addSpecialty.bind(this);
|
|
375
406
|
this.removeSpecialty = this.removeSpecialty.bind(this);
|
|
407
|
+
this.addBranchInstructor = this.addBranchInstructor.bind(this);
|
|
408
|
+
this.removeBranchInstructor = this.removeBranchInstructor.bind(this);
|
|
409
|
+
this.getBranchInstructors = this.getBranchInstructors.bind(this);
|
|
376
410
|
}
|
|
377
411
|
async getInstructors({ search, identity_doc }, jwt) {
|
|
378
412
|
const response = await this.client.get({
|
|
@@ -415,7 +449,10 @@ var InstructorService = class {
|
|
|
415
449
|
async addSpecialty(instructorId, specialty, jwt) {
|
|
416
450
|
await this.client.post({
|
|
417
451
|
url: `/instructor/${instructorId}/specialty`,
|
|
418
|
-
jwt
|
|
452
|
+
jwt,
|
|
453
|
+
data: {
|
|
454
|
+
specialties: specialty
|
|
455
|
+
}
|
|
419
456
|
});
|
|
420
457
|
}
|
|
421
458
|
async removeSpecialty(instructorId, specialtyId, jwt) {
|
|
@@ -424,6 +461,28 @@ var InstructorService = class {
|
|
|
424
461
|
jwt
|
|
425
462
|
});
|
|
426
463
|
}
|
|
464
|
+
async addBranchInstructor(branchId, instructorIDs, jwt) {
|
|
465
|
+
await this.client.post({
|
|
466
|
+
url: `/branches/${branchId}/instructors`,
|
|
467
|
+
jwt,
|
|
468
|
+
data: {
|
|
469
|
+
instructors: instructorIDs
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
async removeBranchInstructor(branchId, instructorId, jwt) {
|
|
474
|
+
await this.client.delete({
|
|
475
|
+
url: `/branches/${branchId}/instructors/${instructorId}`,
|
|
476
|
+
jwt
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
async getBranchInstructors(branchId, jwt) {
|
|
480
|
+
const response = await this.client.get({
|
|
481
|
+
url: `/branches/${branchId}/instructors`,
|
|
482
|
+
jwt
|
|
483
|
+
});
|
|
484
|
+
return response;
|
|
485
|
+
}
|
|
427
486
|
};
|
|
428
487
|
|
|
429
488
|
// src/services/RBAC.ts
|
|
@@ -485,7 +544,9 @@ var RBACService = class {
|
|
|
485
544
|
await this.client.post({
|
|
486
545
|
url: `/admin/roles/${roleId}/permissions`,
|
|
487
546
|
jwt,
|
|
488
|
-
data:
|
|
547
|
+
data: {
|
|
548
|
+
permissions: permissionData
|
|
549
|
+
}
|
|
489
550
|
});
|
|
490
551
|
}
|
|
491
552
|
async removePermission(roleId, permissionData, jwt) {
|
|
@@ -618,6 +679,11 @@ var ProductsService = class {
|
|
|
618
679
|
this.updateService = this.updateService.bind(this);
|
|
619
680
|
this.deleteService = this.deleteService.bind(this);
|
|
620
681
|
this.getCategories = this.getCategories.bind(this);
|
|
682
|
+
this.addBranchService = this.addBranchService.bind(this);
|
|
683
|
+
this.removeBranchService = this.removeBranchService.bind(this);
|
|
684
|
+
this.getBranchServices = this.getBranchServices.bind(this);
|
|
685
|
+
this.getBranchServiceByID = this.getBranchServiceByID.bind(this);
|
|
686
|
+
this.updateBranchService = this.updateBranchService.bind(this);
|
|
621
687
|
}
|
|
622
688
|
async createService(data, jwt) {
|
|
623
689
|
await this.client.post({
|
|
@@ -628,7 +694,7 @@ var ProductsService = class {
|
|
|
628
694
|
}
|
|
629
695
|
async getServices(jwt) {
|
|
630
696
|
const response = await this.client.get({
|
|
631
|
-
url: "/services",
|
|
697
|
+
url: "/services/all",
|
|
632
698
|
jwt
|
|
633
699
|
});
|
|
634
700
|
return response;
|
|
@@ -660,6 +726,42 @@ var ProductsService = class {
|
|
|
660
726
|
});
|
|
661
727
|
return response;
|
|
662
728
|
}
|
|
729
|
+
async addBranchService(BranchServiceData, branchId, jwt) {
|
|
730
|
+
await this.client.post({
|
|
731
|
+
url: `/branches/${branchId}/services`,
|
|
732
|
+
jwt,
|
|
733
|
+
data: {
|
|
734
|
+
services: BranchServiceData
|
|
735
|
+
}
|
|
736
|
+
});
|
|
737
|
+
}
|
|
738
|
+
async getBranchServices(branchId, jwt) {
|
|
739
|
+
const response = await this.client.get({
|
|
740
|
+
url: `/branches/${branchId}/services`,
|
|
741
|
+
jwt
|
|
742
|
+
});
|
|
743
|
+
return response;
|
|
744
|
+
}
|
|
745
|
+
async getBranchServiceByID(branchId, jwt, serviceId) {
|
|
746
|
+
const response = await this.client.get({
|
|
747
|
+
url: `/branches/${branchId}/services/${serviceId}`,
|
|
748
|
+
jwt
|
|
749
|
+
});
|
|
750
|
+
return response;
|
|
751
|
+
}
|
|
752
|
+
async updateBranchService(branchId, serviceId, BranchServiceData, jwt) {
|
|
753
|
+
await this.client.put({
|
|
754
|
+
url: `/branches/${branchId}/services/${serviceId}`,
|
|
755
|
+
jwt,
|
|
756
|
+
data: BranchServiceData
|
|
757
|
+
});
|
|
758
|
+
}
|
|
759
|
+
async removeBranchService(branchId, serviceId, jwt) {
|
|
760
|
+
await this.client.delete({
|
|
761
|
+
url: `/branches/${branchId}/services/${serviceId}`,
|
|
762
|
+
jwt
|
|
763
|
+
});
|
|
764
|
+
}
|
|
663
765
|
};
|
|
664
766
|
|
|
665
767
|
// src/types/auth.ts
|
|
@@ -704,7 +806,7 @@ var VitalFit = class _VitalFit {
|
|
|
704
806
|
return _VitalFit.instance;
|
|
705
807
|
}
|
|
706
808
|
version() {
|
|
707
|
-
return "0.0.
|
|
809
|
+
return "0.0.36";
|
|
708
810
|
}
|
|
709
811
|
};
|
|
710
812
|
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/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 { CreatePaymentMethod, DataResponse, PaymentMethod } 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\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","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\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\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 });\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","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: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\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} 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 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',\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","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} 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\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 }\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.34';\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/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 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.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 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}/instructors`,\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}/instructors/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructors`,\n jwt,\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","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} 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\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 }\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.36';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n"],"mappings":"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","names":["UserGender"]}
|