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:get/get.dart';
import 'package:intl/intl.dart';
//import '../pages/login/login_view.dart';
import '../pages/login/login_view.dart'; import '../pages/login/login_view.dart';
import '../services/appwrite_service.dart'; import '../services/appwrite_service.dart';
class HomeController extends GetxController { class HomeController extends GetxController {
final szHeaderHome = 'Home Page'.obs; final szHeaderHome = 'Tankstops'.obs;
late AppWriteProvider appwriteProvider; late AppWriteProvider appwriteProvider;
final dateFormat = DateFormat('yyyy-MM-dd');
@override @override
void onInit() { void onInit() {
appwriteProvider = AppWriteProvider(); appwriteProvider = AppWriteProvider();
_loadList();
super.onInit(); super.onInit();
} }
@@ -29,4 +33,13 @@ class HomeController extends GetxController {
await Get.offAllNamed(LoginPage.namedRoute); 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; return isLoggedOut;
} }
void _goToHomePage() async { Future<void> _goToHomePage() async {
await Get.offAllNamed(HomePage.namedRoute); await Get.offAndToNamed(HomePage.namedRoute);
} }
} }

View File

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

View File

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

View File

@@ -184,6 +184,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.2" version: "4.1.2"
intl:
dependency: "direct main"
description:
name: intl
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
url: "https://pub.dev"
source: hosted
version: "0.20.2"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:

View File

@@ -15,6 +15,7 @@ dependencies:
sdk: flutter sdk: flutter
flutter_dotenv: ^6.0.0 flutter_dotenv: ^6.0.0
get: ^4.7.2 get: ^4.7.2
intl: ^0.20.2
dev_dependencies: dev_dependencies:
flutter_lints: ^5.0.0 flutter_lints: ^5.0.0