@vitalfit/sdk 0.0.40 → 0.0.41
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 +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -510,7 +510,7 @@ var InstructorService = class {
|
|
|
510
510
|
}
|
|
511
511
|
async addBranchInstructor(branchId, instructorIDs, jwt) {
|
|
512
512
|
await this.client.post({
|
|
513
|
-
url: `/branches/${branchId}/
|
|
513
|
+
url: `/branches/${branchId}/instructor`,
|
|
514
514
|
jwt,
|
|
515
515
|
data: {
|
|
516
516
|
instructors: instructorIDs
|
|
@@ -519,7 +519,7 @@ var InstructorService = class {
|
|
|
519
519
|
}
|
|
520
520
|
async removeBranchInstructor(branchId, instructorId, jwt) {
|
|
521
521
|
await this.client.delete({
|
|
522
|
-
url: `/branches/${branchId}/
|
|
522
|
+
url: `/branches/${branchId}/instructor/${instructorId}`,
|
|
523
523
|
jwt
|
|
524
524
|
});
|
|
525
525
|
}
|
|
@@ -947,7 +947,7 @@ var VitalFit = class _VitalFit {
|
|
|
947
947
|
return _VitalFit.instance;
|
|
948
948
|
}
|
|
949
949
|
version() {
|
|
950
|
-
return "0.0.
|
|
950
|
+
return "0.0.41";
|
|
951
951
|
}
|
|
952
952
|
};
|
|
953
953
|
// 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/services/equipment.ts","../src/types/auth.ts"],"sourcesContent":["import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.40';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n","import axios, { type AxiosInstance } from 'axios';\r\nimport { BASE_URL, DEV_URL } from './settings';\r\nimport { APIError } from './errors';\r\nimport type { Pagination } from './types';\r\n\r\nexport type ClientConfig = {\r\n url: string;\r\n jwt?: string;\r\n data?: object;\r\n params?: object;\r\n};\r\n\r\nexport class Client {\r\n private client: AxiosInstance;\r\n jwt?: string;\r\n\r\n constructor(isDevMode: boolean, origin?: string) {\r\n let headers: Record<string, string> = {\r\n 'Content-Type': 'application/json',\r\n };\r\n if (origin) {\r\n headers['Origin'] = origin;\r\n }\r\n this.client = axios.create({\r\n baseURL: isDevMode ? DEV_URL : BASE_URL,\r\n headers,\r\n });\r\n }\r\n\r\n async call(method: string, config: ClientConfig): Promise<Response> {\r\n if (config.jwt) {\r\n this.client.interceptors.request.use((axiosConfig) => {\r\n if (axiosConfig.headers) {\r\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\r\n }\r\n return axiosConfig;\r\n });\r\n }\r\n try {\r\n const response = await this.client.request({\r\n method: method,\r\n url: config.url,\r\n data: config.data,\r\n params: config.params,\r\n });\r\n this.client.interceptors.request.clear();\r\n return response.data;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (error: unknown) {\r\n if (axios.isAxiosError(error)) {\r\n const errorMessage = error.response?.data?.error;\r\n if (typeof errorMessage === 'string') {\r\n throw new APIError([errorMessage], error.response?.status ?? 500);\r\n }\r\n throw new APIError(\r\n ['Ocurrió un error inesperado'],\r\n error.response?.status ?? 500,\r\n );\r\n }\r\n throw new Error(error as string);\r\n }\r\n }\r\n\r\n async get(config: ClientConfig): Promise<any> {\r\n const isPaginated = config.params && 'page' in config.params;\r\n\r\n if (isPaginated) {\r\n const response = (await this.call(\r\n 'get',\r\n config,\r\n )) as unknown as Pagination<any>;\r\n\r\n const baseURL = this.client.defaults.baseURL || '';\r\n\r\n if (response.next) {\r\n response.next = `${baseURL}${response.next}`;\r\n }\r\n if (response.previous) {\r\n response.previous = `${baseURL}${response.previous}`;\r\n }\r\n\r\n return response;\r\n } else {\r\n const data = await this.call('get', config);\r\n return data;\r\n }\r\n }\r\n\r\n async post(config: ClientConfig) {\r\n const data = await this.call('post', config);\r\n return data;\r\n }\r\n\r\n async put(config: ClientConfig) {\r\n const data = await this.call('put', config);\r\n return data;\r\n }\r\n\r\n async patch(config: ClientConfig) {\r\n const data = await this.call('patch', config);\r\n return data;\r\n }\r\n\r\n async delete(config: ClientConfig) {\r\n const data = await this.call('delete', config);\r\n return data;\r\n }\r\n\r\n setJWT(jwt: string) {\r\n this.jwt = jwt;\r\n }\r\n\r\n removeJWT() {\r\n this.jwt = undefined;\r\n }\r\n}\r\n","export const BASE_URL = 'https://api-rm8x.onrender.com/v1';\r\nexport const DEV_URL = 'https://api-rm8x.onrender.com/v1';\r\n","export class APIError extends Error {\r\n status: number;\r\n messages: string[];\r\n constructor(messages: string[], status: number) {\r\n super(messages.join(', '));\r\n this.status = status;\r\n this.messages = messages;\r\n }\r\n}\r\n\r\nexport const isAPIError = (error: unknown): error is APIError => {\r\n return error instanceof APIError;\r\n};\r\n","import { Client } from '../client';\r\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\r\n\r\nexport class AuthService {\r\n private client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.login = this.login.bind(this);\r\n this.signUp = this.signUp.bind(this);\r\n this.signUpStaff = this.signUpStaff.bind(this);\r\n this.forgotPassword = this.forgotPassword.bind(this);\r\n this.resetPassword = this.resetPassword.bind(this);\r\n this.verifyEmail = this.verifyEmail.bind(this);\r\n this.verifyStaff = this.verifyStaff.bind(this);\r\n\r\n this.logout = this.logout.bind(this);\r\n this.saveJWT = this.saveJWT.bind(this);\r\n }\r\n\r\n async login({\r\n email,\r\n password,\r\n context,\r\n }: LoginRequest): Promise<LoginResponse> {\r\n const response = await this.client.post({\r\n url: '/auth/login',\r\n data: {\r\n email,\r\n password,\r\n context,\r\n },\r\n });\r\n return response as unknown as LoginResponse;\r\n }\r\n\r\n logout(): void {\r\n this.client.removeJWT();\r\n }\r\n\r\n saveJWT(jwt: string): void {\r\n this.client.setJWT(jwt);\r\n }\r\n\r\n async signUp(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (signUpData.role_name != 'client') {\r\n throw new Error('Only clients can sign up using this method');\r\n }\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register',\r\n data: signUpData,\r\n });\r\n }\r\n\r\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register-staff',\r\n data: signUpData,\r\n });\r\n }\r\n async forgotPassword(email: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/forgot',\r\n data: {\r\n email,\r\n },\r\n });\r\n }\r\n\r\n async resetPassword(\r\n otp: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/reset',\r\n data: {\r\n otp,\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n\r\n async verifyEmail(otp: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/activate',\r\n data: {\r\n otp,\r\n },\r\n });\r\n }\r\n\r\n async verifyStaff(\r\n token: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/auth/activate/${token}`,\r\n data: {\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n}\r\n","import { Client } from '@/client';\r\nimport type {\r\n UserApiResponse,\r\n DataResponse,\r\n User,\r\n UserPaginationOptions,\r\n} from '@/types';\r\n\r\nexport class UserService {\r\n client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.WhoAmI = this.WhoAmI.bind(this);\r\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\r\n this.getClientUsers = this.getClientUsers.bind(this);\r\n this.getStaffUsers = this.getStaffUsers.bind(this);\r\n }\r\n\r\n async getStaffUsers(\r\n { search, role }: UserPaginationOptions,\r\n jwt: string,\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/users',\r\n jwt,\r\n params: {\r\n search,\r\n role,\r\n },\r\n });\r\n\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\r\n const response = await this.client.get({\r\n url: '/user/whoami',\r\n jwt,\r\n });\r\n return response as unknown as UserApiResponse;\r\n }\r\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/branch-admins',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async getClientUsers(\r\n jwt: string,\r\n options: UserPaginationOptions = {},\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/clients',\r\n jwt,\r\n params: options,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n}\r\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\r\nimport type {\r\n PaginatedBranch,\r\n PaginationBranchRequest,\r\n BranchStatusCount,\r\n BranchDetails,\r\n UpdateBranchRequest,\r\n} from '../types/branch';\r\n\r\nexport class BranchService {\r\n private client: any;\r\n\r\n constructor(client: any) {\r\n this.client = client;\r\n this.getBranches = this.getBranches.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\r\n this.createBranch = this.createBranch.bind(this);\r\n this.getBranchById = this.getBranchById.bind(this);\r\n this.updateBranch = this.updateBranch.bind(this);\r\n }\r\n\r\n async updateBranch(\r\n branchId: string,\r\n branchData: UpdateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n\r\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n return response as unknown as BranchDetails;\r\n }\r\n\r\n async getBranches(\r\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\r\n jwt: string,\r\n ): Promise<Pagination<PaginatedBranch[]>> {\r\n const response = await this.client.get({\r\n url: '/branches',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n search,\r\n status,\r\n location,\r\n },\r\n });\r\n return response as unknown as Pagination<PaginatedBranch[]>;\r\n }\r\n\r\n async delete(branchId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchStatusCount(\r\n jwt: string,\r\n ): Promise<DataResponse<BranchStatusCount>> {\r\n const response = await this.client.get({\r\n url: '/branches/status',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchStatusCount>;\r\n }\r\n\r\n async createBranch(\r\n branchData: CreateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/branches',\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n BranchPaymentMethod,\r\n BranchPaymentMethodInfo,\r\n CreateBranchPaymentMethod,\r\n CreatePaymentMethod,\r\n DataResponse,\r\n PaymentMethod,\r\n UpdateBranchPaymentMethod,\r\n} from '@/types';\r\n\r\nexport class PaymentMethodService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\r\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\r\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\r\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\r\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\r\n\r\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\r\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\r\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\r\n this.getBranchPaymentMethodByID =\r\n this.getBranchPaymentMethodByID.bind(this);\r\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\r\n }\r\n\r\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod[]>;\r\n }\r\n async createPaymentMethod(\r\n paymentMethodData: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getPaymentMethodByID(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<PaymentMethod>> {\r\n const response = await this.client.get({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod>;\r\n }\r\n\r\n async updatePaymentMethod(\r\n paymentMethodId: string,\r\n data: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deletePaymentMethod(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async addBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodData: CreateBranchPaymentMethod[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getBranchPaymentMethods(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\r\n }\r\n\r\n async getBranchPaymentMethodByID(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\r\n }\r\n\r\n async removeBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n data: UpdateBranchPaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\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 { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\r\nimport type {\r\n CreateRole,\r\n DataResponse,\r\n PaymentMethod,\r\n Permission,\r\n RoleResponse,\r\n} from '@/types';\r\n\r\nexport class RBACService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPermissions = this.getPermissions.bind(this);\r\n this.getRoles = this.getRoles.bind(this);\r\n this.createRole = this.createRole.bind(this);\r\n this.updateRole = this.updateRole.bind(this);\r\n this.getRoleByID = this.getRoleByID.bind(this);\r\n this.deleteRole = this.deleteRole.bind(this);\r\n this.addPermission = this.addPermission.bind(this);\r\n this.removePermission = this.removePermission.bind(this);\r\n }\r\n\r\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/permissions',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Permission[]>;\r\n }\r\n\r\n async getRoles(jwt: string): Promise<DataResponse<RoleResponse[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/roles',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse[]>;\r\n }\r\n\r\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/admin/roles',\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async updateRole(\r\n roleId: string,\r\n roleData: CreateRole,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async getRoleByID(\r\n roleId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<RoleResponse>> {\r\n const response = await this.client.get({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse>;\r\n }\r\n\r\n async deleteRole(roleId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n }\r\n async addPermission(\r\n roleId: string,\r\n permissionData: string[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: {\r\n permissions: permissionData,\r\n },\r\n });\r\n }\r\n async removePermission(\r\n roleId: string,\r\n permissionData: Permission[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: permissionData,\r\n });\r\n }\r\n}\r\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\r\nimport { Client } from '../client';\r\nimport type { DataResponse } from '../types';\r\n\r\nexport class MarketingService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createBanners = this.createBanners.bind(this);\r\n this.getBanner = this.getBanner.bind(this);\r\n this.getBannerByID = this.getBannerByID.bind(this);\r\n this.updateBanner = this.updateBanner.bind(this);\r\n this.deleteBanner = this.deleteBanner.bind(this);\r\n }\r\n\r\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/marketing/banners',\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\r\n const response = await this.client.get({\r\n url: '/marketing/banners',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner[]>;\r\n }\r\n\r\n async getBannerByID(\r\n BannerId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Banner>> {\r\n const response = await this.client.get({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner>;\r\n }\r\n\r\n async updateBanner(\r\n BannerId: string,\r\n BannerData: UpdateBanner,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n DataResponse,\r\n MembershipType,\r\n UpdateMembershipType,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class MembershipService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createMembershipType = this.createMembershipType.bind(this);\r\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\r\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\r\n this.updateMembershipType = this.updateMembershipType.bind(this);\r\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\r\n }\r\n\r\n async createMembershipType(data: any, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/membership/types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getMembershipTypes(\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType[]>> {\r\n const response = await this.client.get({\r\n url: '/membership/types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType[]>;\r\n }\r\n\r\n async getMembershipTypeByID(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType>> {\r\n const response = await this.client.get({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType>;\r\n }\r\n\r\n async updateMembershipType(\r\n membershipTypeId: string,\r\n data: UpdateMembershipType,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteMembershipType(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type { DataResponse, BranchInfo } from '@/types';\r\n\r\nexport class PublicService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getBranchMap = this.getBranchMap.bind(this);\r\n }\r\n\r\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\r\n const response = await this.client.get({\r\n url: '/public/branch-map',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchInfo>;\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n CreateService,\r\n DataResponse,\r\n ServiceCategoryInfo,\r\n ServiceFullDetail,\r\n UpdateServiceManual,\r\n CreateBranchServicePriceItem,\r\n BranchServicePrice,\r\n UpdateBranchServicePrice,\r\n} from '@/types';\r\n\r\nexport class ProductsService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createService = this.createService.bind(this);\r\n this.getServices = this.getServices.bind(this);\r\n this.getServiceByID = this.getServiceByID.bind(this);\r\n this.updateService = this.updateService.bind(this);\r\n this.deleteService = this.deleteService.bind(this);\r\n this.getCategories = this.getCategories.bind(this);\r\n\r\n this.addBranchService = this.addBranchService.bind(this);\r\n this.removeBranchService = this.removeBranchService.bind(this);\r\n this.getBranchServices = this.getBranchServices.bind(this);\r\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\r\n this.updateBranchService = this.updateBranchService.bind(this);\r\n }\r\n async createService(data: CreateService, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/services',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getServices(jwt: string): Promise<DataResponse<ServiceFullDetail[]>> {\r\n const response = await this.client.get({\r\n url: '/services/all',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail[]>;\r\n }\r\n async getServiceByID(\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceFullDetail>> {\r\n const response = await this.client.get({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail>;\r\n }\r\n\r\n async updateService(\r\n serviceId: string,\r\n data: UpdateServiceManual,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n async deleteService(serviceId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n async getCategories(\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\r\n const response = await this.client.get({\r\n url: '/services/categories',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\r\n }\r\n\r\n async addBranchService(\r\n BranchServiceData: CreateBranchServicePriceItem[],\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n data: {\r\n services: BranchServiceData,\r\n },\r\n });\r\n }\r\n\r\n async getBranchServices(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchServicePrice[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice[]>;\r\n }\r\n\r\n async getBranchServiceByID(\r\n branchId: string,\r\n jwt: string,\r\n serviceId: string,\r\n ): Promise<DataResponse<BranchServicePrice>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice>;\r\n }\r\n\r\n async updateBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n BranchServiceData: UpdateBranchServicePrice,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n data: BranchServiceData,\r\n });\r\n }\r\n\r\n async removeBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n BranchEquipmentInventory,\r\n CreateBranchEquipment,\r\n CreateEquipment,\r\n DataResponse,\r\n Equipment,\r\n EquipmentInfo,\r\n UpdateBranchEquipmentDetails,\r\n UpdateEquipment,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class EquipmentService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getEquipment = this.getEquipment.bind(this);\r\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\r\n this.createEquipment = this.createEquipment.bind(this);\r\n this.updateEquipment = this.updateEquipment.bind(this);\r\n this.deleteEquipment = this.deleteEquipment.bind(this);\r\n\r\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\r\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\r\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\r\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\r\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\r\n }\r\n\r\n async getEquipment(jwt: string): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: '/equipment-types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async getEquipmentByID(\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<EquipmentInfo>> {\r\n const response = await this.client.get({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<EquipmentInfo>;\r\n }\r\n async getBranchEquipmentByID(\r\n branchId: string,\r\n equipmentID: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchEquipmentInventory>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment/${equipmentID}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchEquipmentInventory>;\r\n }\r\n\r\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/equipment-types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async updateEquipment(\r\n equipmentId: string,\r\n data: UpdateEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchEquipment(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async addBranchEquipment(\r\n branchId: string,\r\n equipmentData: CreateBranchEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n data: {\r\n equipment: equipmentData,\r\n },\r\n });\r\n }\r\n\r\n async removeBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n data: UpdateBranchEquipmentDetails,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.patch({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\n","export enum UserGender {\r\n male = 'male',\r\n female = 'female',\r\n preferNotToSay = 'prefer-not-to-say',\r\n}\r\n\r\nexport type LoginRequest = {\r\n email: string;\r\n password: string;\r\n context?: string;\r\n};\r\n\r\nexport type LoginResponse = {\r\n token: string;\r\n};\r\n\r\nexport type SignUpRequest = {\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n password: string;\r\n identity_document: string;\r\n phone?: string | null;\r\n birth_date: string;\r\n gender?: UserGender | null;\r\n profile_picture_url?: string | null;\r\n role_name?: string | null;\r\n};\r\n"],"mappings":"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","names":["axios","UserGender"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/types/auth.ts"],"sourcesContent":["import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.41';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n","import axios, { type AxiosInstance } from 'axios';\r\nimport { BASE_URL, DEV_URL } from './settings';\r\nimport { APIError } from './errors';\r\nimport type { Pagination } from './types';\r\n\r\nexport type ClientConfig = {\r\n url: string;\r\n jwt?: string;\r\n data?: object;\r\n params?: object;\r\n};\r\n\r\nexport class Client {\r\n private client: AxiosInstance;\r\n jwt?: string;\r\n\r\n constructor(isDevMode: boolean, origin?: string) {\r\n let headers: Record<string, string> = {\r\n 'Content-Type': 'application/json',\r\n };\r\n if (origin) {\r\n headers['Origin'] = origin;\r\n }\r\n this.client = axios.create({\r\n baseURL: isDevMode ? DEV_URL : BASE_URL,\r\n headers,\r\n });\r\n }\r\n\r\n async call(method: string, config: ClientConfig): Promise<Response> {\r\n if (config.jwt) {\r\n this.client.interceptors.request.use((axiosConfig) => {\r\n if (axiosConfig.headers) {\r\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\r\n }\r\n return axiosConfig;\r\n });\r\n }\r\n try {\r\n const response = await this.client.request({\r\n method: method,\r\n url: config.url,\r\n data: config.data,\r\n params: config.params,\r\n });\r\n this.client.interceptors.request.clear();\r\n return response.data;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (error: unknown) {\r\n if (axios.isAxiosError(error)) {\r\n const errorMessage = error.response?.data?.error;\r\n if (typeof errorMessage === 'string') {\r\n throw new APIError([errorMessage], error.response?.status ?? 500);\r\n }\r\n throw new APIError(\r\n ['Ocurrió un error inesperado'],\r\n error.response?.status ?? 500,\r\n );\r\n }\r\n throw new Error(error as string);\r\n }\r\n }\r\n\r\n async get(config: ClientConfig): Promise<any> {\r\n const isPaginated = config.params && 'page' in config.params;\r\n\r\n if (isPaginated) {\r\n const response = (await this.call(\r\n 'get',\r\n config,\r\n )) as unknown as Pagination<any>;\r\n\r\n const baseURL = this.client.defaults.baseURL || '';\r\n\r\n if (response.next) {\r\n response.next = `${baseURL}${response.next}`;\r\n }\r\n if (response.previous) {\r\n response.previous = `${baseURL}${response.previous}`;\r\n }\r\n\r\n return response;\r\n } else {\r\n const data = await this.call('get', config);\r\n return data;\r\n }\r\n }\r\n\r\n async post(config: ClientConfig) {\r\n const data = await this.call('post', config);\r\n return data;\r\n }\r\n\r\n async put(config: ClientConfig) {\r\n const data = await this.call('put', config);\r\n return data;\r\n }\r\n\r\n async patch(config: ClientConfig) {\r\n const data = await this.call('patch', config);\r\n return data;\r\n }\r\n\r\n async delete(config: ClientConfig) {\r\n const data = await this.call('delete', config);\r\n return data;\r\n }\r\n\r\n setJWT(jwt: string) {\r\n this.jwt = jwt;\r\n }\r\n\r\n removeJWT() {\r\n this.jwt = undefined;\r\n }\r\n}\r\n","export const BASE_URL = 'https://api-rm8x.onrender.com/v1';\r\nexport const DEV_URL = 'https://api-rm8x.onrender.com/v1';\r\n","export class APIError extends Error {\r\n status: number;\r\n messages: string[];\r\n constructor(messages: string[], status: number) {\r\n super(messages.join(', '));\r\n this.status = status;\r\n this.messages = messages;\r\n }\r\n}\r\n\r\nexport const isAPIError = (error: unknown): error is APIError => {\r\n return error instanceof APIError;\r\n};\r\n","import { Client } from '../client';\r\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\r\n\r\nexport class AuthService {\r\n private client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.login = this.login.bind(this);\r\n this.signUp = this.signUp.bind(this);\r\n this.signUpStaff = this.signUpStaff.bind(this);\r\n this.forgotPassword = this.forgotPassword.bind(this);\r\n this.resetPassword = this.resetPassword.bind(this);\r\n this.verifyEmail = this.verifyEmail.bind(this);\r\n this.verifyStaff = this.verifyStaff.bind(this);\r\n\r\n this.logout = this.logout.bind(this);\r\n this.saveJWT = this.saveJWT.bind(this);\r\n }\r\n\r\n async login({\r\n email,\r\n password,\r\n context,\r\n }: LoginRequest): Promise<LoginResponse> {\r\n const response = await this.client.post({\r\n url: '/auth/login',\r\n data: {\r\n email,\r\n password,\r\n context,\r\n },\r\n });\r\n return response as unknown as LoginResponse;\r\n }\r\n\r\n logout(): void {\r\n this.client.removeJWT();\r\n }\r\n\r\n saveJWT(jwt: string): void {\r\n this.client.setJWT(jwt);\r\n }\r\n\r\n async signUp(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (signUpData.role_name != 'client') {\r\n throw new Error('Only clients can sign up using this method');\r\n }\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register',\r\n data: signUpData,\r\n });\r\n }\r\n\r\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register-staff',\r\n data: signUpData,\r\n });\r\n }\r\n async forgotPassword(email: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/forgot',\r\n data: {\r\n email,\r\n },\r\n });\r\n }\r\n\r\n async resetPassword(\r\n otp: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/reset',\r\n data: {\r\n otp,\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n\r\n async verifyEmail(otp: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/activate',\r\n data: {\r\n otp,\r\n },\r\n });\r\n }\r\n\r\n async verifyStaff(\r\n token: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/auth/activate/${token}`,\r\n data: {\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n}\r\n","import { Client } from '@/client';\r\nimport type {\r\n UserApiResponse,\r\n DataResponse,\r\n User,\r\n UserPaginationOptions,\r\n} from '@/types';\r\n\r\nexport class UserService {\r\n client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.WhoAmI = this.WhoAmI.bind(this);\r\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\r\n this.getClientUsers = this.getClientUsers.bind(this);\r\n this.getStaffUsers = this.getStaffUsers.bind(this);\r\n }\r\n\r\n async getStaffUsers(\r\n { search, role }: UserPaginationOptions,\r\n jwt: string,\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/users',\r\n jwt,\r\n params: {\r\n search,\r\n role,\r\n },\r\n });\r\n\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\r\n const response = await this.client.get({\r\n url: '/user/whoami',\r\n jwt,\r\n });\r\n return response as unknown as UserApiResponse;\r\n }\r\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/branch-admins',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async getClientUsers(\r\n jwt: string,\r\n options: UserPaginationOptions = {},\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/clients',\r\n jwt,\r\n params: options,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n}\r\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\r\nimport type {\r\n PaginatedBranch,\r\n PaginationBranchRequest,\r\n BranchStatusCount,\r\n BranchDetails,\r\n UpdateBranchRequest,\r\n} from '../types/branch';\r\n\r\nexport class BranchService {\r\n private client: any;\r\n\r\n constructor(client: any) {\r\n this.client = client;\r\n this.getBranches = this.getBranches.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\r\n this.createBranch = this.createBranch.bind(this);\r\n this.getBranchById = this.getBranchById.bind(this);\r\n this.updateBranch = this.updateBranch.bind(this);\r\n }\r\n\r\n async updateBranch(\r\n branchId: string,\r\n branchData: UpdateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n\r\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n return response as unknown as BranchDetails;\r\n }\r\n\r\n async getBranches(\r\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\r\n jwt: string,\r\n ): Promise<Pagination<PaginatedBranch[]>> {\r\n const response = await this.client.get({\r\n url: '/branches',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n search,\r\n status,\r\n location,\r\n },\r\n });\r\n return response as unknown as Pagination<PaginatedBranch[]>;\r\n }\r\n\r\n async delete(branchId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchStatusCount(\r\n jwt: string,\r\n ): Promise<DataResponse<BranchStatusCount>> {\r\n const response = await this.client.get({\r\n url: '/branches/status',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchStatusCount>;\r\n }\r\n\r\n async createBranch(\r\n branchData: CreateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/branches',\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n BranchPaymentMethod,\r\n BranchPaymentMethodInfo,\r\n CreateBranchPaymentMethod,\r\n CreatePaymentMethod,\r\n DataResponse,\r\n PaymentMethod,\r\n UpdateBranchPaymentMethod,\r\n} from '@/types';\r\n\r\nexport class PaymentMethodService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\r\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\r\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\r\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\r\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\r\n\r\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\r\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\r\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\r\n this.getBranchPaymentMethodByID =\r\n this.getBranchPaymentMethodByID.bind(this);\r\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\r\n }\r\n\r\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod[]>;\r\n }\r\n async createPaymentMethod(\r\n paymentMethodData: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getPaymentMethodByID(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<PaymentMethod>> {\r\n const response = await this.client.get({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod>;\r\n }\r\n\r\n async updatePaymentMethod(\r\n paymentMethodId: string,\r\n data: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deletePaymentMethod(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async addBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodData: CreateBranchPaymentMethod[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getBranchPaymentMethods(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\r\n }\r\n\r\n async getBranchPaymentMethodByID(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\r\n }\r\n\r\n async removeBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n data: UpdateBranchPaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<InstructorDataList[]>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructors: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\r\nimport type {\r\n CreateRole,\r\n DataResponse,\r\n PaymentMethod,\r\n Permission,\r\n RoleResponse,\r\n} from '@/types';\r\n\r\nexport class RBACService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPermissions = this.getPermissions.bind(this);\r\n this.getRoles = this.getRoles.bind(this);\r\n this.createRole = this.createRole.bind(this);\r\n this.updateRole = this.updateRole.bind(this);\r\n this.getRoleByID = this.getRoleByID.bind(this);\r\n this.deleteRole = this.deleteRole.bind(this);\r\n this.addPermission = this.addPermission.bind(this);\r\n this.removePermission = this.removePermission.bind(this);\r\n }\r\n\r\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/permissions',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Permission[]>;\r\n }\r\n\r\n async getRoles(jwt: string): Promise<DataResponse<RoleResponse[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/roles',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse[]>;\r\n }\r\n\r\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/admin/roles',\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async updateRole(\r\n roleId: string,\r\n roleData: CreateRole,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async getRoleByID(\r\n roleId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<RoleResponse>> {\r\n const response = await this.client.get({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse>;\r\n }\r\n\r\n async deleteRole(roleId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n }\r\n async addPermission(\r\n roleId: string,\r\n permissionData: string[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: {\r\n permissions: permissionData,\r\n },\r\n });\r\n }\r\n async removePermission(\r\n roleId: string,\r\n permissionData: Permission[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: permissionData,\r\n });\r\n }\r\n}\r\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\r\nimport { Client } from '../client';\r\nimport type { DataResponse } from '../types';\r\n\r\nexport class MarketingService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createBanners = this.createBanners.bind(this);\r\n this.getBanner = this.getBanner.bind(this);\r\n this.getBannerByID = this.getBannerByID.bind(this);\r\n this.updateBanner = this.updateBanner.bind(this);\r\n this.deleteBanner = this.deleteBanner.bind(this);\r\n }\r\n\r\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/marketing/banners',\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\r\n const response = await this.client.get({\r\n url: '/marketing/banners',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner[]>;\r\n }\r\n\r\n async getBannerByID(\r\n BannerId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Banner>> {\r\n const response = await this.client.get({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner>;\r\n }\r\n\r\n async updateBanner(\r\n BannerId: string,\r\n BannerData: UpdateBanner,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n DataResponse,\r\n MembershipType,\r\n UpdateMembershipType,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class MembershipService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createMembershipType = this.createMembershipType.bind(this);\r\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\r\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\r\n this.updateMembershipType = this.updateMembershipType.bind(this);\r\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\r\n }\r\n\r\n async createMembershipType(data: any, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/membership/types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getMembershipTypes(\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType[]>> {\r\n const response = await this.client.get({\r\n url: '/membership/types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType[]>;\r\n }\r\n\r\n async getMembershipTypeByID(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType>> {\r\n const response = await this.client.get({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType>;\r\n }\r\n\r\n async updateMembershipType(\r\n membershipTypeId: string,\r\n data: UpdateMembershipType,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteMembershipType(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type { DataResponse, BranchInfo } from '@/types';\r\n\r\nexport class PublicService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getBranchMap = this.getBranchMap.bind(this);\r\n }\r\n\r\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\r\n const response = await this.client.get({\r\n url: '/public/branch-map',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchInfo>;\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n CreateService,\r\n DataResponse,\r\n ServiceCategoryInfo,\r\n ServiceFullDetail,\r\n UpdateServiceManual,\r\n CreateBranchServicePriceItem,\r\n BranchServicePrice,\r\n UpdateBranchServicePrice,\r\n} from '@/types';\r\n\r\nexport class ProductsService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createService = this.createService.bind(this);\r\n this.getServices = this.getServices.bind(this);\r\n this.getServiceByID = this.getServiceByID.bind(this);\r\n this.updateService = this.updateService.bind(this);\r\n this.deleteService = this.deleteService.bind(this);\r\n this.getCategories = this.getCategories.bind(this);\r\n\r\n this.addBranchService = this.addBranchService.bind(this);\r\n this.removeBranchService = this.removeBranchService.bind(this);\r\n this.getBranchServices = this.getBranchServices.bind(this);\r\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\r\n this.updateBranchService = this.updateBranchService.bind(this);\r\n }\r\n async createService(data: CreateService, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/services',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getServices(jwt: string): Promise<DataResponse<ServiceFullDetail[]>> {\r\n const response = await this.client.get({\r\n url: '/services/all',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail[]>;\r\n }\r\n async getServiceByID(\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceFullDetail>> {\r\n const response = await this.client.get({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail>;\r\n }\r\n\r\n async updateService(\r\n serviceId: string,\r\n data: UpdateServiceManual,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n async deleteService(serviceId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n async getCategories(\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\r\n const response = await this.client.get({\r\n url: '/services/categories',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\r\n }\r\n\r\n async addBranchService(\r\n BranchServiceData: CreateBranchServicePriceItem[],\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n data: {\r\n services: BranchServiceData,\r\n },\r\n });\r\n }\r\n\r\n async getBranchServices(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchServicePrice[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice[]>;\r\n }\r\n\r\n async getBranchServiceByID(\r\n branchId: string,\r\n jwt: string,\r\n serviceId: string,\r\n ): Promise<DataResponse<BranchServicePrice>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice>;\r\n }\r\n\r\n async updateBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n BranchServiceData: UpdateBranchServicePrice,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n data: BranchServiceData,\r\n });\r\n }\r\n\r\n async removeBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n BranchEquipmentInventory,\r\n CreateBranchEquipment,\r\n CreateEquipment,\r\n DataResponse,\r\n Equipment,\r\n EquipmentInfo,\r\n UpdateBranchEquipmentDetails,\r\n UpdateEquipment,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class EquipmentService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getEquipment = this.getEquipment.bind(this);\r\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\r\n this.createEquipment = this.createEquipment.bind(this);\r\n this.updateEquipment = this.updateEquipment.bind(this);\r\n this.deleteEquipment = this.deleteEquipment.bind(this);\r\n\r\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\r\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\r\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\r\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\r\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\r\n }\r\n\r\n async getEquipment(jwt: string): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: '/equipment-types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async getEquipmentByID(\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<EquipmentInfo>> {\r\n const response = await this.client.get({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<EquipmentInfo>;\r\n }\r\n async getBranchEquipmentByID(\r\n branchId: string,\r\n equipmentID: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchEquipmentInventory>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment/${equipmentID}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchEquipmentInventory>;\r\n }\r\n\r\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/equipment-types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async updateEquipment(\r\n equipmentId: string,\r\n data: UpdateEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchEquipment(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async addBranchEquipment(\r\n branchId: string,\r\n equipmentData: CreateBranchEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n data: {\r\n equipment: equipmentData,\r\n },\r\n });\r\n }\r\n\r\n async removeBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n data: UpdateBranchEquipmentDetails,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.patch({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\n","export enum UserGender {\r\n male = 'male',\r\n female = 'female',\r\n preferNotToSay = 'prefer-not-to-say',\r\n}\r\n\r\nexport type LoginRequest = {\r\n email: string;\r\n password: string;\r\n context?: string;\r\n};\r\n\r\nexport type LoginResponse = {\r\n token: string;\r\n};\r\n\r\nexport type SignUpRequest = {\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n password: string;\r\n identity_document: string;\r\n phone?: string | null;\r\n birth_date: string;\r\n gender?: UserGender | null;\r\n profile_picture_url?: string | null;\r\n role_name?: string | null;\r\n};\r\n"],"mappings":"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","names":["axios","UserGender"]}
|
package/dist/index.js
CHANGED
|
@@ -471,7 +471,7 @@ var InstructorService = class {
|
|
|
471
471
|
}
|
|
472
472
|
async addBranchInstructor(branchId, instructorIDs, jwt) {
|
|
473
473
|
await this.client.post({
|
|
474
|
-
url: `/branches/${branchId}/
|
|
474
|
+
url: `/branches/${branchId}/instructor`,
|
|
475
475
|
jwt,
|
|
476
476
|
data: {
|
|
477
477
|
instructors: instructorIDs
|
|
@@ -480,7 +480,7 @@ var InstructorService = class {
|
|
|
480
480
|
}
|
|
481
481
|
async removeBranchInstructor(branchId, instructorId, jwt) {
|
|
482
482
|
await this.client.delete({
|
|
483
|
-
url: `/branches/${branchId}/
|
|
483
|
+
url: `/branches/${branchId}/instructor/${instructorId}`,
|
|
484
484
|
jwt
|
|
485
485
|
});
|
|
486
486
|
}
|
|
@@ -908,7 +908,7 @@ var VitalFit = class _VitalFit {
|
|
|
908
908
|
return _VitalFit.instance;
|
|
909
909
|
}
|
|
910
910
|
version() {
|
|
911
|
-
return "0.0.
|
|
911
|
+
return "0.0.41";
|
|
912
912
|
}
|
|
913
913
|
};
|
|
914
914
|
export {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/types/auth.ts","../src/index.ts"],"sourcesContent":["import axios, { type AxiosInstance } from 'axios';\r\nimport { BASE_URL, DEV_URL } from './settings';\r\nimport { APIError } from './errors';\r\nimport type { Pagination } from './types';\r\n\r\nexport type ClientConfig = {\r\n url: string;\r\n jwt?: string;\r\n data?: object;\r\n params?: object;\r\n};\r\n\r\nexport class Client {\r\n private client: AxiosInstance;\r\n jwt?: string;\r\n\r\n constructor(isDevMode: boolean, origin?: string) {\r\n let headers: Record<string, string> = {\r\n 'Content-Type': 'application/json',\r\n };\r\n if (origin) {\r\n headers['Origin'] = origin;\r\n }\r\n this.client = axios.create({\r\n baseURL: isDevMode ? DEV_URL : BASE_URL,\r\n headers,\r\n });\r\n }\r\n\r\n async call(method: string, config: ClientConfig): Promise<Response> {\r\n if (config.jwt) {\r\n this.client.interceptors.request.use((axiosConfig) => {\r\n if (axiosConfig.headers) {\r\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\r\n }\r\n return axiosConfig;\r\n });\r\n }\r\n try {\r\n const response = await this.client.request({\r\n method: method,\r\n url: config.url,\r\n data: config.data,\r\n params: config.params,\r\n });\r\n this.client.interceptors.request.clear();\r\n return response.data;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (error: unknown) {\r\n if (axios.isAxiosError(error)) {\r\n const errorMessage = error.response?.data?.error;\r\n if (typeof errorMessage === 'string') {\r\n throw new APIError([errorMessage], error.response?.status ?? 500);\r\n }\r\n throw new APIError(\r\n ['Ocurrió un error inesperado'],\r\n error.response?.status ?? 500,\r\n );\r\n }\r\n throw new Error(error as string);\r\n }\r\n }\r\n\r\n async get(config: ClientConfig): Promise<any> {\r\n const isPaginated = config.params && 'page' in config.params;\r\n\r\n if (isPaginated) {\r\n const response = (await this.call(\r\n 'get',\r\n config,\r\n )) as unknown as Pagination<any>;\r\n\r\n const baseURL = this.client.defaults.baseURL || '';\r\n\r\n if (response.next) {\r\n response.next = `${baseURL}${response.next}`;\r\n }\r\n if (response.previous) {\r\n response.previous = `${baseURL}${response.previous}`;\r\n }\r\n\r\n return response;\r\n } else {\r\n const data = await this.call('get', config);\r\n return data;\r\n }\r\n }\r\n\r\n async post(config: ClientConfig) {\r\n const data = await this.call('post', config);\r\n return data;\r\n }\r\n\r\n async put(config: ClientConfig) {\r\n const data = await this.call('put', config);\r\n return data;\r\n }\r\n\r\n async patch(config: ClientConfig) {\r\n const data = await this.call('patch', config);\r\n return data;\r\n }\r\n\r\n async delete(config: ClientConfig) {\r\n const data = await this.call('delete', config);\r\n return data;\r\n }\r\n\r\n setJWT(jwt: string) {\r\n this.jwt = jwt;\r\n }\r\n\r\n removeJWT() {\r\n this.jwt = undefined;\r\n }\r\n}\r\n","export const BASE_URL = 'https://api-rm8x.onrender.com/v1';\r\nexport const DEV_URL = 'https://api-rm8x.onrender.com/v1';\r\n","export class APIError extends Error {\r\n status: number;\r\n messages: string[];\r\n constructor(messages: string[], status: number) {\r\n super(messages.join(', '));\r\n this.status = status;\r\n this.messages = messages;\r\n }\r\n}\r\n\r\nexport const isAPIError = (error: unknown): error is APIError => {\r\n return error instanceof APIError;\r\n};\r\n","import { Client } from '../client';\r\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\r\n\r\nexport class AuthService {\r\n private client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.login = this.login.bind(this);\r\n this.signUp = this.signUp.bind(this);\r\n this.signUpStaff = this.signUpStaff.bind(this);\r\n this.forgotPassword = this.forgotPassword.bind(this);\r\n this.resetPassword = this.resetPassword.bind(this);\r\n this.verifyEmail = this.verifyEmail.bind(this);\r\n this.verifyStaff = this.verifyStaff.bind(this);\r\n\r\n this.logout = this.logout.bind(this);\r\n this.saveJWT = this.saveJWT.bind(this);\r\n }\r\n\r\n async login({\r\n email,\r\n password,\r\n context,\r\n }: LoginRequest): Promise<LoginResponse> {\r\n const response = await this.client.post({\r\n url: '/auth/login',\r\n data: {\r\n email,\r\n password,\r\n context,\r\n },\r\n });\r\n return response as unknown as LoginResponse;\r\n }\r\n\r\n logout(): void {\r\n this.client.removeJWT();\r\n }\r\n\r\n saveJWT(jwt: string): void {\r\n this.client.setJWT(jwt);\r\n }\r\n\r\n async signUp(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (signUpData.role_name != 'client') {\r\n throw new Error('Only clients can sign up using this method');\r\n }\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register',\r\n data: signUpData,\r\n });\r\n }\r\n\r\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register-staff',\r\n data: signUpData,\r\n });\r\n }\r\n async forgotPassword(email: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/forgot',\r\n data: {\r\n email,\r\n },\r\n });\r\n }\r\n\r\n async resetPassword(\r\n otp: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/reset',\r\n data: {\r\n otp,\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n\r\n async verifyEmail(otp: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/activate',\r\n data: {\r\n otp,\r\n },\r\n });\r\n }\r\n\r\n async verifyStaff(\r\n token: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/auth/activate/${token}`,\r\n data: {\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n}\r\n","import { Client } from '@/client';\r\nimport type {\r\n UserApiResponse,\r\n DataResponse,\r\n User,\r\n UserPaginationOptions,\r\n} from '@/types';\r\n\r\nexport class UserService {\r\n client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.WhoAmI = this.WhoAmI.bind(this);\r\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\r\n this.getClientUsers = this.getClientUsers.bind(this);\r\n this.getStaffUsers = this.getStaffUsers.bind(this);\r\n }\r\n\r\n async getStaffUsers(\r\n { search, role }: UserPaginationOptions,\r\n jwt: string,\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/users',\r\n jwt,\r\n params: {\r\n search,\r\n role,\r\n },\r\n });\r\n\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\r\n const response = await this.client.get({\r\n url: '/user/whoami',\r\n jwt,\r\n });\r\n return response as unknown as UserApiResponse;\r\n }\r\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/branch-admins',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async getClientUsers(\r\n jwt: string,\r\n options: UserPaginationOptions = {},\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/clients',\r\n jwt,\r\n params: options,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n}\r\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\r\nimport type {\r\n PaginatedBranch,\r\n PaginationBranchRequest,\r\n BranchStatusCount,\r\n BranchDetails,\r\n UpdateBranchRequest,\r\n} from '../types/branch';\r\n\r\nexport class BranchService {\r\n private client: any;\r\n\r\n constructor(client: any) {\r\n this.client = client;\r\n this.getBranches = this.getBranches.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\r\n this.createBranch = this.createBranch.bind(this);\r\n this.getBranchById = this.getBranchById.bind(this);\r\n this.updateBranch = this.updateBranch.bind(this);\r\n }\r\n\r\n async updateBranch(\r\n branchId: string,\r\n branchData: UpdateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n\r\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n return response as unknown as BranchDetails;\r\n }\r\n\r\n async getBranches(\r\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\r\n jwt: string,\r\n ): Promise<Pagination<PaginatedBranch[]>> {\r\n const response = await this.client.get({\r\n url: '/branches',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n search,\r\n status,\r\n location,\r\n },\r\n });\r\n return response as unknown as Pagination<PaginatedBranch[]>;\r\n }\r\n\r\n async delete(branchId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchStatusCount(\r\n jwt: string,\r\n ): Promise<DataResponse<BranchStatusCount>> {\r\n const response = await this.client.get({\r\n url: '/branches/status',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchStatusCount>;\r\n }\r\n\r\n async createBranch(\r\n branchData: CreateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/branches',\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n BranchPaymentMethod,\r\n BranchPaymentMethodInfo,\r\n CreateBranchPaymentMethod,\r\n CreatePaymentMethod,\r\n DataResponse,\r\n PaymentMethod,\r\n UpdateBranchPaymentMethod,\r\n} from '@/types';\r\n\r\nexport class PaymentMethodService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\r\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\r\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\r\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\r\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\r\n\r\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\r\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\r\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\r\n this.getBranchPaymentMethodByID =\r\n this.getBranchPaymentMethodByID.bind(this);\r\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\r\n }\r\n\r\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod[]>;\r\n }\r\n async createPaymentMethod(\r\n paymentMethodData: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getPaymentMethodByID(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<PaymentMethod>> {\r\n const response = await this.client.get({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod>;\r\n }\r\n\r\n async updatePaymentMethod(\r\n paymentMethodId: string,\r\n data: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deletePaymentMethod(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async addBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodData: CreateBranchPaymentMethod[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getBranchPaymentMethods(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\r\n }\r\n\r\n async getBranchPaymentMethodByID(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\r\n }\r\n\r\n async removeBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n data: UpdateBranchPaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\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 { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\r\nimport type {\r\n CreateRole,\r\n DataResponse,\r\n PaymentMethod,\r\n Permission,\r\n RoleResponse,\r\n} from '@/types';\r\n\r\nexport class RBACService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPermissions = this.getPermissions.bind(this);\r\n this.getRoles = this.getRoles.bind(this);\r\n this.createRole = this.createRole.bind(this);\r\n this.updateRole = this.updateRole.bind(this);\r\n this.getRoleByID = this.getRoleByID.bind(this);\r\n this.deleteRole = this.deleteRole.bind(this);\r\n this.addPermission = this.addPermission.bind(this);\r\n this.removePermission = this.removePermission.bind(this);\r\n }\r\n\r\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/permissions',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Permission[]>;\r\n }\r\n\r\n async getRoles(jwt: string): Promise<DataResponse<RoleResponse[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/roles',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse[]>;\r\n }\r\n\r\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/admin/roles',\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async updateRole(\r\n roleId: string,\r\n roleData: CreateRole,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async getRoleByID(\r\n roleId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<RoleResponse>> {\r\n const response = await this.client.get({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse>;\r\n }\r\n\r\n async deleteRole(roleId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n }\r\n async addPermission(\r\n roleId: string,\r\n permissionData: string[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: {\r\n permissions: permissionData,\r\n },\r\n });\r\n }\r\n async removePermission(\r\n roleId: string,\r\n permissionData: Permission[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: permissionData,\r\n });\r\n }\r\n}\r\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\r\nimport { Client } from '../client';\r\nimport type { DataResponse } from '../types';\r\n\r\nexport class MarketingService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createBanners = this.createBanners.bind(this);\r\n this.getBanner = this.getBanner.bind(this);\r\n this.getBannerByID = this.getBannerByID.bind(this);\r\n this.updateBanner = this.updateBanner.bind(this);\r\n this.deleteBanner = this.deleteBanner.bind(this);\r\n }\r\n\r\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/marketing/banners',\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\r\n const response = await this.client.get({\r\n url: '/marketing/banners',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner[]>;\r\n }\r\n\r\n async getBannerByID(\r\n BannerId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Banner>> {\r\n const response = await this.client.get({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner>;\r\n }\r\n\r\n async updateBanner(\r\n BannerId: string,\r\n BannerData: UpdateBanner,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n DataResponse,\r\n MembershipType,\r\n UpdateMembershipType,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class MembershipService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createMembershipType = this.createMembershipType.bind(this);\r\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\r\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\r\n this.updateMembershipType = this.updateMembershipType.bind(this);\r\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\r\n }\r\n\r\n async createMembershipType(data: any, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/membership/types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getMembershipTypes(\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType[]>> {\r\n const response = await this.client.get({\r\n url: '/membership/types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType[]>;\r\n }\r\n\r\n async getMembershipTypeByID(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType>> {\r\n const response = await this.client.get({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType>;\r\n }\r\n\r\n async updateMembershipType(\r\n membershipTypeId: string,\r\n data: UpdateMembershipType,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteMembershipType(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type { DataResponse, BranchInfo } from '@/types';\r\n\r\nexport class PublicService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getBranchMap = this.getBranchMap.bind(this);\r\n }\r\n\r\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\r\n const response = await this.client.get({\r\n url: '/public/branch-map',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchInfo>;\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n CreateService,\r\n DataResponse,\r\n ServiceCategoryInfo,\r\n ServiceFullDetail,\r\n UpdateServiceManual,\r\n CreateBranchServicePriceItem,\r\n BranchServicePrice,\r\n UpdateBranchServicePrice,\r\n} from '@/types';\r\n\r\nexport class ProductsService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createService = this.createService.bind(this);\r\n this.getServices = this.getServices.bind(this);\r\n this.getServiceByID = this.getServiceByID.bind(this);\r\n this.updateService = this.updateService.bind(this);\r\n this.deleteService = this.deleteService.bind(this);\r\n this.getCategories = this.getCategories.bind(this);\r\n\r\n this.addBranchService = this.addBranchService.bind(this);\r\n this.removeBranchService = this.removeBranchService.bind(this);\r\n this.getBranchServices = this.getBranchServices.bind(this);\r\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\r\n this.updateBranchService = this.updateBranchService.bind(this);\r\n }\r\n async createService(data: CreateService, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/services',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getServices(jwt: string): Promise<DataResponse<ServiceFullDetail[]>> {\r\n const response = await this.client.get({\r\n url: '/services/all',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail[]>;\r\n }\r\n async getServiceByID(\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceFullDetail>> {\r\n const response = await this.client.get({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail>;\r\n }\r\n\r\n async updateService(\r\n serviceId: string,\r\n data: UpdateServiceManual,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n async deleteService(serviceId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n async getCategories(\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\r\n const response = await this.client.get({\r\n url: '/services/categories',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\r\n }\r\n\r\n async addBranchService(\r\n BranchServiceData: CreateBranchServicePriceItem[],\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n data: {\r\n services: BranchServiceData,\r\n },\r\n });\r\n }\r\n\r\n async getBranchServices(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchServicePrice[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice[]>;\r\n }\r\n\r\n async getBranchServiceByID(\r\n branchId: string,\r\n jwt: string,\r\n serviceId: string,\r\n ): Promise<DataResponse<BranchServicePrice>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice>;\r\n }\r\n\r\n async updateBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n BranchServiceData: UpdateBranchServicePrice,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n data: BranchServiceData,\r\n });\r\n }\r\n\r\n async removeBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n BranchEquipmentInventory,\r\n CreateBranchEquipment,\r\n CreateEquipment,\r\n DataResponse,\r\n Equipment,\r\n EquipmentInfo,\r\n UpdateBranchEquipmentDetails,\r\n UpdateEquipment,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class EquipmentService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getEquipment = this.getEquipment.bind(this);\r\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\r\n this.createEquipment = this.createEquipment.bind(this);\r\n this.updateEquipment = this.updateEquipment.bind(this);\r\n this.deleteEquipment = this.deleteEquipment.bind(this);\r\n\r\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\r\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\r\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\r\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\r\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\r\n }\r\n\r\n async getEquipment(jwt: string): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: '/equipment-types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async getEquipmentByID(\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<EquipmentInfo>> {\r\n const response = await this.client.get({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<EquipmentInfo>;\r\n }\r\n async getBranchEquipmentByID(\r\n branchId: string,\r\n equipmentID: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchEquipmentInventory>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment/${equipmentID}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchEquipmentInventory>;\r\n }\r\n\r\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/equipment-types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async updateEquipment(\r\n equipmentId: string,\r\n data: UpdateEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchEquipment(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async addBranchEquipment(\r\n branchId: string,\r\n equipmentData: CreateBranchEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n data: {\r\n equipment: equipmentData,\r\n },\r\n });\r\n }\r\n\r\n async removeBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n data: UpdateBranchEquipmentDetails,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.patch({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\n","export enum UserGender {\r\n male = 'male',\r\n female = 'female',\r\n preferNotToSay = 'prefer-not-to-say',\r\n}\r\n\r\nexport type LoginRequest = {\r\n email: string;\r\n password: string;\r\n context?: string;\r\n};\r\n\r\nexport type LoginResponse = {\r\n token: string;\r\n};\r\n\r\nexport type SignUpRequest = {\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n password: string;\r\n identity_document: string;\r\n phone?: string | null;\r\n birth_date: string;\r\n gender?: UserGender | null;\r\n profile_picture_url?: string | null;\r\n role_name?: string | null;\r\n};\r\n","import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.40';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n"],"mappings":"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","names":["UserGender"]}
|
|
1
|
+
{"version":3,"sources":["../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/types/auth.ts","../src/index.ts"],"sourcesContent":["import axios, { type AxiosInstance } from 'axios';\r\nimport { BASE_URL, DEV_URL } from './settings';\r\nimport { APIError } from './errors';\r\nimport type { Pagination } from './types';\r\n\r\nexport type ClientConfig = {\r\n url: string;\r\n jwt?: string;\r\n data?: object;\r\n params?: object;\r\n};\r\n\r\nexport class Client {\r\n private client: AxiosInstance;\r\n jwt?: string;\r\n\r\n constructor(isDevMode: boolean, origin?: string) {\r\n let headers: Record<string, string> = {\r\n 'Content-Type': 'application/json',\r\n };\r\n if (origin) {\r\n headers['Origin'] = origin;\r\n }\r\n this.client = axios.create({\r\n baseURL: isDevMode ? DEV_URL : BASE_URL,\r\n headers,\r\n });\r\n }\r\n\r\n async call(method: string, config: ClientConfig): Promise<Response> {\r\n if (config.jwt) {\r\n this.client.interceptors.request.use((axiosConfig) => {\r\n if (axiosConfig.headers) {\r\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\r\n }\r\n return axiosConfig;\r\n });\r\n }\r\n try {\r\n const response = await this.client.request({\r\n method: method,\r\n url: config.url,\r\n data: config.data,\r\n params: config.params,\r\n });\r\n this.client.interceptors.request.clear();\r\n return response.data;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (error: unknown) {\r\n if (axios.isAxiosError(error)) {\r\n const errorMessage = error.response?.data?.error;\r\n if (typeof errorMessage === 'string') {\r\n throw new APIError([errorMessage], error.response?.status ?? 500);\r\n }\r\n throw new APIError(\r\n ['Ocurrió un error inesperado'],\r\n error.response?.status ?? 500,\r\n );\r\n }\r\n throw new Error(error as string);\r\n }\r\n }\r\n\r\n async get(config: ClientConfig): Promise<any> {\r\n const isPaginated = config.params && 'page' in config.params;\r\n\r\n if (isPaginated) {\r\n const response = (await this.call(\r\n 'get',\r\n config,\r\n )) as unknown as Pagination<any>;\r\n\r\n const baseURL = this.client.defaults.baseURL || '';\r\n\r\n if (response.next) {\r\n response.next = `${baseURL}${response.next}`;\r\n }\r\n if (response.previous) {\r\n response.previous = `${baseURL}${response.previous}`;\r\n }\r\n\r\n return response;\r\n } else {\r\n const data = await this.call('get', config);\r\n return data;\r\n }\r\n }\r\n\r\n async post(config: ClientConfig) {\r\n const data = await this.call('post', config);\r\n return data;\r\n }\r\n\r\n async put(config: ClientConfig) {\r\n const data = await this.call('put', config);\r\n return data;\r\n }\r\n\r\n async patch(config: ClientConfig) {\r\n const data = await this.call('patch', config);\r\n return data;\r\n }\r\n\r\n async delete(config: ClientConfig) {\r\n const data = await this.call('delete', config);\r\n return data;\r\n }\r\n\r\n setJWT(jwt: string) {\r\n this.jwt = jwt;\r\n }\r\n\r\n removeJWT() {\r\n this.jwt = undefined;\r\n }\r\n}\r\n","export const BASE_URL = 'https://api-rm8x.onrender.com/v1';\r\nexport const DEV_URL = 'https://api-rm8x.onrender.com/v1';\r\n","export class APIError extends Error {\r\n status: number;\r\n messages: string[];\r\n constructor(messages: string[], status: number) {\r\n super(messages.join(', '));\r\n this.status = status;\r\n this.messages = messages;\r\n }\r\n}\r\n\r\nexport const isAPIError = (error: unknown): error is APIError => {\r\n return error instanceof APIError;\r\n};\r\n","import { Client } from '../client';\r\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\r\n\r\nexport class AuthService {\r\n private client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.login = this.login.bind(this);\r\n this.signUp = this.signUp.bind(this);\r\n this.signUpStaff = this.signUpStaff.bind(this);\r\n this.forgotPassword = this.forgotPassword.bind(this);\r\n this.resetPassword = this.resetPassword.bind(this);\r\n this.verifyEmail = this.verifyEmail.bind(this);\r\n this.verifyStaff = this.verifyStaff.bind(this);\r\n\r\n this.logout = this.logout.bind(this);\r\n this.saveJWT = this.saveJWT.bind(this);\r\n }\r\n\r\n async login({\r\n email,\r\n password,\r\n context,\r\n }: LoginRequest): Promise<LoginResponse> {\r\n const response = await this.client.post({\r\n url: '/auth/login',\r\n data: {\r\n email,\r\n password,\r\n context,\r\n },\r\n });\r\n return response as unknown as LoginResponse;\r\n }\r\n\r\n logout(): void {\r\n this.client.removeJWT();\r\n }\r\n\r\n saveJWT(jwt: string): void {\r\n this.client.setJWT(jwt);\r\n }\r\n\r\n async signUp(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (signUpData.role_name != 'client') {\r\n throw new Error('Only clients can sign up using this method');\r\n }\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register',\r\n data: signUpData,\r\n });\r\n }\r\n\r\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\r\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\r\n if (!birthDateRegex.test(signUpData.birth_date)) {\r\n throw new Error('Birth date must be in the format YYYY-MM-DD');\r\n }\r\n await this.client.post({\r\n url: '/auth/register-staff',\r\n data: signUpData,\r\n });\r\n }\r\n async forgotPassword(email: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/forgot',\r\n data: {\r\n email,\r\n },\r\n });\r\n }\r\n\r\n async resetPassword(\r\n otp: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/password/reset',\r\n data: {\r\n otp,\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n\r\n async verifyEmail(otp: string): Promise<void> {\r\n await this.client.post({\r\n url: '/auth/activate',\r\n data: {\r\n otp,\r\n },\r\n });\r\n }\r\n\r\n async verifyStaff(\r\n token: string,\r\n password: string,\r\n repeatPassword: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/auth/activate/${token}`,\r\n data: {\r\n password,\r\n repeatPassword,\r\n },\r\n });\r\n }\r\n}\r\n","import { Client } from '@/client';\r\nimport type {\r\n UserApiResponse,\r\n DataResponse,\r\n User,\r\n UserPaginationOptions,\r\n} from '@/types';\r\n\r\nexport class UserService {\r\n client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.WhoAmI = this.WhoAmI.bind(this);\r\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\r\n this.getClientUsers = this.getClientUsers.bind(this);\r\n this.getStaffUsers = this.getStaffUsers.bind(this);\r\n }\r\n\r\n async getStaffUsers(\r\n { search, role }: UserPaginationOptions,\r\n jwt: string,\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/users',\r\n jwt,\r\n params: {\r\n search,\r\n role,\r\n },\r\n });\r\n\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\r\n const response = await this.client.get({\r\n url: '/user/whoami',\r\n jwt,\r\n });\r\n return response as unknown as UserApiResponse;\r\n }\r\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/branch-admins',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n\r\n async getClientUsers(\r\n jwt: string,\r\n options: UserPaginationOptions = {},\r\n ): Promise<DataResponse<User[]>> {\r\n const response = await this.client.get({\r\n url: '/user/clients',\r\n jwt,\r\n params: options,\r\n });\r\n return response as unknown as DataResponse<User[]>;\r\n }\r\n}\r\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\r\nimport type {\r\n PaginatedBranch,\r\n PaginationBranchRequest,\r\n BranchStatusCount,\r\n BranchDetails,\r\n UpdateBranchRequest,\r\n} from '../types/branch';\r\n\r\nexport class BranchService {\r\n private client: any;\r\n\r\n constructor(client: any) {\r\n this.client = client;\r\n this.getBranches = this.getBranches.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\r\n this.createBranch = this.createBranch.bind(this);\r\n this.getBranchById = this.getBranchById.bind(this);\r\n this.updateBranch = this.updateBranch.bind(this);\r\n }\r\n\r\n async updateBranch(\r\n branchId: string,\r\n branchData: UpdateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n\r\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n return response as unknown as BranchDetails;\r\n }\r\n\r\n async getBranches(\r\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\r\n jwt: string,\r\n ): Promise<Pagination<PaginatedBranch[]>> {\r\n const response = await this.client.get({\r\n url: '/branches',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n search,\r\n status,\r\n location,\r\n },\r\n });\r\n return response as unknown as Pagination<PaginatedBranch[]>;\r\n }\r\n\r\n async delete(branchId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchStatusCount(\r\n jwt: string,\r\n ): Promise<DataResponse<BranchStatusCount>> {\r\n const response = await this.client.get({\r\n url: '/branches/status',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchStatusCount>;\r\n }\r\n\r\n async createBranch(\r\n branchData: CreateBranchRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/branches',\r\n jwt,\r\n data: branchData,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n BranchPaymentMethod,\r\n BranchPaymentMethodInfo,\r\n CreateBranchPaymentMethod,\r\n CreatePaymentMethod,\r\n DataResponse,\r\n PaymentMethod,\r\n UpdateBranchPaymentMethod,\r\n} from '@/types';\r\n\r\nexport class PaymentMethodService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\r\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\r\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\r\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\r\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\r\n\r\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\r\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\r\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\r\n this.getBranchPaymentMethodByID =\r\n this.getBranchPaymentMethodByID.bind(this);\r\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\r\n }\r\n\r\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod[]>;\r\n }\r\n async createPaymentMethod(\r\n paymentMethodData: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/billing/payment-methods',\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getPaymentMethodByID(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<PaymentMethod>> {\r\n const response = await this.client.get({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentMethod>;\r\n }\r\n\r\n async updatePaymentMethod(\r\n paymentMethodId: string,\r\n data: CreatePaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deletePaymentMethod(\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/billing/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async addBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodData: CreateBranchPaymentMethod[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n data: paymentMethodData,\r\n });\r\n }\r\n\r\n async getBranchPaymentMethods(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethod[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethod[]>;\r\n }\r\n\r\n async getBranchPaymentMethodByID(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\r\n }\r\n\r\n async removeBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchPaymentMethod(\r\n branchId: string,\r\n paymentMethodId: string,\r\n data: UpdateBranchPaymentMethod,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<InstructorDataList[]>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructors: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\r\nimport type {\r\n CreateRole,\r\n DataResponse,\r\n PaymentMethod,\r\n Permission,\r\n RoleResponse,\r\n} from '@/types';\r\n\r\nexport class RBACService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getPermissions = this.getPermissions.bind(this);\r\n this.getRoles = this.getRoles.bind(this);\r\n this.createRole = this.createRole.bind(this);\r\n this.updateRole = this.updateRole.bind(this);\r\n this.getRoleByID = this.getRoleByID.bind(this);\r\n this.deleteRole = this.deleteRole.bind(this);\r\n this.addPermission = this.addPermission.bind(this);\r\n this.removePermission = this.removePermission.bind(this);\r\n }\r\n\r\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/permissions',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Permission[]>;\r\n }\r\n\r\n async getRoles(jwt: string): Promise<DataResponse<RoleResponse[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/roles',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse[]>;\r\n }\r\n\r\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/admin/roles',\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async updateRole(\r\n roleId: string,\r\n roleData: CreateRole,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n data: roleData,\r\n });\r\n }\r\n\r\n async getRoleByID(\r\n roleId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<RoleResponse>> {\r\n const response = await this.client.get({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<RoleResponse>;\r\n }\r\n\r\n async deleteRole(roleId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}`,\r\n jwt,\r\n });\r\n }\r\n async addPermission(\r\n roleId: string,\r\n permissionData: string[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: {\r\n permissions: permissionData,\r\n },\r\n });\r\n }\r\n async removePermission(\r\n roleId: string,\r\n permissionData: Permission[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/admin/roles/${roleId}/permissions`,\r\n jwt,\r\n data: permissionData,\r\n });\r\n }\r\n}\r\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\r\nimport { Client } from '../client';\r\nimport type { DataResponse } from '../types';\r\n\r\nexport class MarketingService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createBanners = this.createBanners.bind(this);\r\n this.getBanner = this.getBanner.bind(this);\r\n this.getBannerByID = this.getBannerByID.bind(this);\r\n this.updateBanner = this.updateBanner.bind(this);\r\n this.deleteBanner = this.deleteBanner.bind(this);\r\n }\r\n\r\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/marketing/banners',\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\r\n const response = await this.client.get({\r\n url: '/marketing/banners',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner[]>;\r\n }\r\n\r\n async getBannerByID(\r\n BannerId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Banner>> {\r\n const response = await this.client.get({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Banner>;\r\n }\r\n\r\n async updateBanner(\r\n BannerId: string,\r\n BannerData: UpdateBanner,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n data: BannerData,\r\n });\r\n }\r\n\r\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/marketing/banners/${BannerId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n DataResponse,\r\n MembershipType,\r\n UpdateMembershipType,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class MembershipService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createMembershipType = this.createMembershipType.bind(this);\r\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\r\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\r\n this.updateMembershipType = this.updateMembershipType.bind(this);\r\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\r\n }\r\n\r\n async createMembershipType(data: any, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/membership/types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getMembershipTypes(\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType[]>> {\r\n const response = await this.client.get({\r\n url: '/membership/types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType[]>;\r\n }\r\n\r\n async getMembershipTypeByID(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<MembershipType>> {\r\n const response = await this.client.get({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipType>;\r\n }\r\n\r\n async updateMembershipType(\r\n membershipTypeId: string,\r\n data: UpdateMembershipType,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteMembershipType(\r\n membershipTypeId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/membership/types/${membershipTypeId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type { DataResponse, BranchInfo } from '@/types';\r\n\r\nexport class PublicService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getBranchMap = this.getBranchMap.bind(this);\r\n }\r\n\r\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo>> {\r\n const response = await this.client.get({\r\n url: '/public/branch-map',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchInfo>;\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n CreateService,\r\n DataResponse,\r\n ServiceCategoryInfo,\r\n ServiceFullDetail,\r\n UpdateServiceManual,\r\n CreateBranchServicePriceItem,\r\n BranchServicePrice,\r\n UpdateBranchServicePrice,\r\n} from '@/types';\r\n\r\nexport class ProductsService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createService = this.createService.bind(this);\r\n this.getServices = this.getServices.bind(this);\r\n this.getServiceByID = this.getServiceByID.bind(this);\r\n this.updateService = this.updateService.bind(this);\r\n this.deleteService = this.deleteService.bind(this);\r\n this.getCategories = this.getCategories.bind(this);\r\n\r\n this.addBranchService = this.addBranchService.bind(this);\r\n this.removeBranchService = this.removeBranchService.bind(this);\r\n this.getBranchServices = this.getBranchServices.bind(this);\r\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\r\n this.updateBranchService = this.updateBranchService.bind(this);\r\n }\r\n async createService(data: CreateService, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/services',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getServices(jwt: string): Promise<DataResponse<ServiceFullDetail[]>> {\r\n const response = await this.client.get({\r\n url: '/services/all',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail[]>;\r\n }\r\n async getServiceByID(\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceFullDetail>> {\r\n const response = await this.client.get({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceFullDetail>;\r\n }\r\n\r\n async updateService(\r\n serviceId: string,\r\n data: UpdateServiceManual,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n async deleteService(serviceId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n async getCategories(\r\n jwt: string,\r\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\r\n const response = await this.client.get({\r\n url: '/services/categories',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\r\n }\r\n\r\n async addBranchService(\r\n BranchServiceData: CreateBranchServicePriceItem[],\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n data: {\r\n services: BranchServiceData,\r\n },\r\n });\r\n }\r\n\r\n async getBranchServices(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchServicePrice[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice[]>;\r\n }\r\n\r\n async getBranchServiceByID(\r\n branchId: string,\r\n jwt: string,\r\n serviceId: string,\r\n ): Promise<DataResponse<BranchServicePrice>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchServicePrice>;\r\n }\r\n\r\n async updateBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n BranchServiceData: UpdateBranchServicePrice,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n data: BranchServiceData,\r\n });\r\n }\r\n\r\n async removeBranchService(\r\n branchId: string,\r\n serviceId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/services/${serviceId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n BranchEquipmentInventory,\r\n CreateBranchEquipment,\r\n CreateEquipment,\r\n DataResponse,\r\n Equipment,\r\n EquipmentInfo,\r\n UpdateBranchEquipmentDetails,\r\n UpdateEquipment,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class EquipmentService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getEquipment = this.getEquipment.bind(this);\r\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\r\n this.createEquipment = this.createEquipment.bind(this);\r\n this.updateEquipment = this.updateEquipment.bind(this);\r\n this.deleteEquipment = this.deleteEquipment.bind(this);\r\n\r\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\r\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\r\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\r\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\r\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\r\n }\r\n\r\n async getEquipment(jwt: string): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: '/equipment-types',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async getEquipmentByID(\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<EquipmentInfo>> {\r\n const response = await this.client.get({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<EquipmentInfo>;\r\n }\r\n async getBranchEquipmentByID(\r\n branchId: string,\r\n equipmentID: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchEquipmentInventory>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment/${equipmentID}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchEquipmentInventory>;\r\n }\r\n\r\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/equipment-types',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async updateEquipment(\r\n equipmentId: string,\r\n data: UpdateEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/equipment-types/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchEquipment(\r\n branchId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<Equipment[]>;\r\n }\r\n\r\n async addBranchEquipment(\r\n branchId: string,\r\n equipmentData: CreateBranchEquipment,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/equipment`,\r\n jwt,\r\n data: {\r\n equipment: equipmentData,\r\n },\r\n });\r\n }\r\n\r\n async removeBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async updateBranchEquipment(\r\n branchId: string,\r\n equipmentId: string,\r\n data: UpdateBranchEquipmentDetails,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.patch({\r\n url: `/branches/${branchId}/equipment/${equipmentId}`,\r\n jwt,\r\n data: data,\r\n });\r\n }\r\n}\r\n","export enum UserGender {\r\n male = 'male',\r\n female = 'female',\r\n preferNotToSay = 'prefer-not-to-say',\r\n}\r\n\r\nexport type LoginRequest = {\r\n email: string;\r\n password: string;\r\n context?: string;\r\n};\r\n\r\nexport type LoginResponse = {\r\n token: string;\r\n};\r\n\r\nexport type SignUpRequest = {\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n password: string;\r\n identity_document: string;\r\n phone?: string | null;\r\n birth_date: string;\r\n gender?: UserGender | null;\r\n profile_picture_url?: string | null;\r\n role_name?: string | null;\r\n};\r\n","import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n }\n\n static getInstance(isDevMode = false): VitalFit {\n if (!VitalFit.instance) {\n VitalFit.instance = new VitalFit(isDevMode);\n }\n return VitalFit.instance;\n }\n\n version(): string {\n return '0.0.41';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n"],"mappings":"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","names":["UserGender"]}
|