From 50e2334d4bfff63f85f96453e0a40129d877bde3 Mon Sep 17 00:00:00 2001 From: Lucas Galhardo Date: Fri, 7 Nov 2025 23:06:42 -0300 Subject: [PATCH 1/9] =?UTF-8?q?feat:=20Integra=C3=A7=C3=A3o=20das=20telas?= =?UTF-8?q?=20catalogo,=20aluguel,=20usu=C3=A1rio,=20propriedade=20e=20dis?= =?UTF-8?q?ponibilidade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mobile/lib/models/listing.dart | 75 +++ mobile/lib/models/property.dart | 22 +- mobile/lib/models/reservation.dart | 63 +++ mobile/lib/models/user_profile.dart | 68 +++ mobile/lib/models/user_session.dart | 8 + .../lib/screens/create_propriedade_page.dart | 140 ++++-- mobile/lib/screens/home_page.dart | 286 ++++++----- mobile/lib/screens/login_screen.dart | 58 ++- mobile/lib/screens/properties_screen.dart | 105 ++-- mobile/lib/screens/register_page.dart | 86 ++-- mobile/lib/screens/rent_screen.dart | 461 +++++++++--------- mobile/lib/screens/user_profile_screen.dart | 159 ++++-- mobile/lib/screens/workspace.dart | 249 ++++++---- mobile/lib/services/api_config.dart | 109 +++++ mobile/lib/services/workup_api.dart | 415 ++++++++++++++++ mobile/lib/utils/user_storage.dart | 281 ++--------- mobile/lib/widgets/models_listing.dart | 31 -- 17 files changed, 1699 insertions(+), 917 deletions(-) create mode 100644 mobile/lib/models/listing.dart create mode 100644 mobile/lib/models/reservation.dart create mode 100644 mobile/lib/models/user_profile.dart create mode 100644 mobile/lib/models/user_session.dart create mode 100644 mobile/lib/services/api_config.dart create mode 100644 mobile/lib/services/workup_api.dart delete mode 100644 mobile/lib/widgets/models_listing.dart diff --git a/mobile/lib/models/listing.dart b/mobile/lib/models/listing.dart new file mode 100644 index 00000000..84b45a71 --- /dev/null +++ b/mobile/lib/models/listing.dart @@ -0,0 +1,75 @@ +class Listing { + final String id; + final String name; + final String description; + final String address; + final List comodities; + final List pictures; + final double price; + final int capacity; + final String? doorSerial; + + const Listing({ + required this.id, + required this.name, + required this.description, + required this.address, + required this.comodities, + required this.pictures, + required this.price, + required this.capacity, + this.doorSerial, + }); + + factory Listing.fromJson(Map json) { + return Listing( + id: json['id']?.toString() ?? '', + name: json['name'] ?? '', + description: json['description'] ?? '', + address: json['address'] ?? '', + comodities: List.from(json['comodities'] ?? []), + pictures: List.from(json['pictures'] ?? []), + price: (json['price'] as num?)?.toDouble() ?? 0.0, + capacity: (json['capacity'] as num?)?.toInt() ?? 0, + doorSerial: json['doorSerial']?.toString(), + ); + } + + Map toJson() { + return { + 'id': id, + 'name': name, + 'description': description, + 'address': address, + 'comodities': comodities, + 'pictures': pictures, + 'price': price, + 'capacity': capacity, + 'doorSerial': doorSerial, + }; + } + + Listing copyWith({ + String? id, + String? name, + String? description, + String? address, + List? comodities, + List? pictures, + double? price, + int? capacity, + String? doorSerial, + }) { + return Listing( + id: id ?? this.id, + name: name ?? this.name, + description: description ?? this.description, + address: address ?? this.address, + comodities: comodities ?? this.comodities, + pictures: pictures ?? this.pictures, + price: price ?? this.price, + capacity: capacity ?? this.capacity, + doorSerial: doorSerial ?? this.doorSerial, + ); + } +} diff --git a/mobile/lib/models/property.dart b/mobile/lib/models/property.dart index b15d727b..d0f7d777 100644 --- a/mobile/lib/models/property.dart +++ b/mobile/lib/models/property.dart @@ -26,12 +26,26 @@ class Property { id: json['id']?.toString() ?? '', name: json['name'] ?? '', price: (json['price'] is num) ? (json['price'] as num).toDouble() : 0.0, - images: (json['images'] as List?)?.map((e) => e.toString()).toList() ?? [], + images: + (json['images'] as List?) + ?.map((e) => e.toString()) + .toList() ?? + [], address: json['address'] ?? '', description: json['description'] ?? '', - rating: json['rating'] != null ? (json['rating'] as num).toDouble() : null, - reviewCount: json['reviewCount'] is int ? json['reviewCount'] as int : (json['reviewCount'] is num ? (json['reviewCount'] as num).toInt() : null), - amenities: (json['amenities'] as List?)?.map((e) => e.toString()).toList() ?? [], + rating: json['rating'] != null + ? (json['rating'] as num).toDouble() + : null, + reviewCount: json['reviewCount'] is int + ? json['reviewCount'] as int + : (json['reviewCount'] is num + ? (json['reviewCount'] as num).toInt() + : null), + amenities: + (json['amenities'] as List?) + ?.map((e) => e.toString()) + .toList() ?? + [], ); } } diff --git a/mobile/lib/models/reservation.dart b/mobile/lib/models/reservation.dart new file mode 100644 index 00000000..24d470fc --- /dev/null +++ b/mobile/lib/models/reservation.dart @@ -0,0 +1,63 @@ +class Reservation { + final String id; + final String userId; + final String workspaceId; + final int startDate; + final int endDate; + final int people; + final double finalPrice; + final String status; + final String? doorCode; + final int createdAt; + final int updatedAt; + + const Reservation({ + required this.id, + required this.userId, + required this.workspaceId, + required this.startDate, + required this.endDate, + required this.people, + required this.finalPrice, + required this.status, + required this.createdAt, + required this.updatedAt, + this.doorCode, + }); + + factory Reservation.fromJson(Map json) { + return Reservation( + id: json['id']?.toString() ?? '', + userId: json['userId']?.toString() ?? '', + workspaceId: json['workspaceId']?.toString() ?? '', + startDate: (json['startDate'] as num?)?.toInt() ?? 0, + endDate: (json['endDate'] as num?)?.toInt() ?? 0, + people: (json['people'] as num?)?.toInt() ?? 0, + finalPrice: (json['finalPrice'] as num?)?.toDouble() ?? 0.0, + status: json['status']?.toString() ?? '', + doorCode: json['doorCode']?.toString(), + createdAt: (json['createdAt'] as num?)?.toInt() ?? 0, + updatedAt: (json['updatedAt'] as num?)?.toInt() ?? 0, + ); + } + + Map toJson() { + return { + 'id': id, + 'userId': userId, + 'workspaceId': workspaceId, + 'startDate': startDate, + 'endDate': endDate, + 'people': people, + 'finalPrice': finalPrice, + 'status': status, + 'doorCode': doorCode, + 'createdAt': createdAt, + 'updatedAt': updatedAt, + }; + } + + DateTime get startDateTime => DateTime.fromMillisecondsSinceEpoch(startDate); + + DateTime get endDateTime => DateTime.fromMillisecondsSinceEpoch(endDate); +} diff --git a/mobile/lib/models/user_profile.dart b/mobile/lib/models/user_profile.dart new file mode 100644 index 00000000..5839a92e --- /dev/null +++ b/mobile/lib/models/user_profile.dart @@ -0,0 +1,68 @@ +import 'package:intl/intl.dart'; + +class UserProfile { + final String id; + final String name; + final String email; + final String cpf; + final String phone; + final DateTime? birthDate; + + const UserProfile({ + required this.id, + required this.name, + required this.email, + required this.cpf, + required this.phone, + this.birthDate, + }); + + factory UserProfile.fromJson(Map json) { + DateTime? birthDate; + final rawBirth = json['birth']; + if (rawBirth is int) { + birthDate = DateTime.fromMillisecondsSinceEpoch(rawBirth); + } else if (rawBirth is String && rawBirth.isNotEmpty) { + final parsed = int.tryParse(rawBirth); + if (parsed != null) { + birthDate = DateTime.fromMillisecondsSinceEpoch(parsed); + } + } + + return UserProfile( + id: json['id']?.toString() ?? '', + name: json['name']?.toString() ?? '', + email: json['email']?.toString() ?? '', + cpf: json['cpf']?.toString() ?? '', + phone: json['phone']?.toString() ?? '', + birthDate: birthDate, + ); + } + + Map toJson() { + return { + 'id': id, + 'name': name, + 'email': email, + 'cpf': cpf, + 'phone': phone, + 'birth': birthDate?.millisecondsSinceEpoch, + }; + } + + UserProfile copyWith({String? name, String? phone, DateTime? birthDate}) { + return UserProfile( + id: id, + name: name ?? this.name, + email: email, + cpf: cpf, + phone: phone ?? this.phone, + birthDate: birthDate ?? this.birthDate, + ); + } + + String formattedBirth({String pattern = 'dd/MM/yyyy'}) { + if (birthDate == null) return ''; + return DateFormat(pattern).format(birthDate!); + } +} diff --git a/mobile/lib/models/user_session.dart b/mobile/lib/models/user_session.dart new file mode 100644 index 00000000..71e8ff0a --- /dev/null +++ b/mobile/lib/models/user_session.dart @@ -0,0 +1,8 @@ +import 'user_profile.dart'; + +class UserSession { + final String token; + final UserProfile profile; + + const UserSession({required this.token, required this.profile}); +} diff --git a/mobile/lib/screens/create_propriedade_page.dart b/mobile/lib/screens/create_propriedade_page.dart index 635e9b22..40d643e9 100644 --- a/mobile/lib/screens/create_propriedade_page.dart +++ b/mobile/lib/screens/create_propriedade_page.dart @@ -1,11 +1,13 @@ -import 'dart:io'; +import 'dart:typed_data'; import 'package:flutter/material.dart'; -import 'package:image_picker/image_picker.dart'; import 'package:flutter/services.dart'; -import '../widgets/commodities_selector.dart'; +import 'package:image_picker/image_picker.dart'; + +import '../services/workup_api.dart'; +import '../utils/user_storage.dart'; import '../widgets/alert_widget.dart'; +import '../widgets/commodities_selector.dart'; import '../widgets/side_bar.dart'; -import '../utils/user_storage.dart'; import 'properties_screen.dart'; class CreatePropriedadePage extends StatefulWidget { @@ -18,17 +20,19 @@ class CreatePropriedadePage extends StatefulWidget { class _CreatePropriedadePageState extends State { final _formKey = GlobalKey(); final _nameController = TextEditingController(); + final _descriptionController = TextEditingController(); final _priceController = TextEditingController(); final _addressController = TextEditingController(); final _capacityController = TextEditingController(); final _serialPortaController = TextEditingController(); List _comodidades = []; - final List _images = []; + final List<_SelectedImage> _images = []; bool _isSubmitting = false; String? _alertMessage; bool _isError = false; bool _sidebarActive = false; + final WorkupApi _api = WorkupApi(); final ImagePicker _picker = ImagePicker(); @@ -135,11 +139,16 @@ class _CreatePropriedadePageState extends State { Future _pickImages() async { try { - final List? picked = await _picker.pickMultiImage(); + final picked = await _picker.pickMultiImage(); if (picked != null && picked.isNotEmpty) { - setState(() { - _images.addAll(picked.map((x) => File(x.path)).toList()); - }); + final futures = picked.map((file) async { + final bytes = await file.readAsBytes(); + return _SelectedImage(file: file, bytes: bytes); + }).toList(); + final newImages = await Future.wait(futures); + if (mounted) { + setState(() => _images.addAll(newImages)); + } } } catch (e) { print('Erro ao selecionar imagens: $e'); @@ -156,11 +165,26 @@ class _CreatePropriedadePageState extends State { }); } + @override + void dispose() { + _nameController.dispose(); + _descriptionController.dispose(); + _priceController.dispose(); + _addressController.dispose(); + _capacityController.dispose(); + _serialPortaController.dispose(); + super.dispose(); + } + bool _validateForm() { if (_nameController.text.isEmpty) { _showAlert("Nome da sala é obrigatório", error: true); return false; } + if (_descriptionController.text.isEmpty) { + _showAlert("Descrição é obrigatória", error: true); + return false; + } if (_priceController.text.isEmpty || parseMoney(_priceController.text) <= 0) { _showAlert("Preço deve ser maior que zero", error: true); @@ -193,51 +217,48 @@ class _CreatePropriedadePageState extends State { setState(() => _isSubmitting = true); try { - await Future.delayed(const Duration(seconds: 1)); - - final imagePaths = _images.map((file) => file.path).toList(); - - final newProperty = { - 'id': DateTime.now().millisecondsSinceEpoch.toString(), - 'name': _nameController.text.trim(), - 'price': parseMoney(_priceController.text), - 'address': _addressController.text.trim(), - 'capacity': int.parse(_capacityController.text), - 'serialPorta': _serialPortaController.text.trim(), - 'comodities': _comodidades, - 'pictures': imagePaths, - 'createdAt': DateTime.now().toIso8601String(), - }; - - final success = UserStorage().addProperty(newProperty); - - if (success) { - setState(() { - _isSubmitting = false; - _alertMessage = "Sala criada com sucesso!"; - _isError = false; - }); - - // Aguarda um pouco para mostrar o alerta e então redireciona - // ALTERAÇÃO: Reduzido de 900ms para 600ms - await Future.delayed(const Duration(milliseconds: 600)); - - if (mounted) { - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (context) => const TelaPropriedadePage(), - ), - ); - } - } else { - throw Exception('Erro ao salvar propriedade'); + final userId = UserStorage().userId; + if (userId == null) { + _showAlert( + "Você precisa estar autenticado para cadastrar um espaço.", + error: true, + ); + return; } - } catch (e) { + + await _api.createCatalogo( + userId: userId, + name: _nameController.text.trim(), + description: _descriptionController.text.trim(), + address: _addressController.text.trim(), + comodities: _comodidades, + price: parseMoney(_priceController.text), + capacity: int.parse(_capacityController.text), + doorSerial: _serialPortaController.text.trim(), + pictures: _images.map((img) => img.file).toList(), + pictureBytes: _images.map((img) => img.bytes).toList(), + ); + + if (!mounted) return; setState(() { - _isSubmitting = false; + _alertMessage = "Sala criada com sucesso!"; + _isError = false; }); + + await Future.delayed(const Duration(milliseconds: 600)); + + if (mounted) { + Navigator.pushReplacement( + context, + MaterialPageRoute(builder: (context) => const TelaPropriedadePage()), + ); + } + } on ApiException catch (err) { + _showAlert(err.message, error: true); + } catch (e) { _showAlert("Erro ao criar sala: $e", error: true); + } finally { + if (mounted) setState(() => _isSubmitting = false); } } @@ -373,6 +394,14 @@ class _CreatePropriedadePageState extends State { ), const SizedBox(height: 16), + _buildTextField( + controller: _descriptionController, + labelText: "Descrição", + hintText: "Conte mais sobre o espaço", + keyboardType: TextInputType.multiline, + ), + const SizedBox(height: 16), + TextFormField( controller: _priceController, keyboardType: @@ -534,8 +563,8 @@ class _CreatePropriedadePageState extends State { ClipRRect( borderRadius: BorderRadius.circular(8), - child: Image.file( - _images[index], + child: Image.memory( + _images[index].bytes, fit: BoxFit.cover, width: double.infinity, height: double.infinity, @@ -729,3 +758,10 @@ class _CreatePropriedadePageState extends State { ); } } + +class _SelectedImage { + final XFile file; + final Uint8List bytes; + + const _SelectedImage({required this.file, required this.bytes}); +} diff --git a/mobile/lib/screens/home_page.dart b/mobile/lib/screens/home_page.dart index a6517533..16c09008 100644 --- a/mobile/lib/screens/home_page.dart +++ b/mobile/lib/screens/home_page.dart @@ -1,9 +1,12 @@ import 'dart:io'; + import 'package:flutter/material.dart'; -import '../widgets/side_bar.dart'; -import '../widgets/models_listing.dart'; -import '../widgets/header_bar.dart'; + +import '../models/listing.dart'; +import '../services/workup_api.dart'; import '../utils/user_storage.dart'; +import '../widgets/header_bar.dart'; +import '../widgets/side_bar.dart'; import 'workspace.dart'; class HomePage extends StatefulWidget { @@ -14,10 +17,13 @@ class HomePage extends StatefulWidget { } class _HomePageState extends State { + final WorkupApi _api = WorkupApi(); List filteredListings = []; + List _allListings = []; TextEditingController searchController = TextEditingController(); - bool isLoading = false; + bool isLoading = true; bool _sidebarActive = false; + String? _errorMessage; String normalizeText(String text) { return text @@ -42,42 +48,52 @@ class _HomePageState extends State { _loadAllProperties(); } - void _loadAllProperties() { - setState(() => isLoading = true); - - // Carrega APENAS propriedades criadas pelos usuários (sem mock) - List allListings = []; - - // Carrega propriedades disponíveis (não alugadas ou canceladas) - final availableProperties = UserStorage().getAvailableProperties(); - - for (var propData in availableProperties) { - allListings.add(Listing.fromJson(propData)); - } - + Future _loadAllProperties() async { setState(() { - filteredListings = allListings; - isLoading = false; + isLoading = true; + _errorMessage = null; }); + + try { + final rooms = await _api.fetchCatalogo(); + UserStorage().cacheCatalog(rooms); + if (!mounted) return; + setState(() { + _allListings = rooms; + filteredListings = rooms; + }); + } on ApiException catch (err) { + if (!mounted) return; + setState(() { + _errorMessage = err.message; + }); + } catch (err) { + if (!mounted) return; + setState(() { + _errorMessage = 'Erro ao carregar propriedades: $err'; + }); + } finally { + if (mounted) { + setState(() => isLoading = false); + } + } } void filterRooms(String query) { - _loadAllProperties(); // Recarrega todas as propriedades primeiro - final normalizedQuery = normalizeText(query.trim()); - if (normalizedQuery.isEmpty) { - return; // Já foi carregado tudo no _loadAllProperties - } - setState(() { - filteredListings = filteredListings.where((room) { - final normalizedName = normalizeText(room.name); - final normalizedAddress = normalizeText(room.address); + if (normalizedQuery.isEmpty) { + filteredListings = List.from(_allListings); + } else { + filteredListings = _allListings.where((room) { + final normalizedName = normalizeText(room.name); + final normalizedAddress = normalizeText(room.address); - return normalizedName.contains(normalizedQuery) || - normalizedAddress.contains(normalizedQuery); - }).toList(); + return normalizedName.contains(normalizedQuery) || + normalizedAddress.contains(normalizedQuery); + }).toList(); + } }); } @@ -238,114 +254,148 @@ class _HomePageState extends State { end: Alignment.bottomRight, ), ), - child: CustomScrollView( - slivers: [ - SliverAppBar( - pinned: true, - automaticallyImplyLeading: false, - flexibleSpace: HeaderBar( - onMenuClick: () => setState(() => _sidebarActive = true), + child: RefreshIndicator( + onRefresh: _loadAllProperties, + child: CustomScrollView( + slivers: [ + SliverAppBar( + pinned: true, + automaticallyImplyLeading: false, + flexibleSpace: HeaderBar( + onMenuClick: () => setState(() => _sidebarActive = true), + ), ), - ), - SliverToBoxAdapter( - child: Padding( - padding: const EdgeInsets.fromLTRB(16, 16, 16, 0), - child: Column( - children: [ - const Text( - "Encontre o espaço perfeito para seu negócio", - style: TextStyle( - fontSize: 20, - color: Color(0xFF2C3E50), - fontWeight: FontWeight.bold, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 8), - const Text( - "Descubra escritórios e salas comerciais que combinam com sua necessidade", - textAlign: TextAlign.center, - style: TextStyle(fontSize: 14, color: Colors.grey), - ), - const SizedBox(height: 20), - TextField( - controller: searchController, - decoration: InputDecoration( - hintText: "Buscar sala...", - prefixIcon: const Icon(Icons.search), - filled: true, - fillColor: Colors.white, - contentPadding: const EdgeInsets.symmetric( - vertical: 14, + SliverToBoxAdapter( + child: Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 0), + child: Column( + children: [ + const Text( + "Encontre o espaço perfeito para seu negócio", + style: TextStyle( + fontSize: 20, + color: Color(0xFF2C3E50), + fontWeight: FontWeight.bold, ), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(12), - borderSide: const BorderSide( - color: Colors.grey, - width: 0.5, + textAlign: TextAlign.center, + ), + const SizedBox(height: 8), + const Text( + "Descubra escritórios e salas comerciais que combinam com sua necessidade", + textAlign: TextAlign.center, + style: TextStyle(fontSize: 14, color: Colors.grey), + ), + const SizedBox(height: 20), + TextField( + controller: searchController, + decoration: InputDecoration( + hintText: "Buscar sala...", + prefixIcon: const Icon(Icons.search), + filled: true, + fillColor: Colors.white, + contentPadding: const EdgeInsets.symmetric( + vertical: 14, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: const BorderSide( + color: Colors.grey, + width: 0.5, + ), ), ), + onChanged: filterRooms, ), - onChanged: filterRooms, - ), - const SizedBox(height: 20), - ], + const SizedBox(height: 20), + ], + ), ), ), - ), - if (isLoading) - const SliverToBoxAdapter( - child: Center( - child: Padding( - padding: EdgeInsets.all(20.0), - child: CircularProgressIndicator(), + if (isLoading) + const SliverToBoxAdapter( + child: Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), ), - ), - ) - else if (filteredListings.isEmpty) - SliverToBoxAdapter( - child: Center( + ) + else if (_errorMessage != null) + SliverToBoxAdapter( child: Padding( - padding: const EdgeInsets.all(48.0), + padding: const EdgeInsets.all(32.0), child: Column( children: [ Icon( - Icons.business_outlined, - size: 64, - color: Colors.grey[400], + Icons.warning_amber_rounded, + size: 56, + color: Colors.red[300], ), - const SizedBox(height: 16), - const Text( - "Nenhum espaço disponível no momento.", - style: TextStyle( - fontSize: 18, - color: Colors.grey, + const SizedBox(height: 12), + Text( + _errorMessage!, + style: const TextStyle( + fontSize: 16, + color: Colors.red, + fontWeight: FontWeight.w500, ), textAlign: TextAlign.center, ), - const SizedBox(height: 8), - const Text( - "Crie uma nova propriedade ou aguarde novos espaços!", - style: TextStyle( - fontSize: 14, - color: Colors.grey, - ), - textAlign: TextAlign.center, + const SizedBox(height: 12), + ElevatedButton.icon( + onPressed: _loadAllProperties, + icon: const Icon(Icons.refresh), + label: const Text('Tentar novamente'), ), ], ), ), + ) + else if (filteredListings.isEmpty) + SliverToBoxAdapter( + child: Center( + child: Padding( + padding: const EdgeInsets.all(48.0), + child: Column( + children: [ + Icon( + Icons.business_outlined, + size: 64, + color: Colors.grey[400], + ), + const SizedBox(height: 16), + const Text( + "Nenhum espaço disponível no momento.", + style: TextStyle( + fontSize: 18, + color: Colors.grey, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 8), + const Text( + "Crie uma nova propriedade ou aguarde novos espaços!", + style: TextStyle( + fontSize: 14, + color: Colors.grey, + ), + textAlign: TextAlign.center, + ), + ], + ), + ), + ), + ) + else + SliverList( + delegate: SliverChildBuilderDelegate( + (context, index) => + buildRoomCard(filteredListings[index]), + childCount: filteredListings.length, + ), ), - ) - else - SliverList( - delegate: SliverChildBuilderDelegate( - (context, index) => - buildRoomCard(filteredListings[index]), - childCount: filteredListings.length, - ), - ), - ], + ], + ), ), ), ), diff --git a/mobile/lib/screens/login_screen.dart b/mobile/lib/screens/login_screen.dart index 1073e81e..33eb8aa6 100644 --- a/mobile/lib/screens/login_screen.dart +++ b/mobile/lib/screens/login_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import '../services/workup_api.dart'; import '../utils/user_storage.dart'; import 'home_page.dart'; import 'register_page.dart'; @@ -15,6 +16,8 @@ class _LoginScreenState extends State { final _emailController = TextEditingController(); final _passwordController = TextEditingController(); bool _obscurePassword = true; + bool _isSubmitting = false; + final WorkupApi _api = WorkupApi(); @override void dispose() { @@ -26,29 +29,37 @@ class _LoginScreenState extends State { Future _handleLogin() async { if (!_formKey.currentState!.validate()) return; - setState(() {}); + setState(() => _isSubmitting = true); - // small local check against UserStorage final email = _emailController.text.trim(); final password = _passwordController.text; - // simulate small delay - await Future.delayed(const Duration(milliseconds: 400)); + try { + final session = await _api.login(email: email, password: password); + UserStorage().saveSession(token: session.token, profile: session.profile); - final ok = UserStorage().validateCredentials(email, password); - if (!mounted) return; - if (ok) { + if (!mounted) return; Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const HomePage()), ); - } else { + } on ApiException catch (err) { + if (!mounted) return; ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Usuário não encontrado ou senha incorreta'), + SnackBar(content: Text(err.message), backgroundColor: Colors.red), + ); + } catch (err) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text('Erro ao fazer login: $err'), backgroundColor: Colors.red, ), ); + } finally { + if (mounted) { + setState(() => _isSubmitting = false); + } } } @@ -198,7 +209,7 @@ class _LoginScreenState extends State { height: 48, margin: const EdgeInsets.only(top: 16), child: ElevatedButton( - onPressed: _handleLogin, + onPressed: _isSubmitting ? null : _handleLogin, style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFF34495e), foregroundColor: Colors.white, @@ -207,13 +218,24 @@ class _LoginScreenState extends State { ), elevation: 0, ), - child: const Text( - 'Entrar', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w500, - ), - ), + child: _isSubmitting + ? const SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + valueColor: AlwaysStoppedAnimation( + Colors.white, + ), + ), + ) + : const Text( + 'Entrar', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), ), ), const SizedBox(height: 16), diff --git a/mobile/lib/screens/properties_screen.dart b/mobile/lib/screens/properties_screen.dart index dc491af8..0d2de68a 100644 --- a/mobile/lib/screens/properties_screen.dart +++ b/mobile/lib/screens/properties_screen.dart @@ -1,7 +1,9 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import '../widgets/side_bar.dart'; +import '../models/listing.dart'; +import '../services/workup_api.dart'; import '../utils/user_storage.dart'; +import '../widgets/side_bar.dart'; class TelaPropriedadePage extends StatefulWidget { const TelaPropriedadePage({Key? key}) : super(key: key); @@ -10,39 +12,8 @@ class TelaPropriedadePage extends StatefulWidget { State createState() => _TelaPropriedadePageState(); } -class Listing { - final String id; - final String name; - final List pictures; - final double price; - final String address; - final List comodities; - final int capacity; - - Listing({ - required this.id, - required this.name, - required this.pictures, - required this.price, - required this.address, - required this.comodities, - required this.capacity, - }); - - factory Listing.fromJson(Map json) { - return Listing( - id: json['id']?.toString() ?? '', - name: json['name'] ?? '', - pictures: List.from(json['pictures'] ?? []), - price: (json['price'] as num?)?.toDouble() ?? 0.0, - address: json['address'] ?? '', - comodities: List.from(json['comodities'] ?? []), - capacity: (json['capacity'] as num?)?.toInt() ?? 0, - ); - } -} - class _TelaPropriedadePageState extends State { + final WorkupApi _api = WorkupApi(); List _properties = []; bool _isLoading = true; String? _errorMessage; @@ -54,25 +25,40 @@ class _TelaPropriedadePageState extends State { _loadUserProperties(); } - void _loadUserProperties() { - setState(() => _isLoading = true); + Future _loadUserProperties() async { + final userId = UserStorage().userId; + if (userId == null) { + setState(() { + _errorMessage = "Faça login para gerenciar suas propriedades."; + _isLoading = false; + }); + return; + } - try { - // Carrega apenas as propriedades do usuário logado - final userPropertiesData = UserStorage().getUserProperties(); + setState(() { + _isLoading = true; + _errorMessage = null; + }); + try { + final properties = await _api.fetchUserProperties(userId); + UserStorage().cacheOwnedProperties(properties); + if (!mounted) return; setState(() { - _properties = userPropertiesData - .map((data) => Listing.fromJson(data)) - .toList(); - _isLoading = false; + _properties = properties; + }); + } on ApiException catch (err) { + if (!mounted) return; + setState(() { + _errorMessage = err.message; }); } catch (err) { + if (!mounted) return; setState(() { - _errorMessage = "Erro ao carregar as propriedades"; - _isLoading = false; + _errorMessage = "Erro ao carregar as propriedades: $err"; }); - print("Erro ao carregar propriedades do usuário: $err"); + } finally { + if (mounted) setState(() => _isLoading = false); } } @@ -91,14 +77,13 @@ class _TelaPropriedadePageState extends State { child: const Text('Cancelar', style: TextStyle(color: Colors.grey)), ), TextButton( - onPressed: () { + onPressed: () async { Navigator.of(context).pop(); - - final success = UserStorage().removeProperty(propertyId); - - if (success) { - _loadUserProperties(); // Recarrega a lista - + try { + await _api.deleteCatalogo(propertyId); + if (!mounted) return; + await _loadUserProperties(); + if (!mounted) return; ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Propriedade removida com sucesso'), @@ -106,6 +91,22 @@ class _TelaPropriedadePageState extends State { duration: Duration(seconds: 2), ), ); + } on ApiException catch (err) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(err.message), + backgroundColor: Colors.red, + ), + ); + } catch (err) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text('Erro ao remover propriedade: $err'), + backgroundColor: Colors.red, + ), + ); } }, child: const Text( diff --git a/mobile/lib/screens/register_page.dart b/mobile/lib/screens/register_page.dart index b06566b0..71a8ac6c 100644 --- a/mobile/lib/screens/register_page.dart +++ b/mobile/lib/screens/register_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:mask_text_input_formatter/mask_text_input_formatter.dart'; -import '../utils/user_storage.dart'; +import '../services/workup_api.dart'; import 'login_screen.dart'; class RegisterPage extends StatefulWidget { @@ -35,6 +35,19 @@ class _RegisterPageState extends State { bool _isError = false; bool _obscurePassword = true; // Adicionado para controlar visibilidade da senha + final WorkupApi _api = WorkupApi(); + + String _digitsOnly(String value) => value.replaceAll(RegExp(r'[^0-9]'), ''); + + DateTime? _parseBirthDate() { + final raw = _birthdateController.text.trim(); + if (raw.isEmpty) return null; + try { + return DateFormat('dd/MM/yyyy').parseStrict(raw); + } catch (_) { + return null; + } + } Future _handleSubmit() async { if (!_formKey.currentState!.validate()) return; @@ -45,51 +58,25 @@ class _RegisterPageState extends State { _isError = false; }); try { - final email = _emailController.text.trim(); - - // Checa se já existe localmente (email, cpf, telefone) - if (UserStorage().isEmailRegistered(email)) { - setState(() { - _apiMessage = 'Este e-mail já está registrado!'; - _isError = true; - _isSubmitting = false; - }); - return; - } - - final cpf = _cpfController.text; - if (UserStorage().isCpfRegistered(cpf)) { - setState(() { - _apiMessage = 'CPF já em uso!'; - _isError = true; - _isSubmitting = false; - }); - return; - } - - final phone = _phoneController.text; - if (UserStorage().isPhoneRegistered(phone)) { + final birthDate = _parseBirthDate(); + if (birthDate == null) { setState(() { - _apiMessage = 'Telefone já em uso!'; + _apiMessage = 'Data de nascimento inválida'; _isError = true; _isSubmitting = false; }); return; } - // Armazena usuário localmente (temporário) - final userData = { - 'name': _nameController.text.trim(), - 'email': email, - 'password': _passwordController.text, - 'cpf': _cpfController.text, - 'birthDate': _birthdateController.text, - 'phone': _phoneController.text, - }; - - UserStorage().addUser(userData); + await _api.registerUser( + name: _nameController.text.trim(), + email: _emailController.text.trim(), + password: _passwordController.text, + cpf: _digitsOnly(_cpfController.text), + phone: _digitsOnly(_phoneController.text), + birthDate: birthDate, + ); - // Feedback e navegação para login if (!mounted) return; setState(() { _apiMessage = 'Registro realizado com sucesso!'; @@ -98,15 +85,20 @@ class _RegisterPageState extends State { await Future.delayed(const Duration(milliseconds: 900)); if (!mounted) return; - setState(() => _isSubmitting = false); Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const LoginScreen()), ); - } catch (e) { + } on ApiException catch (err) { + if (!mounted) return; + setState(() { + _apiMessage = err.message; + _isError = true; + }); + } catch (err) { if (!mounted) return; setState(() { - _apiMessage = 'Erro ao realizar cadastro: $e'; + _apiMessage = 'Erro ao realizar cadastro: $err'; _isError = true; }); } finally { @@ -197,9 +189,15 @@ class _RegisterPageState extends State { border: OutlineInputBorder(), hintText: "Seu nome completo", ), - validator: (value) => value == null || value.isEmpty - ? "Campo obrigatório" - : null, + validator: (value) { + if (value == null || value.isEmpty) { + return "Campo obrigatório"; + } + if (_parseBirthDate() == null) { + return "Data inválida"; + } + return null; + }, ), const SizedBox(height: 16), diff --git a/mobile/lib/screens/rent_screen.dart b/mobile/lib/screens/rent_screen.dart index af1e4d82..d2799482 100644 --- a/mobile/lib/screens/rent_screen.dart +++ b/mobile/lib/screens/rent_screen.dart @@ -1,7 +1,11 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import '../widgets/side_bar.dart'; + +import '../models/listing.dart'; +import '../models/reservation.dart'; +import '../services/workup_api.dart'; import '../utils/user_storage.dart'; +import '../widgets/side_bar.dart'; class TelaAluguelPage extends StatefulWidget { const TelaAluguelPage({Key? key}) : super(key: key); @@ -10,50 +14,12 @@ class TelaAluguelPage extends StatefulWidget { State createState() => _TelaAluguelPageState(); } -class Reservation { - final String id; - final String workspaceId; - final String workspaceName; - final String workspaceImage; - final String startDate; - final String endDate; - String status; - final String address; - final double price; - final int capacity; - - Reservation({ - required this.id, - required this.workspaceId, - required this.workspaceName, - required this.workspaceImage, - required this.startDate, - required this.endDate, - required this.status, - required this.address, - required this.price, - required this.capacity, - }); - - factory Reservation.fromJson(Map json) { - return Reservation( - id: json['id']?.toString() ?? '', - workspaceId: json['workspaceId']?.toString() ?? '', - workspaceName: json['workspaceName'] ?? '', - workspaceImage: json['workspaceImage'] ?? '', - startDate: json['startDate'] ?? '', - endDate: json['endDate'] ?? '', - status: json['status'] ?? '', - address: json['address'] ?? '', - price: (json['price'] as num?)?.toDouble() ?? 0.0, - capacity: json['capacity'] ?? 0, - ); - } -} - class _TelaAluguelPageState extends State { bool _sidebarActive = false; + final WorkupApi _api = WorkupApi(); List _reservations = []; + bool _isLoading = true; + String? _errorMessage; @override void initState() { @@ -61,65 +27,98 @@ class _TelaAluguelPageState extends State { _loadReservations(); } - void _loadReservations() { - // Não inicializa mais reservas mockadas - final reservationsData = UserStorage().getReservations(); + Future _loadReservations() async { + final userId = UserStorage().userId; + if (userId == null) { + setState(() { + _errorMessage = 'Faça login para visualizar suas reservas.'; + _isLoading = false; + }); + return; + } setState(() { - _reservations = reservationsData - .map((data) => Reservation.fromJson(data)) - .toList(); + _isLoading = true; + _errorMessage = null; }); - } - String _formatDate(String dateString) { try { - final date = DateTime.parse(dateString); - return '${date.day.toString().padLeft(2, '0')}/${date.month.toString().padLeft(2, '0')}/${date.year}'; - } catch (e) { - return dateString; + final reservations = await _api.fetchUserReservations(userId); + UserStorage().cacheReservations(reservations); + if (!mounted) return; + setState(() { + _reservations = reservations; + }); + } on ApiException catch (err) { + if (!mounted) return; + setState(() { + _errorMessage = err.message; + }); + } catch (err) { + if (!mounted) return; + setState(() { + _errorMessage = 'Erro ao carregar reservas: $err'; + }); + } finally { + if (mounted) setState(() => _isLoading = false); } } + String _formatDate(int timestamp) { + final date = DateTime.fromMillisecondsSinceEpoch(timestamp); + return '${date.day.toString().padLeft(2, '0')}/${date.month.toString().padLeft(2, '0')}/${date.year}'; + } + Color _getStatusColor(String status) { - switch (status) { - case 'active': + switch (status.toUpperCase()) { + case 'PENDING': + return Colors.orange; + case 'CONFIRMED': return Colors.green; - case 'completed': - return Colors.grey; - case 'cancelled': + case 'CANCELLED': return Colors.red; + case 'EXPIRED': + return Colors.grey; default: return Colors.grey; } } Color _getStatusBackgroundColor(String status) { - switch (status) { - case 'active': + switch (status.toUpperCase()) { + case 'PENDING': + return Colors.orange.shade100; + case 'CONFIRMED': return Colors.green.shade100; - case 'completed': - return Colors.grey.shade100; - case 'cancelled': + case 'CANCELLED': return Colors.red.shade100; + case 'EXPIRED': + return Colors.grey.shade200; default: return Colors.grey.shade100; } } String _getStatusText(String status) { - switch (status) { - case 'active': - return 'Ativa'; - case 'completed': - return 'Concluída'; - case 'cancelled': + switch (status.toUpperCase()) { + case 'PENDING': + return 'Pendente'; + case 'CONFIRMED': + return 'Confirmada'; + case 'CANCELLED': return 'Cancelada'; + case 'EXPIRED': + return 'Expirada'; default: return status; } } + bool _canCancel(String status) { + final normalized = status.toUpperCase(); + return normalized == 'PENDING' || normalized == 'CONFIRMED'; + } + void _handleCancelReservation(String reservationId) { showDialog( context: context, @@ -133,17 +132,17 @@ class _TelaAluguelPageState extends State { child: const Text('Não', style: TextStyle(color: Colors.grey)), ), TextButton( - onPressed: () { + onPressed: () async { Navigator.of(context).pop(); - final success = UserStorage().updateReservationStatus( - reservationId, - 'cancelled', - ); - - if (success) { - _loadReservations(); - + try { + await _api.updateReservationStatus( + reservationId: reservationId, + status: 'CANCELLED', + ); + if (!mounted) return; + await _loadReservations(); + if (!mounted) return; ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Reserva cancelada com sucesso'), @@ -151,6 +150,22 @@ class _TelaAluguelPageState extends State { duration: Duration(seconds: 2), ), ); + } on ApiException catch (err) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(err.message), + backgroundColor: Colors.red, + ), + ); + } catch (err) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text('Erro ao cancelar reserva: $err'), + backgroundColor: Colors.red, + ), + ); } }, child: const Text( @@ -164,6 +179,8 @@ class _TelaAluguelPageState extends State { } Widget _buildReservationCard(Reservation reservation) { + final room = UserStorage().getCatalogRoom(reservation.workspaceId); + return Card( shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), elevation: 5, @@ -171,16 +188,14 @@ class _TelaAluguelPageState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // Imagem Stack( children: [ ClipRRect( borderRadius: const BorderRadius.vertical( top: Radius.circular(16), ), - child: _buildReservationImage(reservation.workspaceImage), + child: _buildReservationImage(room), ), - // Badge de status Positioned( top: 12, right: 12, @@ -209,31 +224,24 @@ class _TelaAluguelPageState extends State { ), ], ), - - // Conteúdo Padding( padding: const EdgeInsets.all(12), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // Nome Text( - reservation.workspaceName, + room?.name ?? 'Espaço ${reservation.workspaceId}', style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 6), - - // Endereço Text( - reservation.address, + room?.address ?? 'Endereço indisponível', style: const TextStyle(fontSize: 14, color: Colors.grey), ), - const SizedBox(height: 8), - - // Datas + const SizedBox(height: 12), Container( padding: const EdgeInsets.all(12), decoration: BoxDecoration( @@ -291,14 +299,12 @@ class _TelaAluguelPageState extends State { ], ), ), - const SizedBox(height: 8), - - // Preço e capacidade + const SizedBox(height: 12), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - "R\$ ${reservation.price.toStringAsFixed(2)} / hora", + "Total: R\$ ${reservation.finalPrice.toStringAsFixed(2)}", style: const TextStyle( fontSize: 16, color: Color(0xFF34495E), @@ -310,7 +316,7 @@ class _TelaAluguelPageState extends State { const Icon(Icons.people, size: 18, color: Colors.grey), const SizedBox(width: 4), Text( - "${reservation.capacity} pessoas", + "${room?.capacity ?? '-'} pessoas", style: const TextStyle( fontSize: 14, color: Colors.grey, @@ -320,9 +326,7 @@ class _TelaAluguelPageState extends State { ), ], ), - - // Botão de cancelar (apenas para reservas ativas) - if (reservation.status == 'active') ...[ + if (_canCancel(reservation.status)) ...[ const SizedBox(height: 12), SizedBox( width: double.infinity, @@ -348,34 +352,20 @@ class _TelaAluguelPageState extends State { ); } - Widget _buildReservationImage(String imagePath) { - if (imagePath.isEmpty) { - return Container( - height: 180, - color: Colors.grey[300], - child: const Icon(Icons.photo_outlined, size: 50, color: Colors.grey), - ); - } + Widget _buildReservationImage(Listing? room) { + final imagePath = (room?.pictures.isNotEmpty ?? false) + ? room!.pictures.first + : null; - if (imagePath.startsWith('http')) { + if (imagePath != null && imagePath.startsWith('http')) { return Image.network( imagePath, width: double.infinity, height: 180, fit: BoxFit.cover, - errorBuilder: (context, error, stackTrace) { - return Container( - height: 180, - color: Colors.grey[300], - child: const Icon( - Icons.photo_outlined, - size: 50, - color: Colors.grey, - ), - ); - }, + errorBuilder: (context, error, stackTrace) => _reservationPlaceholder(), ); - } else { + } else if (imagePath != null) { final file = File(imagePath); return FutureBuilder( future: file.exists(), @@ -386,36 +376,24 @@ class _TelaAluguelPageState extends State { width: double.infinity, height: 180, fit: BoxFit.cover, - errorBuilder: (context, error, stackTrace) { - return Container( - height: 180, - color: Colors.grey[300], - child: const Icon( - Icons.photo_outlined, - size: 50, - color: Colors.grey, - ), - ); - }, - ); - } else { - return Container( - height: 180, - color: Colors.grey[300], - child: snapshot.connectionState == ConnectionState.waiting - ? const Center(child: CircularProgressIndicator()) - : const Icon( - Icons.photo_outlined, - size: 50, - color: Colors.grey, - ), ); } + return _reservationPlaceholder(); }, ); + } else { + return _reservationPlaceholder(); } } + Widget _reservationPlaceholder() { + return Container( + height: 180, + color: Colors.grey[300], + child: const Icon(Icons.photo_outlined, size: 50, color: Colors.grey), + ); + } + @override Widget build(BuildContext context) { final primaryColor = const Color(0xFF34495E); @@ -438,88 +416,129 @@ class _TelaAluguelPageState extends State { centerTitle: true, elevation: 3, ), - body: SingleChildScrollView( - child: Column( - children: [ - // Header com título - Container( - width: double.infinity, - padding: const EdgeInsets.all(24), - decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.05), - blurRadius: 10, - offset: const Offset(0, 2), - ), - ], - ), - child: const Column( - children: [ - Text( - "Minhas Reservas", - style: TextStyle( - fontSize: 28, - fontWeight: FontWeight.bold, - color: Color(0xFF2C3E50), + body: _isLoading + ? const Center(child: CircularProgressIndicator()) + : _errorMessage != null + ? Center( + child: Padding( + padding: const EdgeInsets.all(32), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.error_outline, + size: 64, + color: Colors.red[300], ), - textAlign: TextAlign.center, - ), - SizedBox(height: 8), - Text( - "Gerencie suas reservas ativas e histórico", - style: TextStyle(fontSize: 14, color: Colors.grey), - textAlign: TextAlign.center, - ), - ], + const SizedBox(height: 16), + Text( + _errorMessage!, + style: const TextStyle( + fontSize: 16, + color: Colors.red, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 16), + ElevatedButton.icon( + onPressed: _loadReservations, + icon: const Icon(Icons.refresh), + label: const Text('Tentar novamente'), + ), + ], + ), ), - ), - - // Lista de reservas - _reservations.isEmpty - ? Padding( - padding: const EdgeInsets.all(48), - child: Column( - children: [ - Icon( - Icons.calendar_today_outlined, - size: 64, - color: Colors.grey[400], - ), - const SizedBox(height: 16), - const Text( - "Você ainda não possui reservas.", - style: TextStyle( - fontSize: 18, - color: Colors.grey, + ) + : RefreshIndicator( + onRefresh: _loadReservations, + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + child: Column( + children: [ + Container( + width: double.infinity, + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 8), - const Text( - "Explore os espaços disponíveis e faça sua primeira reserva!", - style: TextStyle( - fontSize: 14, - color: Colors.grey, + ], + ), + child: const Column( + children: [ + Text( + "Minhas Reservas", + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: Color(0xFF2C3E50), + ), + textAlign: TextAlign.center, ), - textAlign: TextAlign.center, - ), - ], + SizedBox(height: 8), + Text( + "Gerencie suas reservas ativas e histórico", + style: TextStyle( + fontSize: 14, + color: Colors.grey, + ), + textAlign: TextAlign.center, + ), + ], + ), ), - ) - : ListView.builder( - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - padding: const EdgeInsets.symmetric(vertical: 16), - itemCount: _reservations.length, - itemBuilder: (context, index) { - return _buildReservationCard(_reservations[index]); - }, - ), - ], - ), - ), + _reservations.isEmpty + ? Padding( + padding: const EdgeInsets.all(48), + child: Column( + children: [ + Icon( + Icons.calendar_today_outlined, + size: 64, + color: Colors.grey[400], + ), + const SizedBox(height: 16), + const Text( + "Você ainda não possui reservas.", + style: TextStyle( + fontSize: 18, + color: Colors.grey, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 8), + const Text( + "Explore os espaços disponíveis e faça sua primeira reserva!", + style: TextStyle( + fontSize: 14, + color: Colors.grey, + ), + textAlign: TextAlign.center, + ), + ], + ), + ) + : ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + padding: const EdgeInsets.symmetric( + vertical: 16, + ), + itemCount: _reservations.length, + itemBuilder: (context, index) { + return _buildReservationCard( + _reservations[index], + ); + }, + ), + ], + ), + ), + ), ), SidebarMenu( active: _sidebarActive, diff --git a/mobile/lib/screens/user_profile_screen.dart b/mobile/lib/screens/user_profile_screen.dart index 94e4749f..c59c78a7 100644 --- a/mobile/lib/screens/user_profile_screen.dart +++ b/mobile/lib/screens/user_profile_screen.dart @@ -1,9 +1,15 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:image_picker/image_picker.dart'; -import 'dart:io'; -import '../widgets/custom_button.dart'; +import 'package:intl/intl.dart'; + +import '../models/user_profile.dart'; +import '../services/workup_api.dart'; import '../utils/profile_image_manager.dart'; import '../utils/user_storage.dart'; +import '../widgets/custom_button.dart'; class UserProfilePage extends StatefulWidget { const UserProfilePage({super.key}); @@ -15,15 +21,19 @@ class UserProfilePage extends StatefulWidget { class _UserProfilePageState extends State { bool _isEditing = false; final ImagePicker _picker = ImagePicker(); + final WorkupApi _api = WorkupApi(); // Controllers para os campos editáveis final _nameController = TextEditingController(); final _birthController = TextEditingController(); + final _phoneController = TextEditingController(); // Dados fixos do usuário String _email = ''; String _cpf = ''; - String _phone = ''; + bool _isSaving = false; + UserProfile? _profile; + final DateFormat _birthFormat = DateFormat('dd/MM/yyyy'); final Color primaryColor = const Color(0xFF34495E); @@ -37,20 +47,14 @@ class _UserProfilePageState extends State { void dispose() { _nameController.dispose(); _birthController.dispose(); + _phoneController.dispose(); super.dispose(); } void _loadUserData() { - final user = UserStorage().getLoggedUser(); - if (user != null) { - setState(() { - _nameController.text = user['name'] ?? ''; - _email = user['email'] ?? ''; - _cpf = user['cpf'] ?? ''; - _birthController.text = user['birthDate'] ?? ''; - _phone = user['phone'] ?? ''; - }); - } + final user = UserStorage().loggedUser; + if (user == null) return; + _applyProfile(user); } Future _pickImage() async { @@ -73,34 +77,101 @@ class _UserProfilePageState extends State { } } - void _handleSave() { - final updatedData = { - 'name': _nameController.text.trim(), - 'birthDate': _birthController.text, - }; + DateTime? _parseBirthInput() { + final raw = _birthController.text.trim(); + if (raw.isEmpty) return null; + try { + return _birthFormat.parseStrict(raw); + } catch (_) { + return null; + } + } - final success = UserStorage().updateLoggedUser(updatedData); + Future _handleSave() async { + final user = _profile; + if (user == null) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('Nenhum usuário autenticado'), + backgroundColor: Colors.red, + ), + ); + return; + } - if (success) { - setState(() { - _isEditing = false; - }); + final birthDate = _parseBirthInput() ?? user.birthDate; + final phone = _phoneController.text.trim(); + + if (birthDate == null) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('Informe uma data de nascimento válida.'), + backgroundColor: Colors.red, + ), + ); + return; + } + + if (phone.isEmpty) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('Informe um telefone válido.'), + backgroundColor: Colors.red, + ), + ); + return; + } + + setState(() => _isSaving = true); + try { + final updated = await _api.updateUserProfile( + id: user.id, + name: _nameController.text.trim(), + birthDate: birthDate, + phone: phone, + cpf: user.cpf, + ); + UserStorage().updateLoggedUser(updated); + if (!mounted) return; + _applyProfile(updated, exitEditMode: true); ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text("Informações atualizadas com sucesso!"), backgroundColor: Colors.green, ), ); - } else { + } on ApiException catch (err) { + if (!mounted) return; ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text("Erro ao atualizar informações"), + SnackBar(content: Text(err.message), backgroundColor: Colors.red), + ); + } catch (err) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text('Erro ao atualizar informações: $err'), backgroundColor: Colors.red, ), ); + } finally { + if (mounted) setState(() => _isSaving = false); } } + void _applyProfile(UserProfile profile, {bool exitEditMode = false}) { + setState(() { + _profile = profile; + _nameController.text = profile.name; + _email = profile.email; + _cpf = profile.cpf; + _phoneController.text = profile.phone; + _birthController.text = profile.formattedBirth(); + if (exitEditMode) { + _isEditing = false; + } + }); + } + void _handleCancel() { setState(() { _isEditing = false; @@ -241,8 +312,30 @@ class _UserProfilePageState extends State { Icons.cake, _birthController, canEdit: true, + readOnly: true, + onTap: () async { + final current = _parseBirthInput() ?? DateTime(2000); + final selected = await showDatePicker( + context: context, + initialDate: current, + firstDate: DateTime(1900), + lastDate: DateTime.now(), + ); + if (selected != null) { + _birthController.text = _birthFormat.format(selected); + } + }, + ), + _buildEditableTextField( + "Telefone", + Icons.phone, + _phoneController, + canEdit: true, + keyboardType: TextInputType.phone, + inputFormatters: [ + FilteringTextInputFormatter.allow(RegExp(r'[0-9()+\-\s]')), + ], ), - _buildFixedTextField("Telefone", Icons.phone, _phone), const SizedBox(height: 30), @@ -250,8 +343,9 @@ class _UserProfilePageState extends State { if (_isEditing) CustomButton( text: "Salvar Alterações", - onPressed: _handleSave, + onPressed: _isSaving ? null : _handleSave, backgroundColor: primaryColor, + isLoading: _isSaving, ), ], ), @@ -265,12 +359,20 @@ class _UserProfilePageState extends State { IconData icon, TextEditingController controller, { required bool canEdit, + VoidCallback? onTap, + bool readOnly = false, + TextInputType keyboardType = TextInputType.text, + List? inputFormatters, }) { return Padding( padding: const EdgeInsets.only(bottom: 16), child: TextFormField( + readOnly: readOnly || (onTap != null && !_isEditing), enabled: _isEditing && canEdit, + onTap: (_isEditing && canEdit && onTap != null) ? onTap : null, controller: controller, + keyboardType: keyboardType, + inputFormatters: inputFormatters, decoration: InputDecoration( labelText: label, prefixIcon: Icon(icon), @@ -298,6 +400,7 @@ class _UserProfilePageState extends State { return Padding( padding: const EdgeInsets.only(bottom: 16), child: TextFormField( + key: ValueKey('$label-$value'), enabled: false, initialValue: value, decoration: InputDecoration( diff --git a/mobile/lib/screens/workspace.dart b/mobile/lib/screens/workspace.dart index 39c69bf7..33fbc061 100644 --- a/mobile/lib/screens/workspace.dart +++ b/mobile/lib/screens/workspace.dart @@ -1,5 +1,8 @@ import 'dart:io'; import 'package:flutter/material.dart'; + +import '../models/listing.dart'; +import '../services/workup_api.dart'; import '../utils/user_storage.dart'; import 'rent_screen.dart'; @@ -14,40 +17,9 @@ class WorkSpacePage extends StatefulWidget { State createState() => _WorkSpacePageState(); } -class RoomDetails { - final String id; - final String name; - final String address; - final List comodities; - final List pictures; - final double price; - final int capacity; - - RoomDetails({ - required this.id, - required this.name, - required this.address, - required this.comodities, - required this.pictures, - required this.price, - required this.capacity, - }); - - factory RoomDetails.fromJson(Map json) { - return RoomDetails( - id: json['id']?.toString() ?? '', - name: json['name'] ?? '', - address: json['address'] ?? '', - comodities: List.from(json['comodities'] ?? []), - pictures: List.from(json['pictures'] ?? []), - price: (json['price'] as num?)?.toDouble() ?? 0.0, - capacity: (json['capacity'] as num?)?.toInt() ?? 0, - ); - } -} - class _WorkSpacePageState extends State { - RoomDetails? _room; + final WorkupApi _api = WorkupApi(); + Listing? _room; bool _loading = true; String? _alertMessage; bool _isError = false; @@ -55,6 +27,7 @@ class _WorkSpacePageState extends State { DateTime? _endDate; int _selectedImageIndex = 0; final PageController _pageController = PageController(); + bool _isReserving = false; final Color primaryColor = const Color(0xFF34495E); final Color backgroundColor = const Color(0xFFF4F6FA); @@ -62,6 +35,11 @@ class _WorkSpacePageState extends State { @override void initState() { super.initState(); + final cached = UserStorage().getCatalogRoom(widget.propertyId); + if (cached != null) { + _room = cached; + _loading = false; + } _fetchRoom(); } @@ -75,25 +53,35 @@ class _WorkSpacePageState extends State { return end.difference(start).inDays; } - Future _fetchRoom() async { - try { - await Future.delayed(const Duration(milliseconds: 500)); + double _calculateTotalPrice() { + if (_room == null || _startDate == null || _endDate == null) return 0; + final hours = _endDate!.difference(_startDate!).inHours; + final totalHours = hours <= 0 ? 1 : hours; + return _room!.price * totalHours; + } - final property = UserStorage().getPropertyById(widget.propertyId); + Future _fetchRoom() async { + if (_room == null) { + setState(() => _loading = true); + } - if (property != null) { - setState(() { - _room = RoomDetails.fromJson(property); - _loading = false; - }); - } else { - setState(() { - _alertMessage = 'Propriedade não encontrada.'; - _isError = true; - _loading = false; - }); - } + try { + final room = await _api.fetchCatalogoById(widget.propertyId); + if (!mounted) return; + setState(() { + _room = room; + _loading = false; + }); + UserStorage().upsertCatalogRoom(room); + } on ApiException catch (err) { + if (!mounted) return; + setState(() { + _alertMessage = err.message; + _isError = true; + _loading = false; + }); } catch (err) { + if (!mounted) return; setState(() { _alertMessage = 'ERRO: Não foi possível carregar detalhes da sala.'; _isError = true; @@ -423,64 +411,90 @@ class _WorkSpacePageState extends State { return months[month - 1]; } - void _handleReserve() async { + Future _handleReserve() async { if (_startDate == null || _endDate == null) { - setState(() { - _alertMessage = - 'Por favor, selecione as datas de check-in e check-out.'; - _isError = true; - }); - Future.delayed(const Duration(seconds: 3), () { - if (mounted) setState(() => _alertMessage = null); - }); + _showAlert( + 'Por favor, selecione as datas de check-in e check-out.', + true, + ); return; } - if (_room == null) return; + final room = _room; + final userId = UserStorage().userId; - final reservation = { - 'id': DateTime.now().millisecondsSinceEpoch.toString(), - 'workspaceId': _room!.id, - 'workspaceName': _room!.name, - 'workspaceImage': _room!.pictures.isNotEmpty ? _room!.pictures.first : '', - 'startDate': _startDate!.toIso8601String(), - 'endDate': _endDate!.toIso8601String(), - 'status': 'active', - 'address': _room!.address, - 'price': _room!.price, - 'capacity': _room!.capacity, - }; + if (room == null) return; + if (userId == null) { + _showAlert('Faça login para reservar este espaço.', true); + return; + } - final success = UserStorage().addReservation(reservation); + setState(() { + _isReserving = true; + _alertMessage = null; + }); - if (success) { - UserStorage().markPropertyAsRented(widget.propertyId); + final start = _startDate!.millisecondsSinceEpoch; + final end = _endDate!.millisecondsSinceEpoch; + final totalPrice = _calculateTotalPrice(); - setState(() { - _alertMessage = 'Reserva realizada com sucesso!'; - _isError = false; - }); + try { + final availableSpots = await _api.checkAvailability( + workspaceId: room.id, + startDate: start, + endDate: end, + ); + + if (availableSpots <= 0) { + _showAlert( + 'Este espaço já está reservado para o período informado.', + true, + ); + return; + } + + await _api.createReservation( + userId: userId, + workspaceId: room.id, + startDate: start, + endDate: end, + people: room.capacity, + finalPrice: totalPrice, + ); + + _showAlert('Reserva realizada com sucesso!', false); + + if (widget.onReserve != null) { + widget.onReserve!(); + } await Future.delayed(const Duration(milliseconds: 600)); if (mounted) { - if (widget.onReserve != null) { - widget.onReserve!(); - } - Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const TelaAluguelPage()), ); } - } else { - setState(() { - _alertMessage = 'Erro ao realizar reserva.'; - _isError = true; - }); + } on ApiException catch (err) { + _showAlert(err.message, true); + } catch (err) { + _showAlert('Erro ao realizar reserva: $err', true); + } finally { + if (mounted) setState(() => _isReserving = false); } } + void _showAlert(String message, bool isError) { + setState(() { + _alertMessage = message; + _isError = isError; + }); + Future.delayed(const Duration(seconds: 3), () { + if (mounted) setState(() => _alertMessage = null); + }); + } + Widget _buildPropertyImage(String imagePath) { if (imagePath.startsWith('http')) { return Image.network( @@ -996,10 +1010,22 @@ class _WorkSpacePageState extends State { color: Colors.green, ), ), + if (_startDate != null && _endDate != null) + Padding( + padding: const EdgeInsets.only(top: 4), + child: Text( + 'Total estimado: R\$ ${_calculateTotalPrice().toStringAsFixed(2)}', + style: const TextStyle( + fontSize: 14, + color: Color(0xFF2C3E50), + fontWeight: FontWeight.w500, + ), + ), + ), ], ), ElevatedButton( - onPressed: _handleReserve, + onPressed: _isReserving ? null : _handleReserve, style: ElevatedButton.styleFrom( backgroundColor: primaryColor, padding: const EdgeInsets.symmetric( @@ -1011,25 +1037,36 @@ class _WorkSpacePageState extends State { ), elevation: 2, ), - child: const Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.check_circle_outline, - color: Colors.white, - size: 20, - ), - SizedBox(width: 8), - Text( - 'Reservar Agora', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Colors.white, + child: _isReserving + ? const SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + valueColor: AlwaysStoppedAnimation( + Colors.white, + ), + ), + ) + : const Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.check_circle_outline, + color: Colors.white, + size: 20, + ), + SizedBox(width: 8), + Text( + 'Reservar Agora', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ], ), - ), - ], - ), ), ], ), diff --git a/mobile/lib/services/api_config.dart b/mobile/lib/services/api_config.dart new file mode 100644 index 00000000..e4242910 --- /dev/null +++ b/mobile/lib/services/api_config.dart @@ -0,0 +1,109 @@ +import 'dart:io'; + +import 'package:flutter/foundation.dart'; + +/// Identifica os microsserviços disponíveis no backend. +enum WorkupService { catalogo, user, property, availability, aluguel } + +/// Classe utilitária responsável por montar os endpoints baseados nas +/// variáveis de ambiente fornecidas via `--dart-define`. +class ApiConfig { + ApiConfig._internal(); + static final ApiConfig instance = ApiConfig._internal(); + + static const String _defaultScheme = String.fromEnvironment( + 'WORKUP_API_SCHEME', + defaultValue: 'http', + ); + static const String _defaultHost = String.fromEnvironment( + 'WORKUP_API_HOST', + defaultValue: 'localhost', + ); + static const int _catalogoPort = int.fromEnvironment( + 'WORKUP_CATALOGO_PORT', + defaultValue: 4000, + ); + static const int _userPort = int.fromEnvironment( + 'WORKUP_USER_PORT', + defaultValue: 4001, + ); + static const int _aluguelPort = int.fromEnvironment( + 'WORKUP_ALUGUEL_PORT', + defaultValue: 4002, + ); + static const int _availabilityPort = int.fromEnvironment( + 'WORKUP_AVAILABILITY_PORT', + defaultValue: 4003, + ); + static const int _propertyPort = int.fromEnvironment( + 'WORKUP_PROPERTY_PORT', + defaultValue: 4004, + ); + + String get _host => _resolveHost(_defaultHost); + + String get scheme => _defaultScheme; + + /// Monta uma [Uri] com base no microsserviço solicitado. + Uri uri( + WorkupService service, { + String path = '/', + Map? queryParameters, + }) { + final sanitizedPath = path.startsWith('/') ? path : '/$path'; + + return Uri( + scheme: scheme, + host: _host, + port: _portFor(service), + path: sanitizedPath, + queryParameters: _stringifyQuery(queryParameters), + ); + } + + int _portFor(WorkupService service) { + switch (service) { + case WorkupService.catalogo: + return _catalogoPort; + case WorkupService.user: + return _userPort; + case WorkupService.property: + return _propertyPort; + case WorkupService.availability: + return _availabilityPort; + case WorkupService.aluguel: + return _aluguelPort; + } + } + + Map? _stringifyQuery(Map? query) { + if (query == null || query.isEmpty) return null; + final cleaned = {}; + query.forEach((key, value) { + if (value == null) return; + cleaned[key] = value.toString(); + }); + return cleaned; + } + + String _resolveHost(String value) { + if (value.toLowerCase() != 'localhost') { + return value; + } + + if (kIsWeb) { + return value; + } + + try { + if (Platform.isAndroid) { + // Loopback padrão para emulador Android falar com localhost do host. + return '10.0.2.2'; + } + } catch (_) { + // Em plataformas onde Platform não está disponível, mantém padrão. + } + + return value; + } +} diff --git a/mobile/lib/services/workup_api.dart b/mobile/lib/services/workup_api.dart new file mode 100644 index 00000000..da8c30db --- /dev/null +++ b/mobile/lib/services/workup_api.dart @@ -0,0 +1,415 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:flutter/foundation.dart'; +import 'package:http/http.dart' as http; +import 'package:http_parser/http_parser.dart'; +import 'package:image_picker/image_picker.dart'; + +import '../models/listing.dart'; +import '../models/reservation.dart'; +import '../models/user_profile.dart'; +import '../models/user_session.dart'; +import 'api_config.dart'; + +class ApiException implements Exception { + final String message; + final int? statusCode; + final dynamic details; + + const ApiException({required this.message, this.statusCode, this.details}); + + @override + String toString() => + 'ApiException(statusCode: \$statusCode, message: $message, details: $details)'; +} + +class WorkupApi { + factory WorkupApi({http.Client? client}) { + if (client != null) { + return WorkupApi._(client: client); + } + return _instance; + } + + WorkupApi._({http.Client? client}) : _client = client ?? http.Client(); + + static final WorkupApi _instance = WorkupApi._(); + + final http.Client _client; + final ApiConfig _config = ApiConfig.instance; + + static const Map _jsonHeaders = { + 'Content-Type': 'application/json', + }; + + Future registerUser({ + required String name, + required String email, + required String password, + required String cpf, + required String phone, + required DateTime? birthDate, + }) async { + final uri = _config.uri(WorkupService.user, path: '/user'); + final payload = { + 'username': email, + 'password': password, + 'name': name, + 'cpf': cpf, + 'birth': birthDate?.millisecondsSinceEpoch ?? 0, + 'phone': phone, + }; + + final data = await _sendJson( + () => _client.post(uri, headers: _jsonHeaders, body: jsonEncode(payload)), + ); + + final user = data['user'] ?? data['information']; + if (user is! Map) { + throw const ApiException( + message: 'Resposta inesperada do serviço de usuário', + ); + } + + return UserProfile.fromJson(user); + } + + Future login({ + required String email, + required String password, + }) async { + final uri = _config.uri(WorkupService.user, path: '/login'); + final data = await _sendJson( + () => _client.post( + uri, + headers: _jsonHeaders, + body: jsonEncode({'username': email, 'password': password}), + ), + ); + + final token = data['token']?.toString(); + if (token == null || token.isEmpty) { + throw const ApiException( + message: 'Token não retornado pelo serviço de login', + ); + } + + final profile = await fetchUserProfile(token); + return UserSession(token: token, profile: profile); + } + + Future fetchUserProfile(String id) async { + final uri = _config.uri(WorkupService.user, path: '/user/$id'); + final data = await _sendJson(() => _client.get(uri)); + final user = data['user'] ?? data; + if (user is! Map) { + throw const ApiException( + message: 'Resposta inesperada ao buscar usuário', + ); + } + return UserProfile.fromJson(user); + } + + Future updateUserProfile({ + required String id, + String? name, + String? phone, + DateTime? birthDate, + String? cpf, + }) async { + final uri = _config.uri(WorkupService.user, path: '/user/$id'); + final payload = {}; + if (name != null) payload['name'] = name; + if (phone != null) payload['phone'] = phone; + if (birthDate != null) { + payload['birth'] = birthDate.millisecondsSinceEpoch; + } + if (cpf != null) payload['cpf'] = cpf; + + final data = await _sendJson( + () => + _client.patch(uri, headers: _jsonHeaders, body: jsonEncode(payload)), + ); + + final user = data['user'] ?? data['updatedUser'] ?? data; + if (user is! Map) { + throw const ApiException( + message: 'Resposta inesperada ao atualizar usuário', + ); + } + + return UserProfile.fromJson(user); + } + + Future> fetchCatalogo() async { + final uri = _config.uri(WorkupService.catalogo, path: '/catalogo'); + final data = await _sendJson(() => _client.get(uri)); + final rooms = data['rooms']; + + if (rooms is Map) { + return rooms.values + .map((raw) => Listing.fromJson(Map.from(raw))) + .toList(); + } + + if (rooms is List) { + return rooms + .map((raw) => Listing.fromJson(Map.from(raw))) + .toList(); + } + + // Pode ser que o serviço retorne um único objeto como fallback + return [Listing.fromJson(data)]; + } + + Future fetchCatalogoById(String id) async { + final uri = _config.uri(WorkupService.catalogo, path: '/catalogo/$id'); + final data = await _sendJson(() => _client.get(uri)); + return Listing.fromJson(data); + } + + Future createCatalogo({ + required String userId, + required String name, + required String description, + required String address, + required List comodities, + required double price, + required int capacity, + required String doorSerial, + required List pictures, + List? pictureBytes, + }) async { + final uri = _config.uri(WorkupService.catalogo, path: '/catalogo'); + final request = http.MultipartRequest('POST', uri) + ..fields['userID'] = userId + ..fields['name'] = name + ..fields['description'] = description + ..fields['address'] = address + ..fields['price'] = price.toString() + ..fields['capacity'] = capacity.toString() + ..fields['doorSerial'] = doorSerial; + + for (var i = 0; i < comodities.length; i++) { + request.fields['comodities[$i]'] = comodities[i]; + } + if (comodities.isEmpty) { + request.fields['comodities'] = ''; + } + + for (var i = 0; i < pictures.length; i++) { + final file = pictures[i]; + final filename = _resolveFilename(file); + + if (kIsWeb) { + final bytes = pictureBytes != null && i < pictureBytes.length + ? pictureBytes[i] + : await file.readAsBytes(); + request.files.add( + http.MultipartFile.fromBytes( + 'pictures', + bytes, + filename: filename, + contentType: MediaType('image', _guessMime(filename)), + ), + ); + } else { + request.files.add( + await http.MultipartFile.fromPath( + 'pictures', + file.path, + filename: filename, + contentType: MediaType('image', _guessMime(filename)), + ), + ); + } + } + + final data = await _sendMultipart(request); + final room = data['room'] ?? data; + if (room is! Map) { + throw const ApiException( + message: 'Resposta inesperada ao criar catálogo', + ); + } + return Listing.fromJson(room); + } + + Future deleteCatalogo(String roomId) async { + final uri = _config.uri(WorkupService.catalogo, path: '/catalogo/$roomId'); + await _sendJson(() => _client.delete(uri)); + } + + Future> fetchUserProperties(String userId) async { + final uri = _config.uri(WorkupService.property, path: '/property/$userId'); + final data = await _sendJson(() => _client.get(uri)); + final userProps = data['userProperties']; + if (userProps is! Map) return const []; + final properties = userProps['properties']; + if (properties is! Map) return const []; + return properties.values + .map((raw) => Listing.fromJson(Map.from(raw))) + .toList(); + } + + Future checkAvailability({ + required String workspaceId, + required int startDate, + required int endDate, + }) async { + final uri = _config.uri( + WorkupService.availability, + path: '/availability/$workspaceId', + queryParameters: {'startDate': startDate, 'endDate': endDate}, + ); + + final data = await _sendJson(() => _client.get(uri)); + final spots = data['availableSpots']; + if (spots is num) return spots.toInt(); + return 0; + } + + Future> fetchUserReservations(String userId) async { + final uri = _config.uri(WorkupService.aluguel, path: '/all-aluguel'); + final data = await _sendJson(() => _client.get(uri)); + final rentals = data['alugueis']; + if (rentals is! Map) return const []; + return rentals.values + .map((raw) => Reservation.fromJson(Map.from(raw))) + .where((reservation) => reservation.userId == userId) + .toList(); + } + + Future createReservation({ + required String userId, + required String workspaceId, + required int startDate, + required int endDate, + required int people, + required double finalPrice, + }) async { + final uri = _config.uri(WorkupService.aluguel, path: '/aluguel'); + final payload = { + 'userId': userId, + 'workspaceId': workspaceId, + 'startDate': startDate, + 'endDate': endDate, + 'people': people, + 'finalPrice': finalPrice, + }; + + final data = await _sendJson( + () => _client.post(uri, headers: _jsonHeaders, body: jsonEncode(payload)), + ); + + return Reservation.fromJson(data); + } + + Future updateReservationStatus({ + required String reservationId, + required String status, + }) async { + final uri = _config.uri(WorkupService.aluguel, path: '/aluguel'); + final payload = {'id': reservationId, 'status': status}; + final data = await _sendJson( + () => + _client.patch(uri, headers: _jsonHeaders, body: jsonEncode(payload)), + ); + return Reservation.fromJson(data); + } + + Future> _sendMultipart( + http.MultipartRequest request, + ) async { + try { + final response = await request.send(); + final body = await response.stream.bytesToString(); + final data = _decodeBody(body); + if (response.statusCode >= 400) { + throw ApiException( + message: _extractMessage(data) ?? 'Erro ${response.statusCode}', + statusCode: response.statusCode, + details: data, + ); + } + return data; + } on Exception catch (e) { + throw ApiException( + message: 'Não foi possível conectar ao servidor', + details: e.toString(), + ); + } on FormatException catch (e) { + throw ApiException( + message: 'Resposta inválida do servidor', + details: e.message, + ); + } + } + + Future> _sendJson( + Future Function() request, + ) async { + try { + final response = await request(); + return _parseResponse(response); + } on Exception catch (e) { + throw ApiException( + message: 'Não foi possível conectar ao servidor', + details: e.toString(), + ); + } on FormatException catch (e) { + throw ApiException( + message: 'Resposta inválida do servidor', + details: e.message, + ); + } + } + + Map _parseResponse(http.Response response) { + final data = _decodeBody(response.body); + if (response.statusCode >= 400) { + throw ApiException( + message: _extractMessage(data) ?? 'Erro ${response.statusCode}', + statusCode: response.statusCode, + details: data, + ); + } + return data; + } + + Map _decodeBody(String body) { + if (body.isEmpty) return {}; + final decoded = jsonDecode(body); + if (decoded is Map) return decoded; + return {'data': decoded}; + } + + String? _extractMessage(Map data) { + if (data['message'] is String) return data['message'] as String; + if (data['error'] is String) return data['error'] as String; + return null; + } + + String _resolveFilename(XFile file) { + if (file.name.isNotEmpty) return file.name; + return _basename(file.path); + } + + String _basename(String filePath) { + final normalized = filePath.replaceAll('\\', '/'); + final segments = normalized.split('/'); + if (segments.isEmpty || segments.last.isEmpty) { + return 'picture.jpg'; + } + return segments.last; + } + + String _guessMime(String filename) { + final lower = filename.toLowerCase(); + if (lower.endsWith('.png')) return 'png'; + if (lower.endsWith('.jpg') || lower.endsWith('.jpeg')) return 'jpeg'; + if (lower.endsWith('.gif')) return 'gif'; + return 'jpeg'; + } +} diff --git a/mobile/lib/utils/user_storage.dart b/mobile/lib/utils/user_storage.dart index 8590ffa5..32922496 100644 --- a/mobile/lib/utils/user_storage.dart +++ b/mobile/lib/utils/user_storage.dart @@ -1,269 +1,64 @@ +import '../models/listing.dart'; +import '../models/reservation.dart'; +import '../models/user_profile.dart'; + +/// Mantém os dados da sessão atual na memória durante o ciclo de vida do app. class UserStorage { static final UserStorage _instance = UserStorage._internal(); factory UserStorage() => _instance; UserStorage._internal(); - final Map> _users = {}; - String? _loggedUserEmail; - - final Set _usersWithInitializedReservations = {}; - - void addUser(Map user) { - final userCopy = Map.from(user); - - if (!userCopy.containsKey('reservations')) { - userCopy['reservations'] = >[]; - } else { - userCopy['reservations'] = List>.from( - userCopy['reservations'] ?? [], - ); - } - - _users[userCopy['email']] = userCopy; - } - - Map? getUser(String email) { - return _users[email]; - } - - bool validateCredentials(String email, String password) { - final user = _users[email]; - if (user == null) return false; - if (user['password'] == password) { - _loggedUserEmail = email; - return true; - } - return false; - } - - Map? getLoggedUser() { - if (_loggedUserEmail == null) return null; - return _users[_loggedUserEmail]; - } - - bool updateLoggedUser(Map updatedData) { - if (_loggedUserEmail == null) return false; - - final currentUser = _users[_loggedUserEmail]; - if (currentUser == null) return false; - - currentUser['name'] = updatedData['name']; - currentUser['birthDate'] = updatedData['birthDate']; - - return true; - } - - // ========== GERENCIAMENTO DE RESERVAS ========== - - List> getReservations() { - if (_loggedUserEmail == null) return []; - - final user = _users[_loggedUserEmail]; - if (user == null) return []; - - final reservations = user['reservations']; - if (reservations == null) { - user['reservations'] = []; - return []; - } - - return List>.from(reservations); - } - - bool addReservation(Map reservation) { - if (_loggedUserEmail == null) return false; - - final user = _users[_loggedUserEmail]; - if (user == null) return false; - - if (user['reservations'] == null) { - user['reservations'] = []; - } - - (user['reservations'] as List).add(reservation); - return true; - } - - bool updateReservationStatus(String reservationId, String newStatus) { - if (_loggedUserEmail == null) return false; - - final user = _users[_loggedUserEmail]; - if (user == null) return false; - - final reservations = user['reservations'] as List?; - if (reservations == null) return false; - - for (var reservation in reservations) { - if (reservation['id'] == reservationId) { - reservation['status'] = newStatus; + String? _token; + UserProfile? _loggedUser; + final Map _catalogCache = {}; + List _ownedProperties = []; + List _reservations = []; - // Se foi cancelada, libera a propriedade - if (newStatus == 'cancelled') { - final workspaceId = reservation['workspaceId']; - if (workspaceId != null) { - markPropertyAsAvailable(workspaceId.toString()); - } - } + bool get isLogged => _loggedUser != null; + String? get token => _token; + String? get userId => _loggedUser?.id; + UserProfile? get loggedUser => _loggedUser; - return true; - } - } - - return false; - } - - void initializeMockReservations() { - if (_loggedUserEmail == null) return; - - if (_usersWithInitializedReservations.contains(_loggedUserEmail)) { - return; - } - - final user = _users[_loggedUserEmail]; - if (user == null) return; - - if (user['reservations'] != null && - (user['reservations'] as List).isNotEmpty) { - _usersWithInitializedReservations.add(_loggedUserEmail!); - return; - } - - // Não inicializa mais reservas mockadas - user['reservations'] = []; - _usersWithInitializedReservations.add(_loggedUserEmail!); - } - - bool isEmailRegistered(String email) { - return _users.containsKey(email); - } - - String _onlyDigits(String value) => value.replaceAll(RegExp(r'[^0-9]'), ''); - - bool isCpfRegistered(String cpf) { - final norm = _onlyDigits(cpf); - for (final user in _users.values) { - final userCpf = user['cpf']?.toString() ?? ''; - if (_onlyDigits(userCpf) == norm && norm.isNotEmpty) return true; - } - return false; + void saveSession({required String token, required UserProfile profile}) { + _token = token; + _loggedUser = profile; } - bool isPhoneRegistered(String phone) { - final norm = _onlyDigits(phone); - for (final user in _users.values) { - final userPhone = user['phone']?.toString() ?? ''; - if (_onlyDigits(userPhone) == norm && norm.isNotEmpty) return true; - } - return false; + void updateLoggedUser(UserProfile profile) { + _loggedUser = profile; } void clearLoggedUser() { - _loggedUserEmail = null; - } - - // ========== GERENCIAMENTO DE PROPRIEDADES ========== - - final List> _allProperties = []; - - bool addProperty(Map property) { - if (_loggedUserEmail == null) return false; - - property['ownerEmail'] = _loggedUserEmail; - property['isRented'] = false; // Adiciona flag de disponibilidade - - _allProperties.add(property); - - return true; - } - - List> getAllProperties() { - return List>.from(_allProperties); - } - - // Retorna apenas propriedades disponíveis (não alugadas) - List> getAvailableProperties() { - return _allProperties - .where((property) => property['isRented'] != true) - .toList(); - } - - List> getUserProperties() { - if (_loggedUserEmail == null) return []; - - return _allProperties - .where((property) => property['ownerEmail'] == _loggedUserEmail) - .toList(); + _token = null; + _loggedUser = null; + _catalogCache.clear(); + _ownedProperties = []; + _reservations = []; } - Map? getPropertyById(String propertyId) { - try { - return _allProperties.firstWhere((prop) => prop['id'] == propertyId); - } catch (e) { - return null; - } + void cacheCatalog(List rooms) { + _catalogCache + ..clear() + ..addEntries(rooms.map((room) => MapEntry(room.id, room))); } - bool removeProperty(String propertyId) { - if (_loggedUserEmail == null) return false; - - final index = _allProperties.indexWhere( - (prop) => - prop['id'] == propertyId && prop['ownerEmail'] == _loggedUserEmail, - ); - - if (index != -1) { - _allProperties.removeAt(index); - return true; - } - - return false; + void upsertCatalogRoom(Listing room) { + _catalogCache[room.id] = room; } - bool updateProperty(String propertyId, Map updatedData) { - if (_loggedUserEmail == null) return false; - - final index = _allProperties.indexWhere( - (prop) => - prop['id'] == propertyId && prop['ownerEmail'] == _loggedUserEmail, - ); + Listing? getCatalogRoom(String id) => _catalogCache[id]; - if (index != -1) { - updatedData['ownerEmail'] = _allProperties[index]['ownerEmail']; - updatedData['id'] = _allProperties[index]['id']; - _allProperties[index] = updatedData; - return true; - } + List get catalog => List.unmodifiable(_catalogCache.values); - return false; + void cacheOwnedProperties(List properties) { + _ownedProperties = List.from(properties); } - // Marca propriedade como alugada - void markPropertyAsRented(String propertyId) { - final index = _allProperties.indexWhere((prop) => prop['id'] == propertyId); - if (index != -1) { - _allProperties[index]['isRented'] = true; - } - } + List get ownedProperties => List.unmodifiable(_ownedProperties); - // Marca propriedade como disponível - void markPropertyAsAvailable(String propertyId) { - final index = _allProperties.indexWhere((prop) => prop['id'] == propertyId); - if (index != -1) { - _allProperties[index]['isRented'] = false; - } + void cacheReservations(List reservations) { + _reservations = List.from(reservations); } - void debugPrintUsers() { - print('=== USERS DEBUG ==='); - _users.forEach((email, userData) { - print('Email: $email'); - print('Reservations: ${userData['reservations']}'); - }); - print('Logged user: $_loggedUserEmail'); - print( - 'Users with initialized reservations: $_usersWithInitializedReservations', - ); - print('Total properties: ${_allProperties.length}'); - print('Available properties: ${getAvailableProperties().length}'); - } + List get reservations => List.unmodifiable(_reservations); } diff --git a/mobile/lib/widgets/models_listing.dart b/mobile/lib/widgets/models_listing.dart deleted file mode 100644 index 019e7d7c..00000000 --- a/mobile/lib/widgets/models_listing.dart +++ /dev/null @@ -1,31 +0,0 @@ -class Listing { - final String id; - final String name; - final String address; - final List comodities; - final List pictures; - final double price; - final int capacity; - - Listing({ - required this.id, - required this.name, - required this.address, - required this.comodities, - required this.pictures, - required this.price, - required this.capacity, - }); - - factory Listing.fromJson(Map json) { - return Listing( - id: json['id']?.toString() ?? '', - name: json['name'] ?? '', - address: json['address'] ?? '', - comodities: List.from(json['comodities'] ?? []), - pictures: List.from(json['pictures'] ?? []), - price: (json['price'] as num?)?.toDouble() ?? 0.0, - capacity: json['capacity'] ?? 0, - ); - } -} \ No newline at end of file From 06d2fb3599272c824f4d6068347333da0102e688 Mon Sep 17 00:00:00 2001 From: Lucas Galhardo Date: Fri, 7 Nov 2025 23:34:33 -0300 Subject: [PATCH 2/9] =?UTF-8?q?feat:=20implementar=20funcionalidade=20de?= =?UTF-8?q?=20exclus=C3=A3o=20de=20cat=C3=A1logo=20e=20propriedade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../delete_catalogo_controller.ts | 6 ++- .../delete_property_presenter.ts | 5 ++ .../deleteProperty/delete_property_usecase.ts | 12 +++++ .../shared/domain/repo/propertyRepository.ts | 2 + .../shared/handlers/events/eventHandler.ts | 51 ++++++++++--------- .../infra/repo/propertyRepositoryMock.ts | 16 +++++- mobile/lib/models/reservation.dart | 12 +++++ mobile/lib/screens/properties_screen.dart | 4 +- mobile/lib/screens/rent_screen.dart | 7 +-- mobile/lib/services/workup_api.dart | 21 +++++++- 10 files changed, 102 insertions(+), 34 deletions(-) create mode 100644 back/microsservicos/property/app/deleteProperty/delete_property_presenter.ts create mode 100644 back/microsservicos/property/app/deleteProperty/delete_property_usecase.ts diff --git a/back/microsservicos/catalogo/app/delete_catalogo/delete_catalogo_controller.ts b/back/microsservicos/catalogo/app/delete_catalogo/delete_catalogo_controller.ts index 20cb61b5..111c3ab7 100644 --- a/back/microsservicos/catalogo/app/delete_catalogo/delete_catalogo_controller.ts +++ b/back/microsservicos/catalogo/app/delete_catalogo/delete_catalogo_controller.ts @@ -15,16 +15,18 @@ export class DeleteCatalogoController { try { const id = req.params.id; + const userID = req.body?.userID as string | undefined; if (!id) throw new Error('ID não informado') if (id.length !== 36) throw new Error('ID inválido') + if (!userID) throw new Error('O campo userID deve ser informado') const deletedCatalogo = this.usecase.execute(id) const catalogoDeletedEvent: CatalogoEvent = { eventType: CatalogoEventNames.CatalogoDeleted, payload: { - userID: "", + userID, ...deletedCatalogo } } @@ -48,4 +50,4 @@ export class DeleteCatalogoController { } -} \ No newline at end of file +} diff --git a/back/microsservicos/property/app/deleteProperty/delete_property_presenter.ts b/back/microsservicos/property/app/deleteProperty/delete_property_presenter.ts new file mode 100644 index 00000000..689cdd3b --- /dev/null +++ b/back/microsservicos/property/app/deleteProperty/delete_property_presenter.ts @@ -0,0 +1,5 @@ +import { Environments } from "../../shared/environments"; +import { DeletePropertyUsecase } from "./delete_property_usecase"; + +const repo = Environments.getPropertyRepo(); +export const deletePropertyUsecase = new DeletePropertyUsecase(repo); diff --git a/back/microsservicos/property/app/deleteProperty/delete_property_usecase.ts b/back/microsservicos/property/app/deleteProperty/delete_property_usecase.ts new file mode 100644 index 00000000..18c6993e --- /dev/null +++ b/back/microsservicos/property/app/deleteProperty/delete_property_usecase.ts @@ -0,0 +1,12 @@ +import { PropertyRepository } from "../../shared/domain/repo/propertyRepository"; + +export class DeletePropertyUsecase { + + constructor(private repo: PropertyRepository) {} + + public execute(userID: string, catalogID: string) { + const userProperties = this.repo.deleteProperty(userID, catalogID); + return userProperties; + } + +} diff --git a/back/microsservicos/property/shared/domain/repo/propertyRepository.ts b/back/microsservicos/property/shared/domain/repo/propertyRepository.ts index 11c6e2ff..5dee8b77 100644 --- a/back/microsservicos/property/shared/domain/repo/propertyRepository.ts +++ b/back/microsservicos/property/shared/domain/repo/propertyRepository.ts @@ -13,4 +13,6 @@ export interface PropertyRepository { createPropertyManagement(userID: string): PropertyManagement; createProperty(userID: string, catalog: CatalogoType): PropertyManagement; + + deleteProperty(userID: string, catalogID: string): PropertyManagement; } diff --git a/back/microsservicos/property/shared/handlers/events/eventHandler.ts b/back/microsservicos/property/shared/handlers/events/eventHandler.ts index 8f9a35af..cf3bb794 100644 --- a/back/microsservicos/property/shared/handlers/events/eventHandler.ts +++ b/back/microsservicos/property/shared/handlers/events/eventHandler.ts @@ -1,5 +1,6 @@ import { createPropertyUsecase } from "../../../app/createProperty/create_property_presenter"; import { createPropertyManagementUsecase } from "../../../app/createPropertyManagement/create_property_management_presenter"; +import { deletePropertyUsecase } from "../../../app/deleteProperty/delete_property_presenter"; import { CatalogoEventNames, UserEventNames } from "../../infra/clients/rabbitmq/enums"; import { BaseEvent } from "../../infra/clients/rabbitmq/interfaces"; import { consumeEvents } from "../../infra/clients/rabbitmq/rabbitmq"; @@ -7,31 +8,35 @@ import { catalogo, userInformation } from "../../infra/clients/rabbitmq/types"; -type EventType = keyof typeof eventsFunctions; - -const eventsFunctions: { [event in UserEventNames.UserCreated | CatalogoEventNames.CatalogoCreated] : (payload: any) => void } = { - - UserCreated: async (userInfo: userInformation) => { - const created_user = createPropertyManagementUsecase.execute(userInfo.id) - console.log(created_user) +const eventsFunctions: Record Promise | void> = { + [UserEventNames.UserCreated]: async (userInfo: userInformation) => { + const created_user = createPropertyManagementUsecase.execute(userInfo.id); + console.log(created_user); }, - CatalogoCreated: async (catalogoInfo: catalogo) => { - - const { userID, ...catalog } = catalogoInfo - - const created_catalogo = createPropertyUsecase.execute(userID, catalog) - - console.log(created_catalogo) - } - -} + [CatalogoEventNames.CatalogoCreated]: async (catalogoInfo: catalogo) => { + const { userID, ...catalog } = catalogoInfo; + const created_catalogo = createPropertyUsecase.execute(userID, catalog); + console.log(created_catalogo); + }, + [CatalogoEventNames.CatalogoDeleted]: async (catalogoInfo: catalogo) => { + const { userID, id } = catalogoInfo; + if (!userID) { + console.warn('catalogo.deleted recebido sem userID, ignorando'); + return; + } + const deleted = deletePropertyUsecase.execute(userID, id); + console.log(deleted); + }, +}; export async function eventHandler(event: BaseEvent) { try { - const { eventType, payload } = event - eventsFunctions[eventType as EventType](payload); - } catch(err) { - console.log(err) + const handler = eventsFunctions[event.eventType]; + if (handler) { + await handler(event.payload); + } + } catch (err) { + console.log(err); } } @@ -39,10 +44,10 @@ export const startQueue = async () => { try { await consumeEvents("property_queue", "user.created", eventHandler) - await consumeEvents("property_queue", "catalogo.created", eventHandler) + await consumeEvents("property_queue", "catalogo.*", eventHandler) } catch(err){ console.error("Couldn't start the service queues"); process.exit(1); } -} \ No newline at end of file +} diff --git a/back/microsservicos/property/shared/infra/repo/propertyRepositoryMock.ts b/back/microsservicos/property/shared/infra/repo/propertyRepositoryMock.ts index 5e5968c2..f88040ca 100644 --- a/back/microsservicos/property/shared/infra/repo/propertyRepositoryMock.ts +++ b/back/microsservicos/property/shared/infra/repo/propertyRepositoryMock.ts @@ -63,4 +63,18 @@ export class PropertyRepositoryMock implements PropertyRepository{ } -} \ No newline at end of file + public deleteProperty(userID: string, catalogID: string): PropertyManagement { + + const userProperties = this.baseProperty[userID] + + if(!userProperties) throw new Error('Usuário não foi encontrado') + + if(!userProperties.properties[catalogID]) throw new Error('Não foi encontrado o catálogo para esse usuário') + + delete userProperties.properties[catalogID] + + return userProperties + + } + +} diff --git a/mobile/lib/models/reservation.dart b/mobile/lib/models/reservation.dart index 24d470fc..55f4b96e 100644 --- a/mobile/lib/models/reservation.dart +++ b/mobile/lib/models/reservation.dart @@ -1,4 +1,16 @@ class Reservation { + static final Reservation empty = Reservation( + id: '', + userId: '', + workspaceId: '', + startDate: 0, + endDate: 0, + people: 0, + finalPrice: 0, + status: '', + createdAt: 0, + updatedAt: 0, + ); final String id; final String userId; final String workspaceId; diff --git a/mobile/lib/screens/properties_screen.dart b/mobile/lib/screens/properties_screen.dart index 0d2de68a..ef2eaaba 100644 --- a/mobile/lib/screens/properties_screen.dart +++ b/mobile/lib/screens/properties_screen.dart @@ -79,8 +79,10 @@ class _TelaPropriedadePageState extends State { TextButton( onPressed: () async { Navigator.of(context).pop(); + final userId = UserStorage().userId; + if (userId == null) return; try { - await _api.deleteCatalogo(propertyId); + await _api.deleteCatalogo(propertyId, userId); if (!mounted) return; await _loadUserProperties(); if (!mounted) return; diff --git a/mobile/lib/screens/rent_screen.dart b/mobile/lib/screens/rent_screen.dart index d2799482..4ccf3327 100644 --- a/mobile/lib/screens/rent_screen.dart +++ b/mobile/lib/screens/rent_screen.dart @@ -136,16 +136,13 @@ class _TelaAluguelPageState extends State { Navigator.of(context).pop(); try { - await _api.updateReservationStatus( - reservationId: reservationId, - status: 'CANCELLED', - ); + await _api.deleteReservation(reservationId); if (!mounted) return; await _loadReservations(); if (!mounted) return; ScaffoldMessenger.of(context).showSnackBar( const SnackBar( - content: Text('Reserva cancelada com sucesso'), + content: Text('Reserva removida com sucesso'), backgroundColor: Colors.green, duration: Duration(seconds: 2), ), diff --git a/mobile/lib/services/workup_api.dart b/mobile/lib/services/workup_api.dart index da8c30db..4e73805c 100644 --- a/mobile/lib/services/workup_api.dart +++ b/mobile/lib/services/workup_api.dart @@ -236,9 +236,15 @@ class WorkupApi { return Listing.fromJson(room); } - Future deleteCatalogo(String roomId) async { + Future deleteCatalogo(String roomId, String userId) async { final uri = _config.uri(WorkupService.catalogo, path: '/catalogo/$roomId'); - await _sendJson(() => _client.delete(uri)); + await _sendJson( + () => _client.delete( + uri, + headers: _jsonHeaders, + body: jsonEncode({'userID': userId}), + ), + ); } Future> fetchUserProperties(String userId) async { @@ -319,6 +325,17 @@ class WorkupApi { return Reservation.fromJson(data); } + Future deleteReservation(String reservationId) async { + final uri = _config.uri(WorkupService.aluguel, path: '/aluguel'); + await _sendJson( + () => _client.delete( + uri, + headers: _jsonHeaders, + body: jsonEncode({'id': reservationId}), + ), + ); + } + Future> _sendMultipart( http.MultipartRequest request, ) async { From 185145b954904f5db3d6c9cdb8da63384ad0a885 Mon Sep 17 00:00:00 2001 From: Lucas Galhardo Date: Fri, 7 Nov 2025 23:50:36 -0300 Subject: [PATCH 3/9] =?UTF-8?q?fix:=20traduzir=20mensagens=20de=20erro=20p?= =?UTF-8?q?ara=20portugu=C3=AAs=20nas=20funcionalidades=20de=20cria=C3=A7?= =?UTF-8?q?=C3=A3o=20e=20atualiza=C3=A7=C3=A3o=20de=20usu=C3=A1rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/create_user/create_user_usecase.ts | 8 +++---- .../app/update_user/update_user_usecase.ts | 6 ++--- mobile/lib/services/workup_api.dart | 22 +++++++++++++++---- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/back/microsservicos/user/app/create_user/create_user_usecase.ts b/back/microsservicos/user/app/create_user/create_user_usecase.ts index 25688405..4594b8dc 100644 --- a/back/microsservicos/user/app/create_user/create_user_usecase.ts +++ b/back/microsservicos/user/app/create_user/create_user_usecase.ts @@ -7,16 +7,16 @@ export class CreateUserUsecase { public execute(props: createUserPropsType) { if (!userInfoValidation.validateEmail(props.auth.username)) - throw new Error("Field email is invalid"); + throw new Error("Campo e-mail inválido"); if (!userInfoValidation.validateCPF(props.information.cpf)) - throw new Error("Field cpf is invalid"); + throw new Error("Campo CPF inválido"); if (!userInfoValidation.validateBirth(props.information.birth)) - throw new Error("Field birth must be over 18 years old"); + throw new Error("Campo nascimento deve ter mais de 18 anos"); if (!userInfoValidation.validatePhone(props.information.phone)) - throw new Error("Field phone is invalid"); + throw new Error("Campo telefone inválido"); const user_info = this.repo.createUser(props); diff --git a/back/microsservicos/user/app/update_user/update_user_usecase.ts b/back/microsservicos/user/app/update_user/update_user_usecase.ts index 01ff2031..d8e80141 100644 --- a/back/microsservicos/user/app/update_user/update_user_usecase.ts +++ b/back/microsservicos/user/app/update_user/update_user_usecase.ts @@ -7,11 +7,11 @@ export class UpdateUserUsecase { public execute(props: updateUserPropsType) { - if(props.cpf && !userInfoValidation.validateCPF(props.cpf)) throw new Error("Field user CPF is invalid") + if(props.cpf && !userInfoValidation.validateCPF(props.cpf)) throw new Error("Campo CPF inválido") - if(props.birth && !userInfoValidation.validateBirth(props.birth)) throw new Error("Field user birth must be over 18 years old") + if(props.birth && !userInfoValidation.validateBirth(props.birth)) throw new Error("Campo nascimento deve ter mais de 18 anos") - if((props.birth) && !userInfoValidation.validateBirth(props.birth)) throw new Error("Field user phone is invalid") + if((props.phone) && !userInfoValidation.validatePhone(props.phone)) throw new Error("Campo telefone inválido") const user_info = this.repo.updateUser(props) diff --git a/mobile/lib/services/workup_api.dart b/mobile/lib/services/workup_api.dart index 4e73805c..fc5cbd5b 100644 --- a/mobile/lib/services/workup_api.dart +++ b/mobile/lib/services/workup_api.dart @@ -351,16 +351,23 @@ class WorkupApi { ); } return data; - } on Exception catch (e) { + } on ApiException { + rethrow; + } on http.ClientException catch (e) { throw ApiException( message: 'Não foi possível conectar ao servidor', - details: e.toString(), + details: e.message, ); } on FormatException catch (e) { throw ApiException( message: 'Resposta inválida do servidor', details: e.message, ); + } catch (e) { + throw ApiException( + message: 'Não foi possível conectar ao servidor', + details: e.toString(), + ); } } @@ -370,16 +377,23 @@ class WorkupApi { try { final response = await request(); return _parseResponse(response); - } on Exception catch (e) { + } on ApiException { + rethrow; + } on http.ClientException catch (e) { throw ApiException( message: 'Não foi possível conectar ao servidor', - details: e.toString(), + details: e.message, ); } on FormatException catch (e) { throw ApiException( message: 'Resposta inválida do servidor', details: e.message, ); + } catch (e) { + throw ApiException( + message: 'Não foi possível conectar ao servidor', + details: e.toString(), + ); } } From 88231405f6668abf499c191ac7636029f9181ff4 Mon Sep 17 00:00:00 2001 From: Lucas Galhardo Date: Sat, 8 Nov 2025 00:02:34 -0300 Subject: [PATCH 4/9] =?UTF-8?q?refactor:=20remover=20=C3=ADcone=20de=20not?= =?UTF-8?q?ifica=C3=A7=C3=B5es=20da=20barra=20de=20cabe=C3=A7alho?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mobile/lib/widgets/header_bar.dart | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/mobile/lib/widgets/header_bar.dart b/mobile/lib/widgets/header_bar.dart index 2555587e..dbad325c 100644 --- a/mobile/lib/widgets/header_bar.dart +++ b/mobile/lib/widgets/header_bar.dart @@ -49,36 +49,6 @@ class _HeaderBarState extends State { centerTitle: true, elevation: 3, actions: [ - Stack( - children: [ - IconButton( - icon: const Icon( - Icons.notifications_outlined, - color: Colors.white, - ), - onPressed: () {}, - ), - Positioned( - right: 8, - top: 8, - child: Container( - padding: const EdgeInsets.all(4), - decoration: const BoxDecoration( - color: Colors.red, - shape: BoxShape.circle, - ), - child: const Text( - '3', - style: TextStyle( - color: Colors.white, - fontSize: 10, - fontWeight: FontWeight.bold, - ), - ), - ), - ), - ], - ), Padding( padding: const EdgeInsets.only(right: 8.0), child: GestureDetector( From a5a9a96abba8e289f7442db3bd5ac885ed922df1 Mon Sep 17 00:00:00 2001 From: Lucas Galhardo Date: Sat, 8 Nov 2025 00:03:36 -0300 Subject: [PATCH 5/9] =?UTF-8?q?feat:=20adicionar=20configura=C3=A7=C3=A3o?= =?UTF-8?q?=20de=20vari=C3=A1veis=20de=20ambiente=20para=20a=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mobile/.env.example | 7 ++++++ mobile/lib/services/api_config.dart | 35 +++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 mobile/.env.example diff --git a/mobile/.env.example b/mobile/.env.example new file mode 100644 index 00000000..9a6da535 --- /dev/null +++ b/mobile/.env.example @@ -0,0 +1,7 @@ +WORKUP_API_BASE=http://localhost +WORKUP_API_HOST=localhost +WORKUP_CATALOGO_PORT=4000 +WORKUP_USER_PORT=4001 +WORKUP_ALUGUEL_PORT=4002 +WORKUP_AVAILABILITY_PORT=4003 +WORKUP_PROPERTY_PORT=4004 diff --git a/mobile/lib/services/api_config.dart b/mobile/lib/services/api_config.dart index e4242910..4323b6d1 100644 --- a/mobile/lib/services/api_config.dart +++ b/mobile/lib/services/api_config.dart @@ -11,6 +11,8 @@ class ApiConfig { ApiConfig._internal(); static final ApiConfig instance = ApiConfig._internal(); + static const String _baseOverride = + String.fromEnvironment('WORKUP_API_BASE', defaultValue: ''); static const String _defaultScheme = String.fromEnvironment( 'WORKUP_API_SCHEME', defaultValue: 'http', @@ -52,6 +54,18 @@ class ApiConfig { }) { final sanitizedPath = path.startsWith('/') ? path : '/$path'; + if (_baseOverride.isNotEmpty) { + final base = Uri.parse(_baseOverride); + final combinedPath = _combinePaths(base.path, sanitizedPath); + return base.replace( + path: combinedPath, + queryParameters: _mergeQueries( + base.queryParameters, + _stringifyQuery(queryParameters), + ), + ); + } + return Uri( scheme: scheme, host: _host, @@ -106,4 +120,25 @@ class ApiConfig { return value; } + + String _combinePaths(String basePath, String extraPath) { + if (basePath.endsWith('/')) { + basePath = basePath.substring(0, basePath.length - 1); + } + return '$basePath$extraPath'; + } + + Map? _mergeQueries( + Map? base, + Map? extra, + ) { + if ((base == null || base.isEmpty) && + (extra == null || extra.isEmpty)) { + return null; + } + final merged = {}; + if (base != null) merged.addAll(base); + if (extra != null) merged.addAll(extra); + return merged; + } } From 77577961b7bf321786f5cbd2c7d0a1d627376c57 Mon Sep 17 00:00:00 2001 From: Lucas Galhardo Date: Sat, 8 Nov 2025 00:04:45 -0300 Subject: [PATCH 6/9] =?UTF-8?q?feat:=20atualizar=20favicon=20da=20aplica?= =?UTF-8?q?=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mobile/web/favicon.png | Bin 917 -> 1410953 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mobile/web/favicon.png b/mobile/web/favicon.png index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..0fa1cc34cee2070a679829f959bcfa8dcbdb4041 100644 GIT binary patch literal 1410953 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 x{x)RwZCe=XmT*G)T_2vl-kw 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]QZv8&o1L3g!^e)}+Qu($;BM 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%0AM02^HATZknI%XK!YJ^)qDF- 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