appwrite repo mod

This commit is contained in:
2026-01-21 14:31:52 +01:00
parent 7c509419d6
commit ea3e6426ec
6 changed files with 43 additions and 23 deletions

View File

@@ -1,15 +1,19 @@
import 'package:get/get.dart';
import 'package:intl/intl.dart';
//import '../pages/login/login_view.dart';
import '../pages/login/login_view.dart';
import '../services/appwrite_service.dart';
class HomeController extends GetxController {
final szHeaderHome = 'Home Page'.obs;
final szHeaderHome = 'Tankstops'.obs;
late AppWriteProvider appwriteProvider;
final dateFormat = DateFormat('yyyy-MM-dd');
@override
void onInit() {
appwriteProvider = AppWriteProvider();
_loadList();
super.onInit();
}
@@ -29,4 +33,13 @@ class HomeController extends GetxController {
await Get.offAllNamed(LoginPage.namedRoute);
}
}
Future<void> _loadList() async {
var user = await appwriteProvider.account!.get();
var userId = user.$id;
var szDate = dateFormat.format(DateTime.now());
var documentsList = await appwriteProvider.listTankStops(userId, szDate);
// Verarbeiten Sie documentsList nach Bedarf
print('Loaded ${documentsList.toMap()} tank stops for user $userId ab dem Datum $szDate');
}
}

View File

@@ -147,7 +147,7 @@ class LoginController extends GetxController {
return isLoggedOut;
}
void _goToHomePage() async {
await Get.offAllNamed(HomePage.namedRoute);
Future<void> _goToHomePage() async {
await Get.offAndToNamed(HomePage.namedRoute);
}
}

View File

@@ -3,7 +3,7 @@ import 'package:get/get.dart';
import '../../controllers/home_controller.dart';
class HomePage extends GetView<HomeController> {
static const String namedRoute = '/home';
static const String namedRoute = '/home-page';
const HomePage({super.key});
@override
@@ -15,25 +15,28 @@ class HomePage extends GetView<HomeController> {
child: Scaffold(
appBar: AppBar(
backgroundColor: Colors.grey.shade500,
leading: IconButton(
icon: Icon(Icons.arrow_back, color: Colors.grey.shade200),
onPressed: () {
// Verhindert das Zurücknavigieren
homeCtrl.goToLoginPage();
},
),
title: Text(
homeCtrl.szHeaderHome.value,
style: TextStyle(color: Colors.grey.shade200),
title: Obx(
() => Text(
homeCtrl.szHeaderHome.value,
style: TextStyle(color: Colors.grey.shade200),
),
),
centerTitle: true,
actions: [
IconButton(
icon: Icon(Icons.logout, color: Colors.grey.shade200),
onPressed: () {
homeCtrl.goToLoginPage();
},
),
],
),
body: Container(
decoration: BoxDecoration(color: Colors.grey.shade400),
padding: EdgeInsets.all(20),
child: Center(
child: Text(
'You are on the Home Page...\nPress the back arrow to logout.\nThis is a Template to use...',
'You are on the Home Page...\nPress exit to logout.\nThis is a Template to use...',
style: TextStyle(
color: Colors.grey.shade800,
fontSize: 24,

View File

@@ -1,5 +1,3 @@
import 'package:appwrite/appwrite.dart';
import 'package:appwrite/models.dart' as models;
import 'package:flutter_dotenv/flutter_dotenv.dart';
@@ -8,11 +6,9 @@ class AppWriteProvider {
final szEndpoint = dotenv.env['APPWRITE_ENDPOINT_URL'] ?? '';
final szProjectID = dotenv.env['APPWRITE_PROJECT_ID'] ?? '';
final szDatabaseID = dotenv.env['APPWRITE_DATABASE_ID'] ?? '';
final szCollectionID = dotenv.env['APPWRITE_COLLECTION_ID'] ?? '';
final szCollectionID = dotenv.env['APPWRITE_COLLECTION_ID'] ?? '';
final bSelfSignd = dotenv.env['APPWRITE_SELF_SIGNED'] == 'true';
Client client = Client();
Account? account;
Storage? storage;
@@ -119,12 +115,11 @@ class AppWriteProvider {
return response;
}
Future<models.DocumentList> listTankStops(String userId) async {
Future<models.DocumentList> listTankStops(String userId, String szDate) async {
final response = await database!.listDocuments(
databaseId: szDatabaseID,
collectionId: szCollectionID,
queries: [Query.equal('userId', userId)],
);
queries: [Query.equal('userId', userId), Query.greaterThanEqual('date', szDate)]);
return response;
}