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 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import './models/user_model.dart';
|
||||||
|
import './resources/firebase_provider.dart';
|
||||||
|
|
||||||
class App extends StatelessWidget {
|
class App extends StatelessWidget {
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final fire = FirebaseProvider();
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
title: 'Do more',
|
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 {
|
class SummaryModel {
|
||||||
final int completedMonday;
|
int completedMonday;
|
||||||
final int addedMonday;
|
int addedMonday;
|
||||||
final int completedTuesday;
|
int completedTuesday;
|
||||||
final int addedTuesday;
|
int addedTuesday;
|
||||||
final int completedWednesday;
|
int completedWednesday;
|
||||||
final int addedWednesday;
|
int addedWednesday;
|
||||||
final int completedThursday;
|
int completedThursday;
|
||||||
final int addedThursday;
|
int addedThursday;
|
||||||
final int completedFriday;
|
int completedFriday;
|
||||||
final int addedFriday;
|
int addedFriday;
|
||||||
|
|
||||||
SummaryModel({
|
SummaryModel({
|
||||||
this.completedMonday,
|
this.completedMonday,
|
||||||
|
|
@ -23,15 +26,17 @@ class SummaryModel {
|
||||||
this.addedFriday,
|
this.addedFriday,
|
||||||
});
|
});
|
||||||
|
|
||||||
SummaryModel.fromMap(Map<String, dynamic> map)
|
/// Returns a [SummaryModel] from a map.
|
||||||
: completedMonday = map["completedMonday"],
|
SummaryModel.fromMap(Map<String, dynamic> map) {
|
||||||
addedMonday = map["addedMonday"],
|
completedMonday = map["completedMonday"];
|
||||||
completedTuesday = map["completedTuesday"],
|
addedMonday = map["addedMonday"];
|
||||||
addedTuesday = map["addedTuesday"],
|
completedTuesday = map["completedTuesday"];
|
||||||
completedWednesday = map["completedWednesday"],
|
addedTuesday = map["addedTuesday"];
|
||||||
addedWednesday = map["addedWednesday"],
|
completedWednesday = map["completedWednesday"];
|
||||||
completedThursday = map["completedThursday"],
|
addedWednesday = map["addedWednesday"];
|
||||||
addedThursday = map["addedThursday"],
|
completedThursday = map["completedThursday"];
|
||||||
completedFriday = map["completedFriday"],
|
addedThursday = map["addedThursday"];
|
||||||
addedFriday = map["addedFriday"];
|
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';
|
import 'summary_model.dart';
|
||||||
|
|
||||||
|
/// An app user.
|
||||||
|
///
|
||||||
|
/// Represents all of a users data.
|
||||||
class UserModel {
|
class UserModel {
|
||||||
final String username;
|
final String username;
|
||||||
final List<int> tasks;
|
final List<int> tasks;
|
||||||
|
|
@ -25,10 +28,12 @@ class UserModel {
|
||||||
assert(pendingMedium != null),
|
assert(pendingMedium != null),
|
||||||
assert(pendingLow != null);
|
assert(pendingLow != null);
|
||||||
|
|
||||||
|
///Returns a [UserModel] from a map.
|
||||||
UserModel.fromFirestore(Map<String, dynamic> firestoreMap)
|
UserModel.fromFirestore(Map<String, dynamic> firestoreMap)
|
||||||
: username = firestoreMap["username"],
|
: username = firestoreMap["username"],
|
||||||
tasks = firestoreMap["tasks"].cast<int>(),
|
tasks = firestoreMap["tasks"].cast<int>(),
|
||||||
summary = SummaryModel.fromMap(firestoreMap),
|
summary =
|
||||||
|
SummaryModel.fromMap(firestoreMap["summary"].cast<String, int>()),
|
||||||
userId = firestoreMap["userId"],
|
userId = firestoreMap["userId"],
|
||||||
pendingHigh = firestoreMap["pendingHigh"],
|
pendingHigh = firestoreMap["pendingHigh"],
|
||||||
pendingMedium = firestoreMap["pendingMedium"],
|
pendingMedium = firestoreMap["pendingMedium"],
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,8 @@ dependencies:
|
||||||
http: ^0.12.0
|
http: ^0.12.0
|
||||||
sqflite: ^1.1.0
|
sqflite: ^1.1.0
|
||||||
rxdart: ^0.20.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
|
cloud_firestore: ^0.9.0
|
||||||
firebase_auth: ^0.8.1
|
firebase_auth: ^0.8.1
|
||||||
firebase_ml_vision: ^0.6.0
|
firebase_ml_vision: ^0.6.0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue