diff --git a/Sources/justMUSIC/lib/model/mapper/PostMapper.dart b/Sources/justMUSIC/lib/model/mapper/PostMapper.dart new file mode 100644 index 0000000..6768403 --- /dev/null +++ b/Sources/justMUSIC/lib/model/mapper/PostMapper.dart @@ -0,0 +1,15 @@ +import '../Post.dart'; + +class PostMapper { + static Map toFirebase(Post post) { + return { + "user_id": post.idUser, + "description": post.description ?? "", + "date": post.date, + "place": post.location ?? "", + "selfie": post.selfie ?? "", + "song_id": post.idMusic, + "likes": post.nblikes + }; + } +} \ No newline at end of file diff --git a/Sources/justMUSIC/lib/service/AuthService.dart b/Sources/justMUSIC/lib/services/AuthService.dart similarity index 100% rename from Sources/justMUSIC/lib/service/AuthService.dart rename to Sources/justMUSIC/lib/services/AuthService.dart diff --git a/Sources/justMUSIC/lib/services/PostService.dart b/Sources/justMUSIC/lib/services/PostService.dart new file mode 100644 index 0000000..499533d --- /dev/null +++ b/Sources/justMUSIC/lib/services/PostService.dart @@ -0,0 +1,17 @@ +import '../main.dart'; +import '../model/Post.dart'; +import '../model/mapper/PostMapper.dart'; + +class PostService { + createPost(Post post) { + MyApp.db + .collection("posts") + .add(PostMapper.toFirebase(post)) + .then((value) => print("Post Added")) + .catchError((error) => print("Failed to add post: $error")); + } + + deletePost() {} + + getPostsById(String id) {} +} diff --git a/Sources/justMUSIC/lib/service/UserService.dart b/Sources/justMUSIC/lib/services/UserService.dart similarity index 100% rename from Sources/justMUSIC/lib/service/UserService.dart rename to Sources/justMUSIC/lib/services/UserService.dart diff --git a/Sources/justMUSIC/lib/values/keys.dart b/Sources/justMUSIC/lib/values/keys.dart new file mode 100644 index 0000000..4654117 --- /dev/null +++ b/Sources/justMUSIC/lib/values/keys.dart @@ -0,0 +1 @@ +const geoKey = "85a2724ad38b3994c2b7ebe1d239bbff"; diff --git a/Sources/justMUSIC/lib/view_model/PostViewModel.dart b/Sources/justMUSIC/lib/view_model/PostViewModel.dart index d1bcca3..0ee2ec2 100644 --- a/Sources/justMUSIC/lib/view_model/PostViewModel.dart +++ b/Sources/justMUSIC/lib/view_model/PostViewModel.dart @@ -1,8 +1,10 @@ import 'package:justmusic/model/Post.dart'; +import 'package:justmusic/services/PostService.dart'; class PostViewModel { List _postsFriends = []; List _bestPosts = []; + final PostService _postService = PostService(); // Constructor PostViewModel(); @@ -13,6 +15,10 @@ class PostViewModel { List get bestPosts => _bestPosts; // Methods + addPost(Post post) async { + await _postService.createPost(post); + } + List getPostsFriends() { throw new Error(); } diff --git a/Sources/justMUSIC/lib/view_model/UserViewModel.dart b/Sources/justMUSIC/lib/view_model/UserViewModel.dart index 5d41ebc..f1afb2b 100644 --- a/Sources/justMUSIC/lib/view_model/UserViewModel.dart +++ b/Sources/justMUSIC/lib/view_model/UserViewModel.dart @@ -1,5 +1,5 @@ import 'package:firebase_auth/firebase_auth.dart' as firebase_auth; -import 'package:justmusic/service/AuthService.dart'; +import 'package:justmusic/services/AuthService.dart'; import '../model/User.dart'; import '../model/mapper/UserMapper.dart';