| 1234567891011121314151617181920212223242526272829303132333435 |
- import 'package:cloud_firestore/cloud_firestore.dart';
- import 'package:firebase_auth/firebase_auth.dart';
- import '../models/score.dart';
- class WalkingServices {
- static final db = FirebaseFirestore.instance;
- static dynamic addScore(Score score) async {
- // final user = {"score": score.points, "distance": score.distance};
- final walkingScore = await db
- .collection("WalkingScores")
- .where("user", isEqualTo: FirebaseAuth.instance.currentUser?.uid)
- .get();
- if(walkingScore.docs.isEmpty){
- db
- .collection("WalkingScores")
- .add({"score":score.points,"user":FirebaseAuth.instance.currentUser?.uid });
- }
- else{
- db
- .collection("WalkingScores")
- .doc(walkingScore.docs.first.id)
- .update({"score": walkingScore.docs.first.get("score") + score.points});
- }
- final user = await db
- .collection("profileInfo")
- .doc(FirebaseAuth.instance.currentUser?.uid).get();
- db
- .collection("profileInfo")
- .doc(FirebaseAuth.instance.currentUser?.uid)
- .update({"total_points":user.get("total_points") + score.points});
- }
- }
|