Added [EventModel] and [TaskModel]
This commit is contained in:
parent
4ab33d377f
commit
5c2375fb21
7 changed files with 129 additions and 24 deletions
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildSystemType</key>
|
||||
<string>Original</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -1,10 +1,39 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import './models/user_model.dart';
|
||||
import './resources/firebase_provider.dart';
|
||||
|
||||
class App extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final fire = FirebaseProvider();
|
||||
return MaterialApp(
|
||||
title: 'Do more',
|
||||
home: Text('Start'),
|
||||
//home: Text('Start'),
|
||||
home: Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('DO>'),
|
||||
),
|
||||
body: StreamBuilder(
|
||||
stream: fire.getUser('mariano159357'),
|
||||
builder:
|
||||
(BuildContext context, AsyncSnapshot<UserModel> userSnapshot) {
|
||||
if (!userSnapshot.hasData) {
|
||||
return Center(
|
||||
child: CircularProgressIndicator(),
|
||||
);
|
||||
}
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
Text('${userSnapshot.data.pendingHigh}'),
|
||||
MaterialButton(
|
||||
onPressed: () {},
|
||||
child: Text('Add task'),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
33
lib/src/models/event_model.dart
Normal file
33
lib/src/models/event_model.dart
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import 'package:meta/meta.dart';
|
||||
|
||||
class EventModel {
|
||||
final String name;
|
||||
final int pendigTasks;
|
||||
final List<bool> when;
|
||||
final List<String> media;
|
||||
final List<String> tasks;
|
||||
final int highPriority;
|
||||
final int mediumPriority;
|
||||
final int lowPriority;
|
||||
|
||||
EventModel({
|
||||
@required this.name,
|
||||
@required this.pendigTasks,
|
||||
@required this.when,
|
||||
@required this.media,
|
||||
@required this.tasks,
|
||||
@required this.highPriority,
|
||||
@required this.mediumPriority,
|
||||
@required this.lowPriority,
|
||||
});
|
||||
|
||||
EventModel.fromFirestore(Map<String, dynamic> firestoreMap)
|
||||
: name = firestoreMap["name"],
|
||||
pendigTasks = firestoreMap["pendingTasks"],
|
||||
when = firestoreMap["when"].cast<bool>(),
|
||||
media = firestoreMap["media"].cast<String>(),
|
||||
tasks = firestoreMap["tasks"].cast<String>(),
|
||||
highPriority = firestoreMap["highPriority"],
|
||||
mediumPriority = firestoreMap["mediumPriority"],
|
||||
lowPriority = firestoreMap["lowPriority"];
|
||||
}
|
||||
|
|
@ -1,14 +1,17 @@
|
|||
/// A summary of a user's week.
|
||||
///
|
||||
/// It represents how many tasks were completed and added by a user every day.
|
||||
class SummaryModel {
|
||||
final int completedMonday;
|
||||
final int addedMonday;
|
||||
final int completedTuesday;
|
||||
final int addedTuesday;
|
||||
final int completedWednesday;
|
||||
final int addedWednesday;
|
||||
final int completedThursday;
|
||||
final int addedThursday;
|
||||
final int completedFriday;
|
||||
final int addedFriday;
|
||||
int completedMonday;
|
||||
int addedMonday;
|
||||
int completedTuesday;
|
||||
int addedTuesday;
|
||||
int completedWednesday;
|
||||
int addedWednesday;
|
||||
int completedThursday;
|
||||
int addedThursday;
|
||||
int completedFriday;
|
||||
int addedFriday;
|
||||
|
||||
SummaryModel({
|
||||
this.completedMonday,
|
||||
|
|
@ -23,15 +26,17 @@ class SummaryModel {
|
|||
this.addedFriday,
|
||||
});
|
||||
|
||||
SummaryModel.fromMap(Map<String, dynamic> map)
|
||||
: completedMonday = map["completedMonday"],
|
||||
addedMonday = map["addedMonday"],
|
||||
completedTuesday = map["completedTuesday"],
|
||||
addedTuesday = map["addedTuesday"],
|
||||
completedWednesday = map["completedWednesday"],
|
||||
addedWednesday = map["addedWednesday"],
|
||||
completedThursday = map["completedThursday"],
|
||||
addedThursday = map["addedThursday"],
|
||||
completedFriday = map["completedFriday"],
|
||||
addedFriday = map["addedFriday"];
|
||||
/// Returns a [SummaryModel] from a map.
|
||||
SummaryModel.fromMap(Map<String, dynamic> map) {
|
||||
completedMonday = map["completedMonday"];
|
||||
addedMonday = map["addedMonday"];
|
||||
completedTuesday = map["completedTuesday"];
|
||||
addedTuesday = map["addedTuesday"];
|
||||
completedWednesday = map["completedWednesday"];
|
||||
addedWednesday = map["addedWednesday"];
|
||||
completedThursday = map["completedThursday"];
|
||||
addedThursday = map["addedThursday"];
|
||||
completedFriday = map["completedFriday"];
|
||||
addedFriday = map["addedFriday"];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
24
lib/src/models/task_model.dart
Normal file
24
lib/src/models/task_model.dart
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import 'package:meta/meta.dart';
|
||||
|
||||
class TaskModel {
|
||||
final String text;
|
||||
final int priority;
|
||||
final String ownerUsername;
|
||||
final bool done;
|
||||
final String event;
|
||||
|
||||
TaskModel({
|
||||
@required this.text,
|
||||
@required this.priority,
|
||||
@required this.ownerUsername,
|
||||
@required this.done,
|
||||
@required this.event,
|
||||
});
|
||||
|
||||
TaskModel.fromFirestore(Map<String, dynamic> firestoreMap)
|
||||
: text = firestoreMap["text"],
|
||||
priority = firestoreMap["priority"],
|
||||
ownerUsername = firestoreMap["ownerUsername"],
|
||||
done = firestoreMap["done"],
|
||||
event = firestoreMap["event"];
|
||||
}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
import 'summary_model.dart';
|
||||
|
||||
/// An app user.
|
||||
///
|
||||
/// Represents all of a users data.
|
||||
class UserModel {
|
||||
final String username;
|
||||
final List<int> tasks;
|
||||
|
|
@ -25,10 +28,12 @@ class UserModel {
|
|||
assert(pendingMedium != null),
|
||||
assert(pendingLow != null);
|
||||
|
||||
///Returns a [UserModel] from a map.
|
||||
UserModel.fromFirestore(Map<String, dynamic> firestoreMap)
|
||||
: username = firestoreMap["username"],
|
||||
tasks = firestoreMap["tasks"].cast<int>(),
|
||||
summary = SummaryModel.fromMap(firestoreMap),
|
||||
summary =
|
||||
SummaryModel.fromMap(firestoreMap["summary"].cast<String, int>()),
|
||||
userId = firestoreMap["userId"],
|
||||
pendingHigh = firestoreMap["pendingHigh"],
|
||||
pendingMedium = firestoreMap["pendingMedium"],
|
||||
|
|
|
|||
|
|
@ -22,7 +22,8 @@ dependencies:
|
|||
http: ^0.12.0
|
||||
sqflite: ^1.1.0
|
||||
rxdart: ^0.20.0
|
||||
firebase_core: ^0.3.0+2
|
||||
firebase_core: ^0.3.0
|
||||
firebase_analytics: ^2.0.2
|
||||
cloud_firestore: ^0.9.0
|
||||
firebase_auth: ^0.8.1
|
||||
firebase_ml_vision: ^0.6.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue