Skip to main content

Documentation Index

Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt

Use this file to discover all available pages before exploring further.

Descripción

El módulo Profile gestiona el perfil del usuario, la foto de perfil, la configuración de notificaciones push y el registro de device tokens.
  • Ubicación: src/modules/profile/

Screens

ScreenRutaDescripción
ProfileScreen/(tabs)/05_profilePerfil de usuario, ajustes y cierre de sesión

API Endpoints

MétodoPathDescripción
GET/properties/minePropiedades del usuario (filtradas por rol COOWNER)
GET/users/available-stays/{propertyId}Estadías disponibles del usuario para una propiedad
POST/push-notifications/register-tokenRegistrar device token para notificaciones push
PUT/push-notifications/{deviceToken}Habilitar o deshabilitar notificaciones push
PUT/users/{id}Actualizar perfil del usuario (nombre, imagen)

Hooks

HookDescripción
useUserQueries()Queries de datos del usuario y sus propiedades
useProfilePictureUpload()Subida de foto de perfil utilizando uploadService
useNotifications()Gestión de configuración de notificaciones push (registro de token y permisos)
El servicio de notificaciones push (notificationsService) reside en este módulo en services/notificationsService.ts. Es diferente al módulo de notificaciones in-app. Ver Push Notifications para detalles de la integración.

Tipos principales

interface User {
  id: string;
  email: string;
  displayName: string;
  profileImage?: string;
  phone?: string;
}

Componentes destacados

ProfileInfo

Muestra la información del usuario: nombre, email y foto de perfil con opción de edición.

ProfileActions

Acciones disponibles en el perfil: editar datos, cerrar sesión y otras configuraciones.

NotificationsSwitcher

Toggle para habilitar o deshabilitar las notificaciones push del dispositivo.

LanguageSwitcher

Selector de idioma de la aplicación.

notificationsService

Servicio que centraliza la lógica de notificaciones push:
El método registerDeviceToken() envía el token del dispositivo al backend junto con la preferencia de aceptación de notificaciones. Se ejecuta durante el inicio de sesión o al habilitar notificaciones.
La API de profileApi filtra las propiedades del usuario para retornar solo aquellas con rol COOWNER. Los usuarios con rol GUEST o ADMIN no verán propiedades en este endpoint.