@vitalfit/sdk 0.0.70 → 0.0.72
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/LICENSE +21 -21
- package/README.md +25 -25
- package/dist/index.cjs +121 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +96 -3
- package/dist/index.d.ts +96 -3
- package/dist/index.js +121 -1
- package/dist/index.js.map +1 -1
- package/package.json +53 -53
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/services/schedule.ts","../src/services/packages.ts","../src/services/billing.ts","../src/types/auth.ts","../src/types/billing.ts"],"sourcesContent":["import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n ScheduleService,\n PackagesService,\n BillingService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n schedule: ScheduleService;\n packages: PackagesService;\n billing: BillingService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n this.schedule = new ScheduleService(this.client);\n this.packages = new PackagesService(this.client);\n this.billing = new BillingService(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.70';\n }\n}\n\nexport * from './types';\nexport * from './errors';\n","import axios, { type AxiosInstance } from 'axios';\nimport { BASE_URL, DEV_URL } from './settings';\nimport { APIError } from './errors';\nimport type { Pagination } from './types';\n\nexport type ClientConfig = {\n url: string;\n jwt?: string;\n data?: object;\n params?: object;\n};\n\nexport class Client {\n private client: AxiosInstance;\n jwt?: string;\n\n constructor(isDevMode: boolean, origin?: string) {\n let headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n if (origin) {\n headers['Origin'] = origin;\n }\n this.client = axios.create({\n baseURL: isDevMode ? DEV_URL : BASE_URL,\n headers,\n });\n }\n\n async call(method: string, config: ClientConfig): Promise<Response> {\n if (config.jwt) {\n this.client.interceptors.request.use((axiosConfig) => {\n if (axiosConfig.headers) {\n axiosConfig.headers['Authorization'] = `Bearer ${config.jwt}`;\n }\n return axiosConfig;\n });\n }\n try {\n const response = await this.client.request({\n method: method,\n url: config.url,\n data: config.data,\n params: config.params,\n });\n this.client.interceptors.request.clear();\n return response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: unknown) {\n if (axios.isAxiosError(error)) {\n const errorMessage = error.response?.data?.error;\n if (typeof errorMessage === 'string') {\n throw new APIError([errorMessage], error.response?.status ?? 500);\n }\n throw new APIError(\n ['Ocurrió un error inesperado'],\n error.response?.status ?? 500,\n );\n }\n throw new Error(error as string);\n }\n }\n\n async get(config: ClientConfig): Promise<any> {\n const isPaginated = config.params && 'page' in config.params;\n\n if (isPaginated) {\n const response = (await this.call(\n 'get',\n config,\n )) as unknown as Pagination<any>;\n\n const baseURL = this.client.defaults.baseURL || '';\n\n if (response.next) {\n response.next = `${baseURL}${response.next}`;\n }\n if (response.previous) {\n response.previous = `${baseURL}${response.previous}`;\n }\n\n return response;\n } else {\n const data = await this.call('get', config);\n return data;\n }\n }\n\n async post(config: ClientConfig) {\n const data = await this.call('post', config);\n return data;\n }\n\n async put(config: ClientConfig) {\n const data = await this.call('put', config);\n return data;\n }\n\n async patch(config: ClientConfig) {\n const data = await this.call('patch', config);\n return data;\n }\n\n async delete(config: ClientConfig) {\n const data = await this.call('delete', config);\n return data;\n }\n\n setJWT(jwt: string) {\n this.jwt = jwt;\n }\n\n removeJWT() {\n this.jwt = undefined;\n }\n}\n","export const BASE_URL = 'https://api.teamvitalfit.xyz/v1';\nexport const DEV_URL = 'https://api.teamvitalfit.xyz/v1';\n","export class APIError extends Error {\n status: number;\n messages: string[];\n constructor(messages: string[], status: number) {\n super(messages.join(', '));\n this.status = status;\n this.messages = messages;\n }\n}\n\nexport const isAPIError = (error: unknown): error is APIError => {\n return error instanceof APIError;\n};\n","import { Client } from '../client';\nimport type { LoginRequest, LoginResponse, SignUpRequest } from '@/types';\n\nexport class AuthService {\n private client: Client;\n constructor(client: Client) {\n this.client = client;\n this.login = this.login.bind(this);\n this.signUp = this.signUp.bind(this);\n this.signUpStaff = this.signUpStaff.bind(this);\n this.forgotPassword = this.forgotPassword.bind(this);\n this.resetPassword = this.resetPassword.bind(this);\n this.validateResetToken = this.validateResetToken.bind(this);\n this.verifyEmail = this.verifyEmail.bind(this);\n this.verifyStaff = this.verifyStaff.bind(this);\n\n this.logout = this.logout.bind(this);\n this.saveJWT = this.saveJWT.bind(this);\n }\n\n async login({\n email,\n password,\n context,\n }: LoginRequest): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/login',\n data: {\n email,\n password,\n context,\n },\n });\n return response as unknown as LoginResponse;\n }\n\n logout(): void {\n this.client.removeJWT();\n }\n\n saveJWT(jwt: string): void {\n this.client.setJWT(jwt);\n }\n\n async signUp(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register',\n data: signUpData,\n });\n }\n\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register-staff',\n data: signUpData,\n });\n }\n async forgotPassword(email: string): Promise<void> {\n await this.client.post({\n url: '/auth/password/forgot',\n data: {\n email,\n },\n });\n }\n\n async resetPassword(\n otp: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.post({\n url: '/auth/password/reset',\n data: {\n token: otp,\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n\n async validateResetToken(token: string): Promise<void> {\n await this.client.get({\n url: `/auth/password/validate/${token}`,\n });\n }\n\n async verifyEmail(otp: string): Promise<void> {\n await this.client.put({\n url: '/auth/activate',\n data: {\n code: otp,\n },\n });\n }\n\n async verifyStaff(\n token: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.put({\n url: `/auth/activate/${token}`,\n data: {\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n}\n","import { Client } from '@/client';\nimport type {\n UserApiResponse,\n DataResponse,\n User,\n UserPaginationOptions,\n GetUserResponse,\n UpdateUserRequest,\n UpdateUserStaffRequest,\n} from '@/types';\n\nexport class UserService {\n client: Client;\n constructor(client: Client) {\n this.client = client;\n this.WhoAmI = this.WhoAmI.bind(this);\n this.getBranchAdmins = this.getBranchAdmins.bind(this);\n this.getClientUsers = this.getClientUsers.bind(this);\n this.getStaffUsers = this.getStaffUsers.bind(this);\n this.getUserByEmail = this.getUserByEmail.bind(this);\n\n this.GetUserByID = this.GetUserByID.bind(this);\n this.updateUserClient = this.updateUserClient.bind(this);\n this.updateUserStaff = this.updateUserStaff.bind(this);\n this.deleteUser = this.deleteUser.bind(this);\n }\n\n async getStaffUsers(\n { search, role }: UserPaginationOptions,\n jwt: string,\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/users',\n jwt,\n params: {\n search,\n role,\n },\n });\n\n return response as unknown as DataResponse<User[]>;\n }\n\n async WhoAmI(jwt: string): Promise<UserApiResponse> {\n const response = await this.client.get({\n url: '/user/whoami',\n jwt,\n });\n return response as unknown as UserApiResponse;\n }\n async getBranchAdmins(jwt: string): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/branch-admins',\n jwt,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async getClientUsers(\n jwt: string,\n options: UserPaginationOptions = {},\n ): Promise<DataResponse<User[]>> {\n const response = await this.client.get({\n url: '/user/clients',\n jwt,\n params: options,\n });\n return response as unknown as DataResponse<User[]>;\n }\n\n async GetUserByID(\n userId: string,\n jwt: string,\n ): Promise<DataResponse<GetUserResponse>> {\n const response = await this.client.get({\n url: `/user/${userId}`,\n jwt,\n });\n return response as unknown as DataResponse<GetUserResponse>;\n }\n\n async updateUserClient(\n userId: string,\n data: UpdateUserRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/client`,\n jwt,\n data,\n });\n }\n async updateUserStaff(\n userId: string,\n data: UpdateUserStaffRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/user/${userId}/staff`,\n jwt,\n data,\n });\n }\n\n async deleteUser(userId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/user/${userId}`,\n jwt,\n });\n }\n\n async getUserByEmail(\n email: string,\n jwt: string,\n ): Promise<DataResponse<User>> {\n const response = await this.client.post({\n url: `/user/by-email`,\n jwt,\n data: {\n email: email,\n },\n });\n return response as unknown as DataResponse<User>;\n }\n}\n","import type { Pagination, CreateBranchRequest, DataResponse } from '@/types';\nimport type {\n PaginatedBranch,\n PaginationBranchRequest,\n BranchStatusCount,\n BranchDetails,\n UpdateBranchRequest,\n} from '../types/branch';\n\nexport class BranchService {\n private client: any;\n\n constructor(client: any) {\n this.client = client;\n this.getBranches = this.getBranches.bind(this);\n this.delete = this.delete.bind(this);\n this.getBranchStatusCount = this.getBranchStatusCount.bind(this);\n this.createBranch = this.createBranch.bind(this);\n this.getBranchById = this.getBranchById.bind(this);\n this.updateBranch = this.updateBranch.bind(this);\n }\n\n async updateBranch(\n branchId: string,\n branchData: UpdateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}`,\n jwt,\n data: branchData,\n });\n }\n\n async getBranchById(branchId: string, jwt: string): Promise<BranchDetails> {\n const response = await this.client.get({\n url: `/branches/${branchId}`,\n jwt,\n });\n return response as unknown as BranchDetails;\n }\n\n async getBranches(\n { page = 1, limit = 10, search, status, location }: PaginationBranchRequest,\n jwt: string,\n ): Promise<Pagination<PaginatedBranch[]>> {\n const response = await this.client.get({\n url: '/branches',\n jwt,\n params: {\n page,\n limit,\n search,\n status,\n location,\n },\n });\n return response as unknown as Pagination<PaginatedBranch[]>;\n }\n\n async delete(branchId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}`,\n jwt,\n });\n }\n\n async getBranchStatusCount(\n jwt: string,\n ): Promise<DataResponse<BranchStatusCount>> {\n const response = await this.client.get({\n url: '/branches/status',\n jwt,\n });\n return response as unknown as DataResponse<BranchStatusCount>;\n }\n\n async createBranch(\n branchData: CreateBranchRequest,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/branches',\n jwt,\n data: branchData,\n });\n }\n}\n","import { Client } from '../client';\nimport type {\n BranchPaymentMethodInfo,\n CreatePaymentMethod,\n DataResponse,\n PaymentMethod,\n UpdateBranchPaymentMethod,\n} from '@/types';\n\nexport class PaymentMethodService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPaymentMethods = this.getPaymentMethods.bind(this);\n this.getPaymentMethodByID = this.getPaymentMethodByID.bind(this);\n this.createPaymentMethod = this.createPaymentMethod.bind(this);\n this.updatePaymentMethod = this.updatePaymentMethod.bind(this);\n this.deletePaymentMethod = this.deletePaymentMethod.bind(this);\n\n this.addBranchPaymentMethod = this.addBranchPaymentMethod.bind(this);\n this.removeBranchPaymentMethod = this.removeBranchPaymentMethod.bind(this);\n this.getBranchPaymentMethods = this.getBranchPaymentMethods.bind(this);\n this.getBranchPaymentMethodByID =\n this.getBranchPaymentMethodByID.bind(this);\n this.updateBranchPaymentMethod = this.updateBranchPaymentMethod.bind(this);\n }\n\n async getPaymentMethods(jwt: string): Promise<DataResponse<PaymentMethod[]>> {\n const response = await this.client.get({\n url: '/billing/payment-methods',\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod[]>;\n }\n async createPaymentMethod(\n paymentMethodData: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/billing/payment-methods',\n jwt,\n data: paymentMethodData,\n });\n }\n\n async getPaymentMethodByID(\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<PaymentMethod>> {\n const response = await this.client.get({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<PaymentMethod>;\n }\n\n async updatePaymentMethod(\n paymentMethodId: string,\n data: CreatePaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n data,\n });\n }\n\n async deletePaymentMethod(\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/billing/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async addBranchPaymentMethod(\n branchId: string,\n paymentMethodID: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n data: {\n method_id: paymentMethodID,\n },\n });\n }\n\n async getBranchPaymentMethods(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo[]>;\n }\n\n async getBranchPaymentMethodByID(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<DataResponse<BranchPaymentMethodInfo>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchPaymentMethodInfo>;\n }\n\n async removeBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n });\n }\n\n async updateBranchPaymentMethod(\n branchId: string,\n paymentMethodId: string,\n data: UpdateBranchPaymentMethod,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/payment-methods/${paymentMethodId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n Instructor,\n DataResponse,\n InstructorDataList,\n PaginatedInstructor,\n InstructorData,\n Specialty,\n BranchInstructorInfo,\n PaginatedTotal,\n InstructorsSummary,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class InstructorService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getInstructors = this.getInstructors.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.createInstructor = this.createInstructor.bind(this);\n this.getInstructorById = this.getInstructorById.bind(this);\n this.updateInstructor = this.updateInstructor.bind(this);\n this.deleteInstructor = this.deleteInstructor.bind(this);\n this.addSpecialty = this.addSpecialty.bind(this);\n this.removeSpecialty = this.removeSpecialty.bind(this);\n\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\n }\n\n async getInstructors(\n { page = 10, limit = 10, search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<PaginatedTotal<InstructorDataList[]>> {\n const response = await this.client.get({\n url: '/instructor',\n jwt,\n params: {\n page,\n limit,\n search,\n identity_doc,\n },\n });\n return response as unknown as PaginatedTotal<InstructorDataList[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>> {\n const response = await this.client.get({\n url: '/instructor/summary',\n jwt,\n });\n return response as unknown as DataResponse<InstructorsSummary>;\n }\n\n async createInstructor(\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/instructor',\n jwt,\n data: instructorData,\n });\n }\n\n async getInstructorById(\n instructorId: string,\n jwt: string,\n ): Promise<DataResponse<InstructorData>> {\n const response = await this.client.get({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n return response as unknown as DataResponse<InstructorData>;\n }\n\n async updateInstructor(\n instructorId: string,\n instructorData: Instructor,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/instructor/${instructorId}`,\n jwt,\n data: instructorData,\n });\n }\n\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async addSpecialty(\n instructorId: string,\n specialty: Specialty[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/instructor/${instructorId}/specialty`,\n jwt,\n data: {\n specialties: specialty,\n },\n });\n }\n\n async removeSpecialty(\n instructorId: string,\n specialtyId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\n jwt,\n });\n }\n\n async addBranchInstructor(\n branchId: string,\n instructorIDs: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/instructor`,\n jwt,\n data: {\n instructor: instructorIDs,\n },\n });\n }\n async removeBranchInstructor(\n branchId: string,\n instructorId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/instructor/${instructorId}`,\n jwt,\n });\n }\n\n async getBranchInstructors(\n branchId: string,\n { search, identity_doc }: PaginatedInstructor,\n jwt: string,\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/instructor`,\n jwt,\n params: {\n search,\n identity_doc,\n },\n });\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateRole,\n DataResponse,\n PaginationRequest,\n Permission,\n RoleResponse,\n PaginatedTotal,\n} from '@/types';\n\nexport class RBACService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getPermissions = this.getPermissions.bind(this);\n this.getRoles = this.getRoles.bind(this);\n this.createRole = this.createRole.bind(this);\n this.updateRole = this.updateRole.bind(this);\n this.getRoleByID = this.getRoleByID.bind(this);\n this.deleteRole = this.deleteRole.bind(this);\n this.addPermission = this.addPermission.bind(this);\n this.removePermission = this.removePermission.bind(this);\n }\n\n async getPermissions(jwt: string): Promise<DataResponse<Permission[]>> {\n const response = await this.client.get({\n url: '/admin/permissions',\n jwt,\n });\n return response as unknown as DataResponse<Permission[]>;\n }\n\n async getRoles(\n { page = 10, limit = 10, search, sort = 'desc' }: PaginationRequest,\n jwt: string,\n ): Promise<PaginatedTotal<RoleResponse[]>> {\n const response = await this.client.get({\n url: '/admin/roles',\n jwt,\n params: {\n page,\n limit,\n search,\n },\n });\n return response as unknown as PaginatedTotal<RoleResponse[]>;\n }\n\n async createRole(roleData: CreateRole, jwt: string): Promise<void> {\n await this.client.post({\n url: '/admin/roles',\n jwt,\n data: roleData,\n });\n }\n\n async updateRole(\n roleId: string,\n roleData: CreateRole,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/admin/roles/${roleId}`,\n jwt,\n data: roleData,\n });\n }\n\n async getRoleByID(\n roleId: string,\n jwt: string,\n ): Promise<DataResponse<RoleResponse>> {\n const response = await this.client.get({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n return response as unknown as DataResponse<RoleResponse>;\n }\n\n async deleteRole(roleId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}`,\n jwt,\n });\n }\n async addPermission(\n roleId: string,\n permissionData: string[],\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: {\n permissions: permissionData,\n },\n });\n }\n async removePermission(\n roleId: string,\n permissionData: Permission[],\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/admin/roles/${roleId}/permissions`,\n jwt,\n data: permissionData,\n });\n }\n}\n","import type { Banner, CreateBanner, UpdateBanner } from '@/types';\nimport { Client } from '../client';\nimport type { DataResponse } from '../types';\n\nexport class MarketingService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createBanners = this.createBanners.bind(this);\n this.getBanner = this.getBanner.bind(this);\n this.getBannerByID = this.getBannerByID.bind(this);\n this.updateBanner = this.updateBanner.bind(this);\n this.deleteBanner = this.deleteBanner.bind(this);\n }\n\n async createBanners(BannerData: CreateBanner, jwt: string): Promise<void> {\n await this.client.post({\n url: '/marketing/banners',\n jwt,\n data: BannerData,\n });\n }\n\n async getBanner(jwt: string): Promise<DataResponse<Banner[]>> {\n const response = await this.client.get({\n url: '/marketing/banners',\n jwt,\n });\n return response as unknown as DataResponse<Banner[]>;\n }\n\n async getBannerByID(\n BannerId: string,\n jwt: string,\n ): Promise<DataResponse<Banner>> {\n const response = await this.client.get({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n return response as unknown as DataResponse<Banner>;\n }\n\n async updateBanner(\n BannerId: string,\n BannerData: UpdateBanner,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n data: BannerData,\n });\n }\n\n async deleteBanner(BannerId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/marketing/banners/${BannerId}`,\n jwt,\n });\n }\n}\n","import type {\n CreateMembershipType,\n DataResponse,\n MembershipsSummary,\n MembershipType,\n PaginatedTotal,\n PaginationRequest,\n PublicMembershipResponse,\n UpdateMembershipType,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class MembershipService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createMembershipType = this.createMembershipType.bind(this);\n this.getMembershipTypes = this.getMembershipTypes.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getMembershipTypeByID = this.getMembershipTypeByID.bind(this);\n this.updateMembershipType = this.updateMembershipType.bind(this);\n this.deleteMembershipType = this.deleteMembershipType.bind(this);\n\n this.publicGetMemberships = this.publicGetMemberships.bind(this);\n }\n\n async createMembershipType(\n data: CreateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: '/membership-plans',\n jwt,\n data,\n });\n }\n\n async getMembershipTypes(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n ): Promise<PaginatedTotal<MembershipType[]>> {\n const response = await this.client.get({\n url: '/membership-plans',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<MembershipType[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>> {\n const response = await this.client.get({\n url: '/membership-plans/summary',\n jwt,\n });\n return response as unknown as DataResponse<MembershipsSummary>;\n }\n\n async getMembershipTypeByID(\n membershipTypeId: string,\n jwt: string,\n ): Promise<DataResponse<MembershipType>> {\n const response = await this.client.get({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n return response as unknown as DataResponse<MembershipType>;\n }\n\n async updateMembershipType(\n membershipTypeId: string,\n data: UpdateMembershipType,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n data,\n });\n }\n\n async deleteMembershipType(\n membershipTypeId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/membership-plans/${membershipTypeId}`,\n jwt,\n });\n }\n\n async publicGetMemberships(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n currency: string,\n ): Promise<PaginatedTotal<PublicMembershipResponse[]>> {\n const response = await this.client.get({\n url: '/public/membership-plans',\n jwt,\n params: {\n currency,\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<PublicMembershipResponse[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n DataResponse,\n BranchInfo,\n ServicePublicItem,\n PublicPaginationService,\n PaginatedTotal,\n PublicPaginatedPackage,\n PackagePublicItem,\n} from '@/types';\n\nexport class PublicService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getBranchMap = this.getBranchMap.bind(this);\n this.getServices = this.getServices.bind(this);\n this.getPackages = this.getPackages.bind(this);\n this.getBranchServices = this.getBranchServices.bind(this);\n }\n\n async getBranchMap(jwt: string): Promise<DataResponse<BranchInfo[]>> {\n const response = await this.client.get({\n url: '/public/branches-map',\n jwt,\n });\n\n return response as unknown as DataResponse<BranchInfo[]>;\n }\n async getServices({\n page = 1,\n limit = 10,\n currency,\n category,\n price,\n sortby,\n search,\n sort = 'desc',\n }: PublicPaginationService): Promise<PaginatedTotal<ServicePublicItem[]>> {\n const response = await this.client.get({\n url: '/public/services',\n params: {\n page,\n limit,\n currency,\n category,\n price,\n sortby,\n search,\n sort,\n },\n });\n return response as unknown as PaginatedTotal<ServicePublicItem[]>;\n }\n\n async getPackages({\n page = 1,\n limit = 10,\n currency,\n }: PublicPaginatedPackage): Promise<PaginatedTotal<PackagePublicItem[]>> {\n const response = await this.client.get({\n url: '/public/packages',\n params: {\n page,\n limit,\n currency,\n },\n });\n return response as unknown as PaginatedTotal<PackagePublicItem[]>;\n }\n async getBranchServices(\n {\n page = 1,\n limit = 10,\n currency,\n category,\n price,\n sortby,\n search,\n sort = 'desc',\n }: PublicPaginationService,\n branchId: string,\n ): Promise<PaginatedTotal<ServicePublicItem[]>> {\n const response = await this.client.get({\n url: `/public/branches/${branchId}/services`,\n params: {\n page,\n limit,\n currency,\n category,\n price,\n sortby,\n search,\n sort,\n },\n });\n return response as unknown as PaginatedTotal<ServicePublicItem[]>;\n }\n}\n","import { Client } from '../client';\nimport type {\n CreateService,\n DataResponse,\n ServiceCategoryInfo,\n ServiceFullDetail,\n UpdateServiceManual,\n CreateBranchServicePriceItem,\n BranchServicePrice,\n UpdateBranchServicePrice,\n PaginatedServiceRequest,\n PaginatedTotal,\n ServicesSummary,\n} from '@/types';\n\nexport class ProductsService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createService = this.createService.bind(this);\n this.getServices = this.getServices.bind(this);\n this.getSummary = this.getSummary.bind(this);\n this.getServiceByID = this.getServiceByID.bind(this);\n this.updateService = this.updateService.bind(this);\n this.deleteService = this.deleteService.bind(this);\n this.getCategories = this.getCategories.bind(this);\n\n this.addBranchService = this.addBranchService.bind(this);\n this.removeBranchService = this.removeBranchService.bind(this);\n this.getBranchServices = this.getBranchServices.bind(this);\n this.getBranchServiceByID = this.getBranchServiceByID.bind(this);\n this.updateBranchService = this.updateBranchService.bind(this);\n }\n async createService(data: CreateService, jwt: string): Promise<void> {\n await this.client.post({\n url: '/services',\n jwt,\n data,\n });\n }\n\n async getServices(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedServiceRequest,\n ): Promise<PaginatedTotal<ServiceFullDetail[]>> {\n const response = await this.client.get({\n url: '/services/all',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<ServiceFullDetail[]>;\n }\n\n async getSummary(jwt: string): Promise<DataResponse<ServicesSummary>> {\n const response = await this.client.get({\n url: '/services/summary',\n jwt,\n });\n return response as unknown as DataResponse<ServicesSummary>;\n }\n\n async getServiceByID(\n serviceId: string,\n jwt: string,\n ): Promise<DataResponse<ServiceFullDetail>> {\n const response = await this.client.get({\n url: `/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<ServiceFullDetail>;\n }\n\n async updateService(\n serviceId: string,\n data: UpdateServiceManual,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/services/${serviceId}`,\n jwt,\n data,\n });\n }\n async deleteService(serviceId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/services/${serviceId}`,\n jwt,\n });\n }\n async getCategories(\n jwt: string,\n ): Promise<DataResponse<ServiceCategoryInfo[]>> {\n const response = await this.client.get({\n url: '/services/categories',\n jwt,\n });\n return response as unknown as DataResponse<ServiceCategoryInfo[]>;\n }\n\n async addBranchService(\n BranchServiceData: CreateBranchServicePriceItem[],\n branchId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/services`,\n jwt,\n data: {\n services: BranchServiceData,\n },\n });\n }\n\n async getBranchServices(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchServicePrice[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice[]>;\n }\n\n async getBranchServiceByID(\n branchId: string,\n jwt: string,\n serviceId: string,\n ): Promise<DataResponse<BranchServicePrice>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchServicePrice>;\n }\n\n async updateBranchService(\n branchId: string,\n serviceId: string,\n BranchServiceData: UpdateBranchServicePrice,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n data: BranchServiceData,\n });\n }\n\n async removeBranchService(\n branchId: string,\n serviceId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/services/${serviceId}`,\n jwt,\n });\n }\n}\n","import type {\n BranchEquipmentInventory,\n CreateBranchEquipment,\n CreateEquipment,\n DataResponse,\n Equipment,\n EquipmentInfo,\n PaginatedEquipmentRequest,\n PaginatedTotal,\n UpdateBranchEquipmentDetails,\n UpdateEquipment,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class EquipmentService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.getEquipment = this.getEquipment.bind(this);\n this.getEquipmentByID = this.getEquipmentByID.bind(this);\n this.createEquipment = this.createEquipment.bind(this);\n this.updateEquipment = this.updateEquipment.bind(this);\n this.deleteEquipment = this.deleteEquipment.bind(this);\n\n this.getBranchEquipment = this.getBranchEquipment.bind(this);\n this.getBranchEquipmentByID = this.getBranchEquipmentByID.bind(this);\n this.addBranchEquipment = this.addBranchEquipment.bind(this);\n this.removeBranchEquipment = this.removeBranchEquipment.bind(this);\n this.updateBranchEquipment = this.updateBranchEquipment.bind(this);\n }\n\n async getEquipment(\n jwt: string,\n {\n page = 10,\n limit = 10,\n sort = 'desc',\n search,\n category,\n }: PaginatedEquipmentRequest,\n ): Promise<PaginatedTotal<Equipment[]>> {\n const response = await this.client.get({\n url: '/equipment-types',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n category,\n },\n });\n return response as unknown as PaginatedTotal<Equipment[]>;\n }\n\n async getEquipmentByID(\n equipmentId: string,\n jwt: string,\n ): Promise<DataResponse<EquipmentInfo>> {\n const response = await this.client.get({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n return response as unknown as DataResponse<EquipmentInfo>;\n }\n async getBranchEquipmentByID(\n branchId: string,\n equipmentID: string,\n jwt: string,\n ): Promise<DataResponse<BranchEquipmentInventory>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment/${equipmentID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchEquipmentInventory>;\n }\n\n async createEquipment(data: CreateEquipment, jwt: string): Promise<void> {\n await this.client.post({\n url: '/equipment-types',\n jwt,\n data,\n });\n }\n\n async updateEquipment(\n equipmentId: string,\n data: UpdateEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n data,\n });\n }\n\n async deleteEquipment(equipmentId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/equipment-types/${equipmentId}`,\n jwt,\n });\n }\n\n async getBranchEquipment(\n branchId: string,\n jwt: string,\n ): Promise<DataResponse<BranchEquipmentInventory[]>> {\n const response = await this.client.get({\n url: `/branches/${branchId}/equipment`,\n jwt,\n });\n return response as unknown as DataResponse<BranchEquipmentInventory[]>;\n }\n\n async addBranchEquipment(\n branchId: string,\n equipmentData: CreateBranchEquipment,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchId}/equipment`,\n jwt,\n data: equipmentData,\n });\n }\n\n async removeBranchEquipment(\n branchId: string,\n equipmentId: string,\n jwt: string,\n ): Promise<void> {\n await this.client.delete({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n });\n }\n\n async updateBranchEquipment(\n branchId: string,\n equipmentId: string,\n data: UpdateBranchEquipmentDetails,\n jwt: string,\n ): Promise<void> {\n await this.client.patch({\n url: `/branches/${branchId}/equipment/${equipmentId}`,\n jwt,\n data: data,\n });\n }\n}\n","import type {\n BranchClassInfo,\n CreateClassPayload,\n DataResponse,\n UpdateClassPayload,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class ScheduleService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.ListBranchesClass = this.ListBranchesClass.bind(this);\n this.CreateClass = this.CreateClass.bind(this);\n this.UpdateClass = this.UpdateClass.bind(this);\n this.DeleteClass = this.DeleteClass.bind(this);\n this.GetClassByID = this.GetClassByID.bind(this);\n }\n\n async ListBranchesClass(\n branchID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchID}/schedule`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo[]>;\n }\n async CreateClass(\n branchID: string,\n data: CreateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchID}/schedule`,\n jwt,\n data,\n });\n }\n\n async GetClassByID(\n classID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo>> {\n const response = await this.client.get({\n url: `/schedule/${classID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo>;\n }\n\n async UpdateClass(\n classID: string,\n data: UpdateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/schedule/${classID}`,\n jwt,\n data,\n });\n }\n async DeleteClass(classID: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/schedule/${classID}`,\n jwt,\n });\n }\n}\n","import type {\n CreatePackagePayload,\n DataResponse,\n PackageDetail,\n PackageListItem,\n PaginatedTotal,\n PaginationRequest,\n UpdatePackagePayload,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class PackagesService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createPackage = this.createPackage.bind(this);\n this.getPackages = this.getPackages.bind(this);\n this.getPackageByID = this.getPackageByID.bind(this);\n this.updatePackage = this.updatePackage.bind(this);\n this.deletePackage = this.deletePackage.bind(this);\n }\n\n async createPackage(data: CreatePackagePayload, jwt: string): Promise<void> {\n await this.client.post({\n url: '/packages',\n jwt,\n data,\n });\n }\n\n async getPackages(\n jwt: string,\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\n ): Promise<PaginatedTotal<PackageListItem[]>> {\n const response = await this.client.get({\n url: '/packages',\n jwt,\n params: {\n page,\n limit,\n sort,\n search,\n },\n });\n return response as unknown as PaginatedTotal<PackageListItem[]>;\n }\n\n async getPackageByID(\n packageId: string,\n jwt: string,\n ): Promise<DataResponse<PackageDetail>> {\n const response = await this.client.get({\n url: `/packages/${packageId}`,\n jwt,\n });\n return response as unknown as DataResponse<PackageDetail>;\n }\n\n async updatePackage(\n packageId: string,\n data: UpdatePackagePayload,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/packages/${packageId}`,\n jwt,\n data,\n });\n }\n\n async deletePackage(packageId: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/packages/${packageId}`,\n jwt,\n });\n }\n}\n","import type {\n AddPaymentToInvoicePayload,\n AddPaymentToInvoiceResponse,\n CreateInvoicePayload,\n CreateInvoiceResponse,\n DataResponse,\n InvoiceDetail,\n PaymentDetail,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class BillingService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.createInvoice = this.createInvoice.bind(this);\n this.AddPaymentToInvoice = this.AddPaymentToInvoice.bind(this);\n this.getInvoiceByID = this.getInvoiceByID.bind(this);\n this.getPaymentByID = this.getPaymentByID.bind(this);\n this.updatePaymentStatus = this.updatePaymentStatus.bind(this);\n }\n async createInvoice(\n data: CreateInvoicePayload,\n jwt: string,\n ): Promise<CreateInvoiceResponse> {\n const response = await this.client.post({\n url: '/billing/invoices',\n jwt,\n data,\n });\n return response as unknown as CreateInvoiceResponse;\n }\n async getInvoiceByID(\n invoiceId: string,\n jwt: string,\n ): Promise<DataResponse<InvoiceDetail>> {\n const response = await this.client.get({\n url: `/billing/invoices/${invoiceId}`,\n jwt,\n });\n return response as unknown as DataResponse<InvoiceDetail>;\n }\n\n async AddPaymentToInvoice(\n data: AddPaymentToInvoicePayload,\n jwt: string,\n ): Promise<AddPaymentToInvoiceResponse> {\n const response = await this.client.post({\n url: '/billing/invoices/payment',\n jwt,\n data,\n });\n return response as unknown as AddPaymentToInvoiceResponse;\n }\n\n async getPaymentByID(\n paymentId: string,\n jwt: string,\n ): Promise<DataResponse<PaymentDetail>> {\n const response = await this.client.get({\n url: `/billing/payments/${paymentId}`,\n jwt,\n });\n return response as unknown as DataResponse<PaymentDetail>;\n }\n async updatePaymentStatus(\n paymentId: string,\n status: string,\n jwt: string,\n ): Promise<void> {\n await this.client.patch({\n url: `/billing/payments/${paymentId}/status`,\n jwt,\n data: {\n status: status,\n },\n });\n }\n}\n","export enum UserGender {\n male = 'male',\n female = 'female',\n preferNotToSay = 'prefer-not-to-say',\n}\n\nexport type LoginRequest = {\n email: string;\n password: string;\n context?: string;\n};\n\nexport type LoginResponse = {\n token: string;\n};\n\nexport type SignUpRequest = {\n first_name: string;\n last_name: string;\n email: string;\n password: string;\n identity_document: string;\n phone?: string | null;\n birth_date: string;\n gender?: UserGender | null;\n profile_picture_url?: string | null;\n role_name?: string | null;\n};\n","export const mainCurrencies = [\n // --- Monedas G10 (Más negociadas) ---\n {\n code: 'USD',\n name: 'Dólar Estadounidense',\n symbol: '$',\n },\n {\n code: 'EUR',\n name: 'Euro',\n symbol: '€',\n },\n {\n code: 'JPY',\n name: 'Yen Japonés',\n symbol: '¥',\n },\n {\n code: 'GBP',\n name: 'Libra Esterlina',\n symbol: '£',\n },\n {\n code: 'AUD',\n name: 'Dólar Australiano',\n symbol: 'A$',\n },\n {\n code: 'CAD',\n name: 'Dólar Canadiense',\n symbol: 'C$',\n },\n {\n code: 'CHF',\n name: 'Franco Suizo',\n symbol: 'Fr',\n },\n {\n code: 'CNY',\n name: 'Yuan Chino',\n symbol: '¥',\n },\n\n // --- Monedas Relevantes (Latinoamérica) ---\n {\n code: 'VES',\n name: 'Bolívar Soberano',\n symbol: 'Bs.',\n },\n {\n code: 'BRL',\n name: 'Real Brasileño',\n symbol: 'R$',\n },\n {\n code: 'MXN',\n name: 'Peso Mexicano',\n symbol: '$',\n },\n {\n code: 'ARS',\n name: 'Peso Argentino',\n symbol: '$',\n },\n {\n code: 'COP',\n name: 'Peso Colombiano',\n symbol: '$',\n },\n {\n code: 'CLP',\n name: 'Peso Chileno',\n symbol: '$',\n },\n {\n code: 'PEN',\n name: 'Sol Peruano',\n symbol: 'S/',\n },\n\n // --- Otras monedas importantes ---\n {\n code: 'INR',\n name: 'Rupia India',\n symbol: '₹',\n },\n {\n code: 'RUB',\n name: 'Rublo Ruso',\n symbol: '₽',\n },\n];\n"],"mappings":"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","names":["axios","UserGender"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/settings.ts","../src/errors/errors.ts","../src/services/auth.ts","../src/services/user.ts","../src/services/branch.ts","../src/services/payment-methods.ts","../src/services/instructor.ts","../src/services/RBAC.ts","../src/services/marketing.ts","../src/services/memberships.ts","../src/services/public.ts","../src/services/products.ts","../src/services/equipment.ts","../src/services/schedule.ts","../src/services/packages.ts","../src/services/billing.ts","../src/services/booking.ts","../src/services/access.ts","../src/types/auth.ts","../src/types/billing.ts"],"sourcesContent":["import { Client } from './client';\nimport {\n AuthService,\n UserService,\n BranchService,\n PaymentMethodService,\n InstructorService,\n RBACService,\n MembershipService,\n PublicService,\n EquipmentService,\n ScheduleService,\n PackagesService,\n BillingService,\n BookingService,\n AccessService,\n} from './services';\nimport { MarketingService } from './services/marketing';\nimport { ProductsService } from './services/products';\n\nexport class VitalFit {\n private static instance: VitalFit;\n client: Client;\n auth: AuthService;\n user: UserService;\n branch: BranchService;\n paymentMethod: PaymentMethodService;\n instructor: InstructorService;\n RBAC: RBACService;\n marketing: MarketingService;\n membership: MembershipService;\n public: PublicService;\n products: ProductsService;\n equipment: EquipmentService;\n schedule: ScheduleService;\n packages: PackagesService;\n billing: BillingService;\n booking: BookingService;\n access: AccessService;\n\n constructor(isDevMode: boolean, origin?: string) {\n this.client = new Client(isDevMode, origin);\n this.auth = new AuthService(this.client);\n this.user = new UserService(this.client);\n this.branch = new BranchService(this.client);\n this.paymentMethod = new PaymentMethodService(this.client);\n this.instructor = new InstructorService(this.client);\n this.RBAC = new RBACService(this.client);\n this.marketing = new MarketingService(this.client);\n this.membership = new MembershipService(this.client);\n this.public = new PublicService(this.client);\n this.products = new ProductsService(this.client);\n this.equipment = new EquipmentService(this.client);\n this.schedule = new ScheduleService(this.client);\n this.packages = new PackagesService(this.client);\n this.billing = new BillingService(this.client);\n this.booking = new BookingService(this.client);\n this.access = new AccessService(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.72';\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.teamvitalfit.xyz/v1';\r\nexport const DEV_URL = 'https://api.teamvitalfit.xyz/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';\nimport type {\n LoginRequest,\n LoginResponse,\n Oauth,\n SignUpRequest,\n} from '@/types';\n\nexport class AuthService {\n private client: Client;\n constructor(client: Client) {\n this.client = client;\n this.login = this.login.bind(this);\n this.signUp = this.signUp.bind(this);\n this.signUpStaff = this.signUpStaff.bind(this);\n this.forgotPassword = this.forgotPassword.bind(this);\n this.resetPassword = this.resetPassword.bind(this);\n this.validateResetToken = this.validateResetToken.bind(this);\n this.verifyEmail = this.verifyEmail.bind(this);\n this.verifyStaff = this.verifyStaff.bind(this);\n this.oAuthLogin = this.oAuthLogin.bind(this);\n\n this.logout = this.logout.bind(this);\n this.saveJWT = this.saveJWT.bind(this);\n }\n\n async login({\n email,\n password,\n context,\n }: LoginRequest): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/login',\n data: {\n email,\n password,\n context,\n },\n });\n return response as unknown as LoginResponse;\n }\n\n logout(): void {\n this.client.removeJWT();\n }\n\n saveJWT(jwt: string): void {\n this.client.setJWT(jwt);\n }\n\n async signUp(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register',\n data: signUpData,\n });\n }\n\n async signUpStaff(signUpData: SignUpRequest): Promise<void> {\n const birthDateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!birthDateRegex.test(signUpData.birth_date)) {\n throw new Error('Birth date must be in the format YYYY-MM-DD');\n }\n await this.client.post({\n url: '/auth/register-staff',\n data: signUpData,\n });\n }\n async forgotPassword(email: string): Promise<void> {\n await this.client.post({\n url: '/auth/password/forgot',\n data: {\n email,\n },\n });\n }\n\n async resetPassword(\n otp: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.post({\n url: '/auth/password/reset',\n data: {\n token: otp,\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n\n async validateResetToken(token: string): Promise<void> {\n await this.client.get({\n url: `/auth/password/validate/${token}`,\n });\n }\n\n async verifyEmail(otp: string): Promise<void> {\n await this.client.put({\n url: '/auth/activate',\n data: {\n code: otp,\n },\n });\n }\n\n async verifyStaff(\n token: string,\n password: string,\n repeatPassword: string,\n ): Promise<void> {\n await this.client.put({\n url: `/auth/activate/${token}`,\n data: {\n password: password,\n confirm_password: repeatPassword,\n },\n });\n }\n\n async oAuthLogin(data: Oauth): Promise<LoginResponse> {\n const response = await this.client.post({\n url: '/auth/oauth-login',\n data,\n });\n return response as unknown as LoginResponse;\n }\n}\n","import { Client } from '@/client';\r\nimport type {\r\n UserApiResponse,\r\n DataResponse,\r\n User,\r\n UserPaginationOptions,\r\n GetUserResponse,\r\n UpdateUserRequest,\r\n UpdateUserStaffRequest,\r\n QrToken,\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 this.getUserByEmail = this.getUserByEmail.bind(this);\r\n this.QrToken = this.QrToken.bind(this);\r\n\r\n this.GetUserByID = this.GetUserByID.bind(this);\r\n this.updateUserClient = this.updateUserClient.bind(this);\r\n this.updateUserStaff = this.updateUserStaff.bind(this);\r\n this.deleteUser = this.deleteUser.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 async GetUserByID(\r\n userId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<GetUserResponse>> {\r\n const response = await this.client.get({\r\n url: `/user/${userId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<GetUserResponse>;\r\n }\r\n\r\n async updateUserClient(\r\n userId: string,\r\n data: UpdateUserRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/user/${userId}/client`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n async updateUserStaff(\r\n userId: string,\r\n data: UpdateUserStaffRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/user/${userId}/staff`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deleteUser(userId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/user/${userId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getUserByEmail(\r\n email: string,\r\n jwt: string,\r\n ): Promise<DataResponse<User>> {\r\n const response = await this.client.post({\r\n url: `/user/by-email`,\r\n jwt,\r\n data: {\r\n email: email,\r\n },\r\n });\r\n return response as unknown as DataResponse<User>;\r\n }\r\n\r\n async QrToken(jwt: string): Promise<QrToken> {\r\n const response = await this.client.get({\r\n url: `/user/qr-token`,\r\n jwt,\r\n });\r\n return response;\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 BranchPaymentMethodInfo,\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 paymentMethodID: string[],\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: {\r\n method_id: paymentMethodID,\r\n },\r\n });\r\n }\r\n\r\n async getBranchPaymentMethods(\r\n branchId: 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`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchPaymentMethodInfo[]>;\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 {\r\n Instructor,\r\n DataResponse,\r\n InstructorDataList,\r\n PaginatedInstructor,\r\n InstructorData,\r\n Specialty,\r\n BranchInstructorInfo,\r\n PaginatedTotal,\r\n InstructorsSummary,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class InstructorService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.getInstructors = this.getInstructors.bind(this);\r\n this.getSummary = this.getSummary.bind(this);\r\n this.createInstructor = this.createInstructor.bind(this);\r\n this.getInstructorById = this.getInstructorById.bind(this);\r\n this.updateInstructor = this.updateInstructor.bind(this);\r\n this.deleteInstructor = this.deleteInstructor.bind(this);\r\n this.addSpecialty = this.addSpecialty.bind(this);\r\n this.removeSpecialty = this.removeSpecialty.bind(this);\r\n\r\n this.addBranchInstructor = this.addBranchInstructor.bind(this);\r\n this.removeBranchInstructor = this.removeBranchInstructor.bind(this);\r\n this.getBranchInstructors = this.getBranchInstructors.bind(this);\r\n }\r\n\r\n async getInstructors(\r\n { page = 10, limit = 10, search, identity_doc }: PaginatedInstructor,\r\n jwt: string,\r\n ): Promise<PaginatedTotal<InstructorDataList[]>> {\r\n const response = await this.client.get({\r\n url: '/instructor',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n search,\r\n identity_doc,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<InstructorDataList[]>;\r\n }\r\n\r\n async getSummary(jwt: string): Promise<DataResponse<InstructorsSummary>> {\r\n const response = await this.client.get({\r\n url: '/instructor/summary',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<InstructorsSummary>;\r\n }\r\n\r\n async createInstructor(\r\n instructorData: Instructor,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/instructor',\r\n jwt,\r\n data: instructorData,\r\n });\r\n }\r\n\r\n async getInstructorById(\r\n instructorId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<InstructorData>> {\r\n const response = await this.client.get({\r\n url: `/instructor/${instructorId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<InstructorData>;\r\n }\r\n\r\n async updateInstructor(\r\n instructorId: string,\r\n instructorData: Instructor,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/instructor/${instructorId}`,\r\n jwt,\r\n data: instructorData,\r\n });\r\n }\r\n\r\n async deleteInstructor(instructorId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/instructor/${instructorId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async addSpecialty(\r\n instructorId: string,\r\n specialty: Specialty[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/instructor/${instructorId}/specialty`,\r\n jwt,\r\n data: {\r\n specialties: specialty,\r\n },\r\n });\r\n }\r\n\r\n async removeSpecialty(\r\n instructorId: string,\r\n specialtyId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/instructor/${instructorId}/specialty/${specialtyId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async addBranchInstructor(\r\n branchId: string,\r\n instructorIDs: string[],\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/branches/${branchId}/instructor`,\r\n jwt,\r\n data: {\r\n instructor: instructorIDs,\r\n },\r\n });\r\n }\r\n async removeBranchInstructor(\r\n branchId: string,\r\n instructorId: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.delete({\r\n url: `/branches/${branchId}/instructor/${instructorId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getBranchInstructors(\r\n branchId: string,\r\n { search, identity_doc }: PaginatedInstructor,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchInstructorInfo[]>> {\r\n const response = await this.client.get({\r\n url: `/branches/${branchId}/instructor`,\r\n jwt,\r\n params: {\r\n search,\r\n identity_doc,\r\n },\r\n });\r\n return response as unknown as DataResponse<BranchInstructorInfo[]>;\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n CreateRole,\r\n DataResponse,\r\n PaginationRequest,\r\n Permission,\r\n RoleResponse,\r\n PaginatedTotal,\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(\r\n { page = 10, limit = 10, search, sort = 'desc' }: PaginationRequest,\r\n jwt: string,\r\n ): Promise<PaginatedTotal<RoleResponse[]>> {\r\n const response = await this.client.get({\r\n url: '/admin/roles',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n search,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<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 ClientMembershipDetail,\r\n ClientMembershipItem,\r\n CreateMembershipType,\r\n DataResponse,\r\n MembershipsSummary,\r\n MembershipType,\r\n PaginatedTotal,\r\n PaginationRequest,\r\n PublicMembershipResponse,\r\n UpdateClientMembershipRequest,\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.getSummary = this.getSummary.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 this.publicGetMemberships = this.publicGetMemberships.bind(this);\r\n\r\n this.getClientMemberships = this.getClientMemberships.bind(this);\r\n this.getClientMembershipByID = this.getClientMembershipByID.bind(this);\r\n this.updateClientMembership = this.updateClientMembership.bind(this);\r\n }\r\n\r\n async createMembershipType(\r\n data: CreateMembershipType,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: '/membership-plans',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getMembershipTypes(\r\n jwt: string,\r\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\r\n ): Promise<PaginatedTotal<MembershipType[]>> {\r\n const response = await this.client.get({\r\n url: '/membership-plans',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<MembershipType[]>;\r\n }\r\n\r\n async getSummary(jwt: string): Promise<DataResponse<MembershipsSummary>> {\r\n const response = await this.client.get({\r\n url: '/membership-plans/summary',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<MembershipsSummary>;\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-plans/${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-plans/${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-plans/${membershipTypeId}`,\r\n jwt,\r\n });\r\n }\r\n\r\n async publicGetMemberships(\r\n jwt: string,\r\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\r\n currency: string,\r\n ): Promise<PaginatedTotal<PublicMembershipResponse[]>> {\r\n const response = await this.client.get({\r\n url: '/public/membership-plans',\r\n jwt,\r\n params: {\r\n currency,\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<PublicMembershipResponse[]>;\r\n }\r\n\r\n async getClientMemberships(\r\n jwt: string,\r\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\r\n ): Promise<PaginatedTotal<ClientMembershipItem>> {\r\n const response = await this.client.get({\r\n url: '/client-memberships',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<ClientMembershipItem>;\r\n }\r\n\r\n async getClientMembershipByID(\r\n membershipId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<ClientMembershipDetail>> {\r\n const response = await this.client.get({\r\n url: `/client-memberships/${membershipId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ClientMembershipDetail>;\r\n }\r\n\r\n async updateClientMembership(\r\n membershipId: string,\r\n data: UpdateClientMembershipRequest,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/client-memberships/${membershipId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n}\r\n","import { Client } from '../client';\r\nimport type {\r\n DataResponse,\r\n BranchInfo,\r\n ServicePublicItem,\r\n PublicPaginationService,\r\n PaginatedTotal,\r\n PublicPaginatedPackage,\r\n PackagePublicItem,\r\n} 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 this.getServices = this.getServices.bind(this);\r\n this.getPackages = this.getPackages.bind(this);\r\n this.getBranchServices = this.getBranchServices.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/branches-map',\r\n jwt,\r\n });\r\n\r\n return response as unknown as DataResponse<BranchInfo[]>;\r\n }\r\n async getServices({\r\n page = 1,\r\n limit = 10,\r\n currency,\r\n category,\r\n price,\r\n sortby,\r\n search,\r\n sort = 'desc',\r\n }: PublicPaginationService): Promise<PaginatedTotal<ServicePublicItem[]>> {\r\n const response = await this.client.get({\r\n url: '/public/services',\r\n params: {\r\n page,\r\n limit,\r\n currency,\r\n category,\r\n price,\r\n sortby,\r\n search,\r\n sort,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<ServicePublicItem[]>;\r\n }\r\n\r\n async getPackages({\r\n page = 1,\r\n limit = 10,\r\n currency,\r\n }: PublicPaginatedPackage): Promise<PaginatedTotal<PackagePublicItem[]>> {\r\n const response = await this.client.get({\r\n url: '/public/packages',\r\n params: {\r\n page,\r\n limit,\r\n currency,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<PackagePublicItem[]>;\r\n }\r\n async getBranchServices(\r\n {\r\n page = 1,\r\n limit = 10,\r\n currency,\r\n category,\r\n price,\r\n sortby,\r\n search,\r\n sort = 'desc',\r\n }: PublicPaginationService,\r\n branchId: string,\r\n ): Promise<PaginatedTotal<ServicePublicItem[]>> {\r\n const response = await this.client.get({\r\n url: `/public/branches/${branchId}/services`,\r\n params: {\r\n page,\r\n limit,\r\n currency,\r\n category,\r\n price,\r\n sortby,\r\n search,\r\n sort,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<ServicePublicItem[]>;\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 PaginatedServiceRequest,\r\n PaginatedTotal,\r\n ServicesSummary,\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.getSummary = this.getSummary.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(\r\n jwt: string,\r\n {\r\n page = 10,\r\n limit = 10,\r\n sort = 'desc',\r\n search,\r\n category,\r\n }: PaginatedServiceRequest,\r\n ): Promise<PaginatedTotal<ServiceFullDetail[]>> {\r\n const response = await this.client.get({\r\n url: '/services/all',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n category,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<ServiceFullDetail[]>;\r\n }\r\n\r\n async getSummary(jwt: string): Promise<DataResponse<ServicesSummary>> {\r\n const response = await this.client.get({\r\n url: '/services/summary',\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ServicesSummary>;\r\n }\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 PaginatedEquipmentRequest,\r\n PaginatedTotal,\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(\r\n jwt: string,\r\n {\r\n page = 10,\r\n limit = 10,\r\n sort = 'desc',\r\n search,\r\n category,\r\n }: PaginatedEquipmentRequest,\r\n ): Promise<PaginatedTotal<Equipment[]>> {\r\n const response = await this.client.get({\r\n url: '/equipment-types',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n category,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<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<BranchEquipmentInventory[]>> {\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<BranchEquipmentInventory[]>;\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: equipmentData,\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","import type {\n BranchClassInfo,\n CreateClassPayload,\n DataResponse,\n UpdateClassPayload,\n} from '@/types';\nimport { Client } from '../client';\n\nexport class ScheduleService {\n private client: Client;\n\n constructor(client: Client) {\n this.client = client;\n this.ListBranchesClass = this.ListBranchesClass.bind(this);\n this.CreateClass = this.CreateClass.bind(this);\n this.UpdateClass = this.UpdateClass.bind(this);\n this.DeleteClass = this.DeleteClass.bind(this);\n this.GetClassByID = this.GetClassByID.bind(this);\n }\n\n async ListBranchesClass(\n branchID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo[]>> {\n const response = await this.client.get({\n url: `/branches/${branchID}/schedule`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo[]>;\n }\n async CreateClass(\n branchID: string,\n data: CreateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.post({\n url: `/branches/${branchID}/schedule`,\n jwt,\n data,\n });\n }\n\n async GetClassByID(\n classID: string,\n jwt: string,\n ): Promise<DataResponse<BranchClassInfo>> {\n const response = await this.client.get({\n url: `/schedule/${classID}`,\n jwt,\n });\n return response as unknown as DataResponse<BranchClassInfo>;\n }\n\n async UpdateClass(\n classID: string,\n data: UpdateClassPayload,\n jwt: string,\n ): Promise<void> {\n await this.client.put({\n url: `/schedule/${classID}`,\n jwt,\n data,\n });\n }\n async DeleteClass(classID: string, jwt: string): Promise<void> {\n await this.client.delete({\n url: `/schedule/${classID}`,\n jwt,\n });\n }\n}\n","import type {\r\n CreatePackagePayload,\r\n DataResponse,\r\n PackageDetail,\r\n PackageListItem,\r\n PaginatedTotal,\r\n PaginationRequest,\r\n UpdatePackagePayload,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class PackagesService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createPackage = this.createPackage.bind(this);\r\n this.getPackages = this.getPackages.bind(this);\r\n this.getPackageByID = this.getPackageByID.bind(this);\r\n this.updatePackage = this.updatePackage.bind(this);\r\n this.deletePackage = this.deletePackage.bind(this);\r\n }\r\n\r\n async createPackage(data: CreatePackagePayload, jwt: string): Promise<void> {\r\n await this.client.post({\r\n url: '/packages',\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async getPackages(\r\n jwt: string,\r\n { page = 10, limit = 10, sort = 'desc', search }: PaginationRequest,\r\n ): Promise<PaginatedTotal<PackageListItem[]>> {\r\n const response = await this.client.get({\r\n url: '/packages',\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<PackageListItem[]>;\r\n }\r\n\r\n async getPackageByID(\r\n packageId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<PackageDetail>> {\r\n const response = await this.client.get({\r\n url: `/packages/${packageId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PackageDetail>;\r\n }\r\n\r\n async updatePackage(\r\n packageId: string,\r\n data: UpdatePackagePayload,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.put({\r\n url: `/packages/${packageId}`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async deletePackage(packageId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/packages/${packageId}`,\r\n jwt,\r\n });\r\n }\r\n}\r\n","import type {\r\n AddPaymentToInvoicePayload,\r\n AddPaymentToInvoiceResponse,\r\n ClientInvoice,\r\n CreateInvoicePayload,\r\n CreateInvoiceResponse,\r\n DataResponse,\r\n InvoiceDetail,\r\n PaginatedTotal,\r\n PaginationRequest,\r\n PaymentDetail,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class BillingService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.createInvoice = this.createInvoice.bind(this);\r\n this.AddPaymentToInvoice = this.AddPaymentToInvoice.bind(this);\r\n this.getInvoiceByID = this.getInvoiceByID.bind(this);\r\n this.getPaymentByID = this.getPaymentByID.bind(this);\r\n this.updatePaymentStatus = this.updatePaymentStatus.bind(this);\r\n this.getClientInvoices = this.getClientInvoices.bind(this);\r\n }\r\n async createInvoice(\r\n data: CreateInvoicePayload,\r\n jwt: string,\r\n ): Promise<CreateInvoiceResponse> {\r\n const response = await this.client.post({\r\n url: '/billing/invoices',\r\n jwt,\r\n data,\r\n });\r\n return response as unknown as CreateInvoiceResponse;\r\n }\r\n async getInvoiceByID(\r\n invoiceId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<InvoiceDetail>> {\r\n const response = await this.client.get({\r\n url: `/billing/invoices/${invoiceId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<InvoiceDetail>;\r\n }\r\n\r\n async AddPaymentToInvoice(\r\n data: AddPaymentToInvoicePayload,\r\n jwt: string,\r\n ): Promise<AddPaymentToInvoiceResponse> {\r\n const response = await this.client.post({\r\n url: '/billing/invoices/payment',\r\n jwt,\r\n data,\r\n });\r\n return response as unknown as AddPaymentToInvoiceResponse;\r\n }\r\n\r\n async getPaymentByID(\r\n paymentId: string,\r\n jwt: string,\r\n ): Promise<DataResponse<PaymentDetail>> {\r\n const response = await this.client.get({\r\n url: `/billing/payments/${paymentId}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<PaymentDetail>;\r\n }\r\n async updatePaymentStatus(\r\n paymentId: string,\r\n status: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.patch({\r\n url: `/billing/payments/${paymentId}/status`,\r\n jwt,\r\n data: {\r\n status: status,\r\n },\r\n });\r\n }\r\n async getClientInvoices(\r\n jwt: string,\r\n { page = 1, limit = 10, sort = 'desc', search }: PaginationRequest,\r\n userID?: string,\r\n ): Promise<PaginatedTotal<ClientInvoice>> {\r\n const response = await this.client.get({\r\n url: `/billing/invoices/client/${userID}`,\r\n jwt,\r\n params: {\r\n page,\r\n limit,\r\n sort,\r\n search,\r\n },\r\n });\r\n return response as unknown as PaginatedTotal<ClientInvoice>;\r\n }\r\n}\r\n","import type {\r\n BookClassRequest,\r\n BranchScheduleResponse,\r\n ClientBookingResponse,\r\n DataResponse,\r\n} from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class BookingService {\r\n private client: Client;\r\n\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.bookClass = this.bookClass.bind(this);\r\n this.cancelBooking = this.cancelBooking.bind(this);\r\n this.getClientBooking = this.getClientBooking.bind(this);\r\n this.getClientBranchBooking = this.getClientBranchBooking.bind(this);\r\n }\r\n\r\n async bookClass(\r\n data: BookClassRequest,\r\n classID: string,\r\n jwt: string,\r\n ): Promise<void> {\r\n await this.client.post({\r\n url: `/bookings/${classID}/book`,\r\n jwt,\r\n data,\r\n });\r\n }\r\n\r\n async cancelBooking(bookingId: string, jwt: string): Promise<void> {\r\n await this.client.delete({\r\n url: `/booking/${bookingId}/cancel`,\r\n jwt,\r\n });\r\n }\r\n\r\n async getClientBooking(\r\n userID: string,\r\n jwt: string,\r\n ): Promise<DataResponse<ClientBookingResponse[]>> {\r\n const response = await this.client.get({\r\n url: `/bookings/client/${userID}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<ClientBookingResponse[]>;\r\n }\r\n\r\n async getClientBranchBooking(\r\n branchID: string,\r\n userID: string,\r\n jwt: string,\r\n ): Promise<DataResponse<BranchScheduleResponse[]>> {\r\n const response = await this.client.get({\r\n url: `/schedule/branch/${branchID}/client/${userID}`,\r\n jwt,\r\n });\r\n return response as unknown as DataResponse<BranchScheduleResponse[]>;\r\n }\r\n}\r\n","import type { CheckIn, CheckInResponse } from '@/types';\r\nimport { Client } from '../client';\r\n\r\nexport class AccessService {\r\n private client: Client;\r\n constructor(client: Client) {\r\n this.client = client;\r\n this.checkIn = this.checkIn.bind(this);\r\n }\r\n async checkIn(jwt: string, data: CheckIn): Promise<CheckInResponse> {\r\n const response = await this.client.post({\r\n url: '/access/check-in',\r\n jwt,\r\n data,\r\n });\r\n return response as unknown as CheckInResponse;\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\r\nexport type Oauth = {\r\n session_token: string;\r\n};\r\n","export const mainCurrencies = [\r\n // --- Monedas G10 (Más negociadas) ---\r\n {\r\n code: 'USD',\r\n name: 'Dólar Estadounidense',\r\n symbol: '$',\r\n },\r\n {\r\n code: 'EUR',\r\n name: 'Euro',\r\n symbol: '€',\r\n },\r\n {\r\n code: 'JPY',\r\n name: 'Yen Japonés',\r\n symbol: '¥',\r\n },\r\n {\r\n code: 'GBP',\r\n name: 'Libra Esterlina',\r\n symbol: '£',\r\n },\r\n {\r\n code: 'AUD',\r\n name: 'Dólar Australiano',\r\n symbol: 'A$',\r\n },\r\n {\r\n code: 'CAD',\r\n name: 'Dólar Canadiense',\r\n symbol: 'C$',\r\n },\r\n {\r\n code: 'CHF',\r\n name: 'Franco Suizo',\r\n symbol: 'Fr',\r\n },\r\n {\r\n code: 'CNY',\r\n name: 'Yuan Chino',\r\n symbol: '¥',\r\n },\r\n\r\n // --- Monedas Relevantes (Latinoamérica) ---\r\n {\r\n code: 'VES',\r\n name: 'Bolívar Soberano',\r\n symbol: 'Bs.',\r\n },\r\n {\r\n code: 'BRL',\r\n name: 'Real Brasileño',\r\n symbol: 'R$',\r\n },\r\n {\r\n code: 'MXN',\r\n name: 'Peso Mexicano',\r\n symbol: '$',\r\n },\r\n {\r\n code: 'ARS',\r\n name: 'Peso Argentino',\r\n symbol: '$',\r\n },\r\n {\r\n code: 'COP',\r\n name: 'Peso Colombiano',\r\n symbol: '$',\r\n },\r\n {\r\n code: 'CLP',\r\n name: 'Peso Chileno',\r\n symbol: '$',\r\n },\r\n {\r\n code: 'PEN',\r\n name: 'Sol Peruano',\r\n symbol: 'S/',\r\n },\r\n\r\n // --- Otras monedas importantes ---\r\n {\r\n code: 'INR',\r\n name: 'Rupia India',\r\n symbol: '₹',\r\n },\r\n {\r\n code: 'RUB',\r\n name: 'Rublo Ruso',\r\n symbol: '₽',\r\n },\r\n];\r\n\r\nexport type ClientInvoice = {\r\n invoice_id: string;\r\n branch_id: string;\r\n issue_date: string;\r\n total_amount: string;\r\n status: string;\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA0C;;;ACAnC,IAAM,WAAW;AACjB,IAAM,UAAU;;;ACDhB,IAAM,WAAN,cAAuB,MAAM;AAAA,EAClC;AAAA,EACA;AAAA,EACA,YAAY,UAAoB,QAAgB;AAC9C,UAAM,SAAS,KAAK,IAAI,CAAC;AACzB,SAAK,SAAS;AACd,SAAK,WAAW;AAAA,EAClB;AACF;AAEO,IAAM,aAAa,CAAC,UAAsC;AAC/D,SAAO,iBAAiB;AAC1B;;;AFAO,IAAM,SAAN,MAAa;AAAA,EACV;AAAA,EACR;AAAA,EAEA,YAAY,WAAoB,QAAiB;AAC/C,QAAI,UAAkC;AAAA,MACpC,gBAAgB;AAAA,IAClB;AACA,QAAI,QAAQ;AACV,cAAQ,QAAQ,IAAI;AAAA,IACtB;AACA,SAAK,SAAS,aAAAA,QAAM,OAAO;AAAA,MACzB,SAAS,YAAY,UAAU;AAAA,MAC/B;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,KAAK,QAAgB,QAAyC;AAClE,QAAI,OAAO,KAAK;AACd,WAAK,OAAO,aAAa,QAAQ,IAAI,CAAC,gBAAgB;AACpD,YAAI,YAAY,SAAS;AACvB,sBAAY,QAAQ,eAAe,IAAI,UAAU,OAAO,GAAG;AAAA,QAC7D;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AACA,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,OAAO,QAAQ;AAAA,QACzC;AAAA,QACA,KAAK,OAAO;AAAA,QACZ,MAAM,OAAO;AAAA,QACb,QAAQ,OAAO;AAAA,MACjB,CAAC;AACD,WAAK,OAAO,aAAa,QAAQ,MAAM;AACvC,aAAO,SAAS;AAAA,IAElB,SAAS,OAAgB;AACvB,UAAI,aAAAA,QAAM,aAAa,KAAK,GAAG;AAC7B,cAAM,eAAe,MAAM,UAAU,MAAM;AAC3C,YAAI,OAAO,iBAAiB,UAAU;AACpC,gBAAM,IAAI,SAAS,CAAC,YAAY,GAAG,MAAM,UAAU,UAAU,GAAG;AAAA,QAClE;AACA,cAAM,IAAI;AAAA,UACR,CAAC,gCAA6B;AAAA,UAC9B,MAAM,UAAU,UAAU;AAAA,QAC5B;AAAA,MACF;AACA,YAAM,IAAI,MAAM,KAAe;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,IAAI,QAAoC;AAC5C,UAAM,cAAc,OAAO,UAAU,UAAU,OAAO;AAEtD,QAAI,aAAa;AACf,YAAM,WAAY,MAAM,KAAK;AAAA,QAC3B;AAAA,QACA;AAAA,MACF;AAEA,YAAM,UAAU,KAAK,OAAO,SAAS,WAAW;AAEhD,UAAI,SAAS,MAAM;AACjB,iBAAS,OAAO,GAAG,OAAO,GAAG,SAAS,IAAI;AAAA,MAC5C;AACA,UAAI,SAAS,UAAU;AACrB,iBAAS,WAAW,GAAG,OAAO,GAAG,SAAS,QAAQ;AAAA,MACpD;AAEA,aAAO;AAAA,IACT,OAAO;AACL,YAAM,OAAO,MAAM,KAAK,KAAK,OAAO,MAAM;AAC1C,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,KAAK,QAAsB;AAC/B,UAAM,OAAO,MAAM,KAAK,KAAK,QAAQ,MAAM;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,IAAI,QAAsB;AAC9B,UAAM,OAAO,MAAM,KAAK,KAAK,OAAO,MAAM;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAM,QAAsB;AAChC,UAAM,OAAO,MAAM,KAAK,KAAK,SAAS,MAAM;AAC5C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,QAAsB;AACjC,UAAM,OAAO,MAAM,KAAK,KAAK,UAAU,MAAM;AAC7C,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,KAAa;AAClB,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,YAAY;AACV,SAAK,MAAM;AAAA,EACb;AACF;;;AG3GO,IAAM,cAAN,MAAkB;AAAA,EACf;AAAA,EACR,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,QAAQ,KAAK,MAAM,KAAK,IAAI;AACjC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAC3D,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAE3C,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AAAA,EACvC;AAAA,EAEA,MAAM,MAAM;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAyC;AACvC,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,KAAK;AAAA,MACL,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,SAAe;AACb,SAAK,OAAO,UAAU;AAAA,EACxB;AAAA,EAEA,QAAQ,KAAmB;AACzB,SAAK,OAAO,OAAO,GAAG;AAAA,EACxB;AAAA,EAEA,MAAM,OAAO,YAA0C;AACrD,UAAM,iBAAiB;AACvB,QAAI,CAAC,eAAe,KAAK,WAAW,UAAU,GAAG;AAC/C,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AACA,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YAAY,YAA0C;AAC1D,UAAM,iBAAiB;AACvB,QAAI,CAAC,eAAe,KAAK,WAAW,UAAU,GAAG;AAC/C,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AACA,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EACA,MAAM,eAAe,OAA8B;AACjD,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cACJ,KACA,UACA,gBACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,MAAM;AAAA,QACJ,OAAO;AAAA,QACP;AAAA,QACA,kBAAkB;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,mBAAmB,OAA8B;AACrD,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,2BAA2B,KAAK;AAAA,IACvC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YAAY,KAA4B;AAC5C,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK;AAAA,MACL,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YACJ,OACA,UACA,gBACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,kBAAkB,KAAK;AAAA,MAC5B,MAAM;AAAA,QACJ;AAAA,QACA,kBAAkB;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,WAAW,MAAqC;AACpD,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ACvHO,IAAM,cAAN,MAAkB;AAAA,EACvB;AAAA,EACA,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AACrD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AAErC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AACrD,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAAA,EAC7C;AAAA,EAEA,MAAM,cACJ,EAAE,QAAQ,KAAK,GACf,KAC+B;AAC/B,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,KAAuC;AAClD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,gBAAgB,KAA4C;AAChE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,eACJ,KACA,UAAiC,CAAC,GACH;AAC/B,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,IACV,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YACJ,QACA,KACwC;AACxC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,SAAS,MAAM;AAAA,MACpB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,QACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,gBACJ,QACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,WAAW,QAAgB,KAA4B;AAC3D,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,SAAS,MAAM;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,eACJ,OACA,KAC6B;AAC7B,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,QAAQ,KAA+B;AAC3C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;AC7HO,IAAM,gBAAN,MAAoB;AAAA,EACjB;AAAA,EAER,YAAY,QAAa;AACvB,SAAK,SAAS;AACd,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAC/C,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAAA,EACjD;AAAA,EAEA,MAAM,aACJ,UACA,YACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,UAAkB,KAAqC;AACzE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YACJ,EAAE,OAAO,GAAG,QAAQ,IAAI,QAAQ,QAAQ,SAAS,GACjD,KACwC;AACxC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,UAAkB,KAA4B;AACzD,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,qBACJ,KAC0C;AAC1C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,aACJ,YACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AACF;;;AC9EO,IAAM,uBAAN,MAA2B;AAAA,EACxB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AACzD,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAC7D,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAC7D,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAE7D,SAAK,yBAAyB,KAAK,uBAAuB,KAAK,IAAI;AACnE,SAAK,4BAA4B,KAAK,0BAA0B,KAAK,IAAI;AACzE,SAAK,0BAA0B,KAAK,wBAAwB,KAAK,IAAI;AACrE,SAAK,6BACH,KAAK,2BAA2B,KAAK,IAAI;AAC3C,SAAK,4BAA4B,KAAK,0BAA0B,KAAK,IAAI;AAAA,EAC3E;AAAA,EAEA,MAAM,kBAAkB,KAAqD;AAC3E,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,oBACJ,mBACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,qBACJ,iBACA,KACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,4BAA4B,eAAe;AAAA,MAChD;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,oBACJ,iBACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,4BAA4B,eAAe;AAAA,MAChD;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,iBACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,4BAA4B,eAAe;AAAA,MAChD;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,uBACJ,UACA,iBACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA,MAAM;AAAA,QACJ,WAAW;AAAA,MACb;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,wBACJ,UACA,KACkD;AAClD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,2BACJ,UACA,iBACA,KACgD;AAChD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ,oBAAoB,eAAe;AAAA,MAC7D;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,0BACJ,UACA,iBACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,QAAQ,oBAAoB,eAAe;AAAA,MAC7D;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,0BACJ,UACA,iBACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,aAAa,QAAQ,oBAAoB,eAAe;AAAA,MAC7D;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC9HO,IAAM,oBAAN,MAAwB;AAAA,EACrB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AACzD,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAC/C,SAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AAErD,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAC7D,SAAK,yBAAyB,KAAK,uBAAuB,KAAK,IAAI;AACnE,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAAA,EACjE;AAAA,EAEA,MAAM,eACJ,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,aAAa,GAC9C,KAC+C;AAC/C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,KAAwD;AACvE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,gBACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,kBACJ,cACA,KACuC;AACvC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,eAAe,YAAY;AAAA,MAChC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,cACA,gBACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,eAAe,YAAY;AAAA,MAChC;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,iBAAiB,cAAsB,KAA4B;AACvE,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,eAAe,YAAY;AAAA,MAChC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,aACJ,cACA,WACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,eAAe,YAAY;AAAA,MAChC;AAAA,MACA,MAAM;AAAA,QACJ,aAAa;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,gBACJ,cACA,aACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,eAAe,YAAY,cAAc,WAAW;AAAA,MACzD;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,UACA,eACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA,MAAM;AAAA,QACJ,YAAY;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,uBACJ,UACA,cACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,QAAQ,eAAe,YAAY;AAAA,MACrD;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,qBACJ,UACA,EAAE,QAAQ,aAAa,GACvB,KAC+C;AAC/C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ACxJO,IAAM,cAAN,MAAkB;AAAA,EACf;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AACvC,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AAAA,EACzD;AAAA,EAEA,MAAM,eAAe,KAAkD;AACrE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SACJ,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,OAAO,OAAO,GAC/C,KACyC;AACzC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,UAAsB,KAA4B;AACjE,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,WACJ,QACA,UACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,gBAAgB,MAAM;AAAA,MAC3B;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YACJ,QACA,KACqC;AACrC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,gBAAgB,MAAM;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,QAAgB,KAA4B;AAC3D,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,gBAAgB,MAAM;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,cACJ,QACA,gBACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,gBAAgB,MAAM;AAAA,MAC3B;AAAA,MACA,MAAM;AAAA,QACJ,aAAa;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,iBACJ,QACA,gBACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,gBAAgB,MAAM;AAAA,MAC3B;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AACF;;;AC1GO,IAAM,mBAAN,MAAuB;AAAA,EACpB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAC/C,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAAA,EACjD;AAAA,EAEA,MAAM,cAAc,YAA0B,KAA4B;AACxE,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,UAAU,KAA8C;AAC5D,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,UACA,KAC+B;AAC/B,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,sBAAsB,QAAQ;AAAA,MACnC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,aACJ,UACA,YACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,sBAAsB,QAAQ;AAAA,MACnC;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,aAAa,UAAkB,KAA4B;AAC/D,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,sBAAsB,QAAQ;AAAA,MACnC;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC9CO,IAAM,oBAAN,MAAwB;AAAA,EACrB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAC3D,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI;AACjE,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAE/D,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,0BAA0B,KAAK,wBAAwB,KAAK,IAAI;AACrE,SAAK,yBAAyB,KAAK,uBAAuB,KAAK,IAAI;AAAA,EACrE;AAAA,EAEA,MAAM,qBACJ,MACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,mBACJ,KACA,EAAE,OAAO,IAAI,QAAQ,IAAI,OAAO,QAAQ,OAAO,GACJ;AAC3C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,KAAwD;AACvE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,sBACJ,kBACA,KACuC;AACvC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,qBAAqB,gBAAgB;AAAA,MAC1C;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,qBACJ,kBACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,qBAAqB,gBAAgB;AAAA,MAC1C;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,qBACJ,kBACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,qBAAqB,gBAAgB;AAAA,MAC1C;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,qBACJ,KACA,EAAE,OAAO,IAAI,QAAQ,IAAI,OAAO,QAAQ,OAAO,GAC/C,UACqD;AACrD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,qBACJ,KACA,EAAE,OAAO,IAAI,QAAQ,IAAI,OAAO,QAAQ,OAAO,GACA;AAC/C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,wBACJ,cACA,KAC+C;AAC/C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,uBAAuB,YAAY;AAAA,MACxC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,uBACJ,cACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,uBAAuB,YAAY;AAAA,MACxC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACrJO,IAAM,gBAAN,MAAoB;AAAA,EACjB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAC/C,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC3D;AAAA,EAEA,MAAM,aAAa,KAAkD;AACnE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EACA,MAAM,YAAY;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,GAA0E;AACxE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR;AAAA,EACF,GAAyE;AACvE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,kBACJ;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,GACA,UAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,oBAAoB,QAAQ;AAAA,MACjC,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ACpFO,IAAM,kBAAN,MAAsB;AAAA,EACnB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AAEjD,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAC7D,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AACzD,SAAK,uBAAuB,KAAK,qBAAqB,KAAK,IAAI;AAC/D,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAAA,EAC/D;AAAA,EACA,MAAM,cAAc,MAAqB,KAA4B;AACnE,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YACJ,KACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACF,GAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,KAAqD;AACpE,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,eACJ,WACA,KAC0C;AAC1C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,SAAS;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,WACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,aAAa,SAAS;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,cAAc,WAAmB,KAA4B;AACjE,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,SAAS;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,cACJ,KAC8C;AAC9C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,mBACA,UACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA,MAAM;AAAA,QACJ,UAAU;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,kBACJ,UACA,KAC6C;AAC7C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,qBACJ,UACA,KACA,WAC2C;AAC3C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ,aAAa,SAAS;AAAA,MAChD;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,oBACJ,UACA,WACA,mBACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,aAAa,QAAQ,aAAa,SAAS;AAAA,MAChD;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBACJ,UACA,WACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,QAAQ,aAAa,SAAS;AAAA,MAChD;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC9JO,IAAM,mBAAN,MAAuB;AAAA,EACpB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAC/C,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AACrD,SAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AACrD,SAAK,kBAAkB,KAAK,gBAAgB,KAAK,IAAI;AAErD,SAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAC3D,SAAK,yBAAyB,KAAK,uBAAuB,KAAK,IAAI;AACnE,SAAK,qBAAqB,KAAK,mBAAmB,KAAK,IAAI;AAC3D,SAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI;AACjE,SAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI;AAAA,EACnE;AAAA,EAEA,MAAM,aACJ,KACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACF,GACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,iBACJ,aACA,KACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,oBAAoB,WAAW;AAAA,MACpC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,uBACJ,UACA,aACA,KACiD;AACjD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ,cAAc,WAAW;AAAA,MACnD;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,MAAuB,KAA4B;AACvE,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,gBACJ,aACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,oBAAoB,WAAW;AAAA,MACpC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,gBAAgB,aAAqB,KAA4B;AACrE,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,oBAAoB,WAAW;AAAA,MACpC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,mBACJ,UACA,KACmD;AACnD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,mBACJ,UACA,eACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,sBACJ,UACA,aACA,KACe;AACf,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,QAAQ,cAAc,WAAW;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,sBACJ,UACA,aACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,MAAM;AAAA,MACtB,KAAK,aAAa,QAAQ,cAAc,WAAW;AAAA,MACnD;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC/IO,IAAM,kBAAN,MAAsB;AAAA,EACnB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AACzD,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,eAAe,KAAK,aAAa,KAAK,IAAI;AAAA,EACjD;AAAA,EAEA,MAAM,kBACJ,UACA,KAC0C;AAC1C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,YACJ,UACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,aAAa,QAAQ;AAAA,MAC1B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,aACJ,SACA,KACwC;AACxC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,OAAO;AAAA,MACzB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YACJ,SACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,aAAa,OAAO;AAAA,MACzB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,YAAY,SAAiB,KAA4B;AAC7D,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,OAAO;AAAA,MACzB;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC3DO,IAAM,kBAAN,MAAsB;AAAA,EACnB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AAAA,EACnD;AAAA,EAEA,MAAM,cAAc,MAA4B,KAA4B;AAC1E,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YACJ,KACA,EAAE,OAAO,IAAI,QAAQ,IAAI,OAAO,QAAQ,OAAO,GACH;AAC5C,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,eACJ,WACA,KACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,aAAa,SAAS;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,cACJ,WACA,MACA,KACe;AACf,UAAM,KAAK,OAAO,IAAI;AAAA,MACpB,KAAK,aAAa,SAAS;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,WAAmB,KAA4B;AACjE,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,aAAa,SAAS;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC/DO,IAAM,iBAAN,MAAqB;AAAA,EAClB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAC7D,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AACnD,SAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI;AAC7D,SAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC3D;AAAA,EACA,MAAM,cACJ,MACA,KACgC;AAChC,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,eACJ,WACA,KACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,qBAAqB,SAAS;AAAA,MACnC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,oBACJ,MACA,KACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,eACJ,WACA,KACsC;AACtC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,qBAAqB,SAAS;AAAA,MACnC;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,oBACJ,WACA,QACA,KACe;AACf,UAAM,KAAK,OAAO,MAAM;AAAA,MACtB,KAAK,qBAAqB,SAAS;AAAA,MACnC;AAAA,MACA,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,kBACJ,KACA,EAAE,OAAO,GAAG,QAAQ,IAAI,OAAO,QAAQ,OAAO,GAC9C,QACwC;AACxC,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,4BAA4B,MAAM;AAAA,MACvC;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;AC5FO,IAAM,iBAAN,MAAqB;AAAA,EAClB;AAAA,EAER,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,yBAAyB,KAAK,uBAAuB,KAAK,IAAI;AAAA,EACrE;AAAA,EAEA,MAAM,UACJ,MACA,SACA,KACe;AACf,UAAM,KAAK,OAAO,KAAK;AAAA,MACrB,KAAK,aAAa,OAAO;AAAA,MACzB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,WAAmB,KAA4B;AACjE,UAAM,KAAK,OAAO,OAAO;AAAA,MACvB,KAAK,YAAY,SAAS;AAAA,MAC1B;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,iBACJ,QACA,KACgD;AAChD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,oBAAoB,MAAM;AAAA,MAC/B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,uBACJ,UACA,QACA,KACiD;AACjD,UAAM,WAAW,MAAM,KAAK,OAAO,IAAI;AAAA,MACrC,KAAK,oBAAoB,QAAQ,WAAW,MAAM;AAAA,MAClD;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ACzDO,IAAM,gBAAN,MAAoB;AAAA,EACjB;AAAA,EACR,YAAY,QAAgB;AAC1B,SAAK,SAAS;AACd,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AAAA,EACvC;AAAA,EACA,MAAM,QAAQ,KAAa,MAAyC;AAClE,UAAM,WAAW,MAAM,KAAK,OAAO,KAAK;AAAA,MACtC,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AACF;;;ACjBO,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,oBAAiB;AAHP,SAAAA;AAAA,GAAA;;;ACAL,IAAM,iBAAiB;AAAA;AAAA,EAE5B;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA;AAAA,EAGA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA;AAAA,EAGA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;ArBvEO,IAAM,WAAN,MAAM,UAAS;AAAA,EACpB,OAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAoB,QAAiB;AAC/C,SAAK,SAAS,IAAI,OAAO,WAAW,MAAM;AAC1C,SAAK,OAAO,IAAI,YAAY,KAAK,MAAM;AACvC,SAAK,OAAO,IAAI,YAAY,KAAK,MAAM;AACvC,SAAK,SAAS,IAAI,cAAc,KAAK,MAAM;AAC3C,SAAK,gBAAgB,IAAI,qBAAqB,KAAK,MAAM;AACzD,SAAK,aAAa,IAAI,kBAAkB,KAAK,MAAM;AACnD,SAAK,OAAO,IAAI,YAAY,KAAK,MAAM;AACvC,SAAK,YAAY,IAAI,iBAAiB,KAAK,MAAM;AACjD,SAAK,aAAa,IAAI,kBAAkB,KAAK,MAAM;AACnD,SAAK,SAAS,IAAI,cAAc,KAAK,MAAM;AAC3C,SAAK,WAAW,IAAI,gBAAgB,KAAK,MAAM;AAC/C,SAAK,YAAY,IAAI,iBAAiB,KAAK,MAAM;AACjD,SAAK,WAAW,IAAI,gBAAgB,KAAK,MAAM;AAC/C,SAAK,WAAW,IAAI,gBAAgB,KAAK,MAAM;AAC/C,SAAK,UAAU,IAAI,eAAe,KAAK,MAAM;AAC7C,SAAK,UAAU,IAAI,eAAe,KAAK,MAAM;AAC7C,SAAK,SAAS,IAAI,cAAc,KAAK,MAAM;AAAA,EAC7C;AAAA,EAEA,OAAO,YAAY,YAAY,OAAiB;AAC9C,QAAI,CAAC,UAAS,UAAU;AACtB,gBAAS,WAAW,IAAI,UAAS,SAAS;AAAA,IAC5C;AACA,WAAO,UAAS;AAAA,EAClB;AAAA,EAEA,UAAkB;AAChB,WAAO;AAAA,EACT;AACF;","names":["axios","UserGender"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -70,13 +70,14 @@ type SignUpRequest = {
|
|
|
70
70
|
profile_picture_url?: string | null;
|
|
71
71
|
role_name?: string | null;
|
|
72
72
|
};
|
|
73
|
+
type Oauth = {
|
|
74
|
+
session_token: string;
|
|
75
|
+
};
|
|
73
76
|
|
|
74
77
|
type ClientProfile = {
|
|
75
78
|
user_id: string;
|
|
76
79
|
qr_code: string;
|
|
77
80
|
scoring: number;
|
|
78
|
-
status: string;
|
|
79
|
-
block_justification: string;
|
|
80
81
|
category: string;
|
|
81
82
|
created_at: string;
|
|
82
83
|
updated_at: string;
|
|
@@ -89,6 +90,15 @@ type Role = {
|
|
|
89
90
|
created_at: string;
|
|
90
91
|
updated_at: string;
|
|
91
92
|
};
|
|
93
|
+
type ClientMembership = {
|
|
94
|
+
client_membership_id: string;
|
|
95
|
+
user_id: string;
|
|
96
|
+
membership_type_id: string;
|
|
97
|
+
start_date: string;
|
|
98
|
+
end_date: string;
|
|
99
|
+
status: string;
|
|
100
|
+
invoice_id: string;
|
|
101
|
+
};
|
|
92
102
|
type User = {
|
|
93
103
|
user_id: string;
|
|
94
104
|
first_name: string;
|
|
@@ -98,11 +108,14 @@ type User = {
|
|
|
98
108
|
identity_document: string;
|
|
99
109
|
birth_date: string;
|
|
100
110
|
gender: string;
|
|
111
|
+
status: string;
|
|
112
|
+
block_justification: string;
|
|
101
113
|
profile_picture_url: string;
|
|
102
114
|
is_validated: boolean;
|
|
103
115
|
ClientProfile: ClientProfile;
|
|
104
116
|
role_id: string;
|
|
105
117
|
role: Role;
|
|
118
|
+
client_membership?: ClientMembership;
|
|
106
119
|
created_at: string;
|
|
107
120
|
updated_at: string;
|
|
108
121
|
deleted_at: string | null;
|
|
@@ -143,6 +156,9 @@ type UserPaginationOptions = {
|
|
|
143
156
|
search?: string;
|
|
144
157
|
role?: string;
|
|
145
158
|
};
|
|
159
|
+
type QrToken = {
|
|
160
|
+
token: string;
|
|
161
|
+
};
|
|
146
162
|
|
|
147
163
|
type PaginatedBranch = {
|
|
148
164
|
branch_id: string;
|
|
@@ -417,6 +433,42 @@ type PublicMembershipResponse = {
|
|
|
417
433
|
ref_currency: string;
|
|
418
434
|
is_active: boolean;
|
|
419
435
|
};
|
|
436
|
+
type ClientMembershipUser = {
|
|
437
|
+
user_id: string;
|
|
438
|
+
first_name: string;
|
|
439
|
+
last_name: string;
|
|
440
|
+
email: string;
|
|
441
|
+
};
|
|
442
|
+
type MembershipTypeDetail = MembershipType & {
|
|
443
|
+
created_at: string;
|
|
444
|
+
updated_at: string;
|
|
445
|
+
};
|
|
446
|
+
type ClientMembershipItem = {
|
|
447
|
+
client_membership_id: string;
|
|
448
|
+
user_id: string;
|
|
449
|
+
membership_type_id: string;
|
|
450
|
+
start_date: string;
|
|
451
|
+
end_date: string;
|
|
452
|
+
status: string;
|
|
453
|
+
invoice_id: string;
|
|
454
|
+
cancellation_reason_id?: string;
|
|
455
|
+
cancellation_notes?: string;
|
|
456
|
+
user: ClientMembershipUser;
|
|
457
|
+
membership_type: MembershipTypeDetail;
|
|
458
|
+
};
|
|
459
|
+
type CancellationReason = {
|
|
460
|
+
reason_id: string;
|
|
461
|
+
description: string;
|
|
462
|
+
is_active: boolean;
|
|
463
|
+
};
|
|
464
|
+
type ClientMembershipDetail = ClientMembershipItem & {
|
|
465
|
+
cancellation_reason?: CancellationReason;
|
|
466
|
+
};
|
|
467
|
+
type UpdateClientMembershipRequest = {
|
|
468
|
+
status?: string;
|
|
469
|
+
cancel_notes?: string;
|
|
470
|
+
cancel_reason_id?: string;
|
|
471
|
+
};
|
|
420
472
|
|
|
421
473
|
type BranchInfo = {
|
|
422
474
|
address: string;
|
|
@@ -677,6 +729,13 @@ declare const mainCurrencies: {
|
|
|
677
729
|
name: string;
|
|
678
730
|
symbol: string;
|
|
679
731
|
}[];
|
|
732
|
+
type ClientInvoice = {
|
|
733
|
+
invoice_id: string;
|
|
734
|
+
branch_id: string;
|
|
735
|
+
issue_date: string;
|
|
736
|
+
total_amount: string;
|
|
737
|
+
status: string;
|
|
738
|
+
};
|
|
680
739
|
|
|
681
740
|
type ClientBookingResponse = {
|
|
682
741
|
booking_id: string;
|
|
@@ -783,6 +842,17 @@ type PaymentDetail = {
|
|
|
783
842
|
receipt_url: string;
|
|
784
843
|
};
|
|
785
844
|
|
|
845
|
+
type CheckIn = {
|
|
846
|
+
branch_id: string;
|
|
847
|
+
qr_jwt: string;
|
|
848
|
+
};
|
|
849
|
+
type CheckInResponse = {
|
|
850
|
+
access_type: string;
|
|
851
|
+
check_in_time: string;
|
|
852
|
+
message: string;
|
|
853
|
+
service_name: string;
|
|
854
|
+
};
|
|
855
|
+
|
|
786
856
|
declare class AuthService {
|
|
787
857
|
private client;
|
|
788
858
|
constructor(client: Client);
|
|
@@ -796,6 +866,7 @@ declare class AuthService {
|
|
|
796
866
|
validateResetToken(token: string): Promise<void>;
|
|
797
867
|
verifyEmail(otp: string): Promise<void>;
|
|
798
868
|
verifyStaff(token: string, password: string, repeatPassword: string): Promise<void>;
|
|
869
|
+
oAuthLogin(data: Oauth): Promise<LoginResponse>;
|
|
799
870
|
}
|
|
800
871
|
|
|
801
872
|
declare class UserService {
|
|
@@ -810,6 +881,7 @@ declare class UserService {
|
|
|
810
881
|
updateUserStaff(userId: string, data: UpdateUserStaffRequest, jwt: string): Promise<void>;
|
|
811
882
|
deleteUser(userId: string, jwt: string): Promise<void>;
|
|
812
883
|
getUserByEmail(email: string, jwt: string): Promise<DataResponse<User>>;
|
|
884
|
+
QrToken(jwt: string): Promise<QrToken>;
|
|
813
885
|
}
|
|
814
886
|
|
|
815
887
|
declare class BranchService {
|
|
@@ -887,6 +959,9 @@ declare class MembershipService {
|
|
|
887
959
|
updateMembershipType(membershipTypeId: string, data: UpdateMembershipType, jwt: string): Promise<void>;
|
|
888
960
|
deleteMembershipType(membershipTypeId: string, jwt: string): Promise<void>;
|
|
889
961
|
publicGetMemberships(jwt: string, { page, limit, sort, search }: PaginationRequest, currency: string): Promise<PaginatedTotal<PublicMembershipResponse[]>>;
|
|
962
|
+
getClientMemberships(jwt: string, { page, limit, sort, search }: PaginationRequest): Promise<PaginatedTotal<ClientMembershipItem>>;
|
|
963
|
+
getClientMembershipByID(membershipId: string, jwt: string): Promise<DataResponse<ClientMembershipDetail>>;
|
|
964
|
+
updateClientMembership(membershipId: string, data: UpdateClientMembershipRequest, jwt: string): Promise<void>;
|
|
890
965
|
}
|
|
891
966
|
|
|
892
967
|
declare class PublicService {
|
|
@@ -958,6 +1033,22 @@ declare class BillingService {
|
|
|
958
1033
|
AddPaymentToInvoice(data: AddPaymentToInvoicePayload, jwt: string): Promise<AddPaymentToInvoiceResponse>;
|
|
959
1034
|
getPaymentByID(paymentId: string, jwt: string): Promise<DataResponse<PaymentDetail>>;
|
|
960
1035
|
updatePaymentStatus(paymentId: string, status: string, jwt: string): Promise<void>;
|
|
1036
|
+
getClientInvoices(jwt: string, { page, limit, sort, search }: PaginationRequest, userID?: string): Promise<PaginatedTotal<ClientInvoice>>;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
declare class BookingService {
|
|
1040
|
+
private client;
|
|
1041
|
+
constructor(client: Client);
|
|
1042
|
+
bookClass(data: BookClassRequest, classID: string, jwt: string): Promise<void>;
|
|
1043
|
+
cancelBooking(bookingId: string, jwt: string): Promise<void>;
|
|
1044
|
+
getClientBooking(userID: string, jwt: string): Promise<DataResponse<ClientBookingResponse[]>>;
|
|
1045
|
+
getClientBranchBooking(branchID: string, userID: string, jwt: string): Promise<DataResponse<BranchScheduleResponse[]>>;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
declare class AccessService {
|
|
1049
|
+
private client;
|
|
1050
|
+
constructor(client: Client);
|
|
1051
|
+
checkIn(jwt: string, data: CheckIn): Promise<CheckInResponse>;
|
|
961
1052
|
}
|
|
962
1053
|
|
|
963
1054
|
declare class APIError extends Error {
|
|
@@ -984,9 +1075,11 @@ declare class VitalFit {
|
|
|
984
1075
|
schedule: ScheduleService;
|
|
985
1076
|
packages: PackagesService;
|
|
986
1077
|
billing: BillingService;
|
|
1078
|
+
booking: BookingService;
|
|
1079
|
+
access: AccessService;
|
|
987
1080
|
constructor(isDevMode: boolean, origin?: string);
|
|
988
1081
|
static getInstance(isDevMode?: boolean): VitalFit;
|
|
989
1082
|
version(): string;
|
|
990
1083
|
}
|
|
991
1084
|
|
|
992
|
-
export { APIError, type AddPaymentToInvoicePayload, type AddPaymentToInvoiceResponse, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BookClassRequest, type BranchClassInfo, type BranchDetails, type BranchEquipmentInventory, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentMethodInfo, type BranchPaymentVisibility, type BranchScheduleResponse, type BranchServicePrice, type BranchStatusCount, type ClientBookingResponse, type ClientProfile, type CreateBanner, type CreateBranchEquipment, type CreateBranchRequest, type CreateBranchServicePriceItem, type CreateClassPayload, type CreateEquipment, type CreateInvoiceItem, type CreateInvoicePayload, type CreateInvoiceResponse, type CreateMembershipType, type CreatePackagePayload, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, type EquipmentInfo, type EquipmentStatus, type GetUserResponse, type Instructor, type InstructorData, type InstructorDataList, type InstructorsSummary, type InvoiceDetail, type InvoiceItemDetail, type InvoicePaymentDetail, type LoginRequest, type LoginResponse, type MembershipType, type MembershipsSummary, type OperatingHour, type PackageDetail, type PackageItemDetail, type PackageItemInput, type PackageListItem, type PackagePublicItem, type PaginatedBranch, type PaginatedEquipmentRequest, type PaginatedInstructor, type PaginatedServiceRequest, type PaginatedTotal, type Pagination, type PaginationBranchRequest, type PaginationRequest, type PagoMovilConfig, type PaymentConfiguration, type PaymentDetail, type PaymentMethod, type PaymentMethodTypes, type Permission, type PublicMembershipResponse, type PublicPaginatedPackage, type PublicPaginationService, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type ServicePublicItem, type ServicesSummary, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchEquipmentDetails, type UpdateBranchPaymentMethod, type UpdateBranchRequest, type UpdateBranchServicePrice, type UpdateClassPayload, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdatePackagePayload, type UpdateServiceImageManual, type UpdateServiceManual, type UpdateUserRequest, type UpdateUserStaffRequest, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError, mainCurrencies };
|
|
1085
|
+
export { APIError, type AddPaymentToInvoicePayload, type AddPaymentToInvoiceResponse, type BankTransferConfig, type Banner, type BannerResponse, type BaseModel, type BookClassRequest, type BranchClassInfo, type BranchDetails, type BranchEquipmentInventory, type BranchInfo, type BranchInstructorInfo, type BranchPaymentMethod, type BranchPaymentMethodInfo, type BranchPaymentVisibility, type BranchScheduleResponse, type BranchServicePrice, type BranchStatusCount, type CancellationReason, type CheckIn, type CheckInResponse, type ClientBookingResponse, type ClientInvoice, type ClientMembership, type ClientMembershipDetail, type ClientMembershipItem, type ClientMembershipUser, type ClientProfile, type CreateBanner, type CreateBranchEquipment, type CreateBranchRequest, type CreateBranchServicePriceItem, type CreateClassPayload, type CreateEquipment, type CreateInvoiceItem, type CreateInvoicePayload, type CreateInvoiceResponse, type CreateMembershipType, type CreatePackagePayload, type CreatePaymentMethod, type CreateRole, type CreateService, type CreateServiceImage, type DataResponse, type Equipment, type EquipmentCategory, type EquipmentInfo, type EquipmentStatus, type GetUserResponse, type Instructor, type InstructorData, type InstructorDataList, type InstructorsSummary, type InvoiceDetail, type InvoiceItemDetail, type InvoicePaymentDetail, type LoginRequest, type LoginResponse, type MembershipType, type MembershipTypeDetail, type MembershipsSummary, type Oauth, type OperatingHour, type PackageDetail, type PackageItemDetail, type PackageItemInput, type PackageListItem, type PackagePublicItem, type PaginatedBranch, type PaginatedEquipmentRequest, type PaginatedInstructor, type PaginatedServiceRequest, type PaginatedTotal, type Pagination, type PaginationBranchRequest, type PaginationRequest, type PagoMovilConfig, type PaymentConfiguration, type PaymentDetail, type PaymentMethod, type PaymentMethodTypes, type Permission, type PublicMembershipResponse, type PublicPaginatedPackage, type PublicPaginationService, type QrToken, type Role, type RoleResponse, type ServiceCategoryInfo, type ServiceFullDetail, type ServiceImageResponse, type ServicePublicItem, type ServicesSummary, type SignUpRequest, type Specialty, type UUIDModel, type UpdateBanner, type UpdateBranchEquipmentDetails, type UpdateBranchPaymentMethod, type UpdateBranchRequest, type UpdateBranchServicePrice, type UpdateClassPayload, type UpdateClientMembershipRequest, type UpdateEquipment, type UpdateMembershipType, type UpdateOperatingHour, type UpdatePackagePayload, type UpdateServiceImageManual, type UpdateServiceManual, type UpdateUserRequest, type UpdateUserStaffRequest, type User, type UserApiResponse, UserGender, type UserPaginationOptions, VitalFit, type ZelleConfig, isAPIError, mainCurrencies };
|