replace: swap prosappweb content for prosapp_web_app (more complete version)
prosapp_web_app has chat, dashboard, calendar, support, 13 providers and Fluro URL routing. Keep Dockerfile + nginx.conf from previous prosappweb. Upgrade google_fonts 6.2.1 → 8.1.0 (Dart 3.12 compat fix). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
74a4f41902
commit
15175c1b91
@@ -0,0 +1,116 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:prosapp_web_app/models/service_location_preferences.dart';
|
||||
import 'package:prosapp_web_app/models/service_status.dart';
|
||||
|
||||
class Service {
|
||||
final String? id;
|
||||
final String professionalId;
|
||||
final bool professionalScored;
|
||||
final String userId;
|
||||
final bool userScored;
|
||||
final String address;
|
||||
final String aditionalAddress;
|
||||
final double latitude;
|
||||
final double longitude;
|
||||
final String day;
|
||||
final Timestamp createdAt;
|
||||
final String description;
|
||||
final TimeOfDay range1Hour1;
|
||||
final TimeOfDay range1Hour2;
|
||||
final String rate;
|
||||
final ServiceStatus status;
|
||||
final ServiceLocationPreferences location;
|
||||
|
||||
Service({
|
||||
required this.id,
|
||||
required this.professionalId,
|
||||
required this.professionalScored,
|
||||
required this.userId,
|
||||
required this.userScored,
|
||||
required this.address,
|
||||
required this.aditionalAddress,
|
||||
required this.latitude,
|
||||
required this.longitude,
|
||||
required this.day,
|
||||
required this.createdAt,
|
||||
required this.description,
|
||||
required this.range1Hour1,
|
||||
required this.range1Hour2,
|
||||
required this.rate,
|
||||
required this.status,
|
||||
required this.location,
|
||||
});
|
||||
|
||||
static Service fromJson(Map<String, dynamic> doc, String id) {
|
||||
return Service(
|
||||
id: id,
|
||||
professionalId: doc['professional_id'] as String,
|
||||
professionalScored: doc['professional_scored'] as bool,
|
||||
userId: doc['user_id'] as String,
|
||||
userScored: doc['user_scored'] as bool,
|
||||
address: doc['address'] as String,
|
||||
aditionalAddress: doc['aditional_address'] as String,
|
||||
latitude: doc['latitude'] as double,
|
||||
longitude: doc['longitude'] as double,
|
||||
day: doc['day'] as String,
|
||||
createdAt: doc['created_at'] as Timestamp,
|
||||
description: doc['description'] as String,
|
||||
range1Hour1: parseTimeOfDay(doc['range1_hour1'] as String),
|
||||
range1Hour2: parseTimeOfDay(doc['range1_hour2'] as String),
|
||||
status: intToEnumService(doc['status'] as int),
|
||||
rate: doc['rate'] as String,
|
||||
location: intToEnum(doc['location'] as int),
|
||||
);
|
||||
}
|
||||
|
||||
static Service fromDocument(DocumentSnapshot<Map<String, dynamic>> doc) {
|
||||
return fromJson(doc.data()!, doc.id);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toDocument() {
|
||||
return {
|
||||
'id': id,
|
||||
'professional_id': professionalId,
|
||||
'professional_scored': professionalScored,
|
||||
'user_id': userId,
|
||||
'user_scored': userScored,
|
||||
'address': address,
|
||||
'aditional_address': aditionalAddress,
|
||||
'latitude': latitude,
|
||||
'longitude': longitude,
|
||||
'day': day,
|
||||
'created_at': createdAt,
|
||||
'description': description,
|
||||
'range1_hour1': formatTimeOfDay(range1Hour1),
|
||||
'range1_hour2': formatTimeOfDay(range1Hour2),
|
||||
'rate': rate,
|
||||
'status': enumToIntService(status),
|
||||
'location': enumToInt(location),
|
||||
};
|
||||
}
|
||||
|
||||
static TimeOfDay parseTimeOfDay(String timeString) {
|
||||
final parts = timeString.split(':');
|
||||
return TimeOfDay(hour: int.parse(parts[0]), minute: int.parse(parts[1]));
|
||||
}
|
||||
|
||||
String? formatTimeOfDay(TimeOfDay? time) {
|
||||
if (time != null) {
|
||||
return "${time.hour.toString()}:${time.minute.toString()}";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return '''Service {
|
||||
professionalId: $professionalId,
|
||||
userId: $userId,
|
||||
day: $day,
|
||||
createdAt: $createdAt,
|
||||
status: $status,
|
||||
location: $location
|
||||
}''';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user