Example #1
0
 constructor(private afs: AngularFirestore, private authService: AuthService) {
   this.usersCollection = afs.collection<User>('users');
   this.user = this.usersCollection.snapshotChanges().pipe(
     map(actions => actions.map(a => {
       const data = a.payload.doc.data() as User;
       const id = a.payload.doc.id;
       return { id, ...data };
     }))
   );
   this.redCollection = afs.collection<Red>('red');
   this.red = this.redCollection.snapshotChanges().pipe(
     map(actions => actions.map(a => {
       const data = a.payload.doc.data() as Red;
       const id = a.payload.doc.id;
       return { id, ...data };
     }))
   );
   this.coorCollection = afs.collection<Coordenadas>('coordenadas');
   this.coor = this.coorCollection.snapshotChanges().pipe(
     map(actions => actions.map(a => {
       const data = a.payload.doc.data() as Coordenadas;
       const id = a.payload.doc.id;
       return { id, ...data };
     }))
   );
 }
Example #2
0
    async criarRodada(jogadoresParticipantes, jogoId, rodadaNro) {
        var count = 0;
        
        const jogadorComeca = rodadaNro >= jogadoresParticipantes.length ? rodadaNro % jogadoresParticipantes.length : rodadaNro;
        var rodadaDoc = this.jogos.doc(jogoId).collection("rodadas").doc(rodadaNro.toString());
        
        await new Promise(resolve => {
            rodadaDoc.set({
                manilha: null,
                comeca: jogadorComeca,
                vez: jogadorComeca,
                etapa: Etapa.embaralhar,
                jogadoresCount: jogadoresParticipantes.length
            }).then(res => resolve());
        });
        
        jogadoresParticipantes.forEach(jogador => {
            rodadaDoc.collection("jogadores").doc(count.toString()).set({
                jogadorId: jogador.id,
                nome: jogador.nome,
                cor: jogador.cor,
                fez: 0,
                cartas: null,
                palpite: null
            });
            count++;
        }); 

        this.jogos.doc(jogoId).update({rodada: rodadaNro});
    }
 ngOnInit() {
   this.movieCollection = this.userService.getMovieCollection();
   this.movies$ = this.movieCollection.valueChanges().pipe(
     map(Movie.fromFirebaseCollection),
     share()
   );
 }
 createNote(content: string) {
   const note = {
     content,
     hearts: 0,
     time: new Date().getTime(),
   };
   return this.notesCollection.add(note);
 }
Example #5
0
 getBooks() {
   this.books = this.booksCollection.snapshotChanges().pipe(
       map(collection => collection.map(document => {
           const data = document.payload.doc.data() as Book;
           const id = document.payload.doc.id;
           return { id, ...data };
       })));
   return this.books;
 }
Example #6
0
 jogadoresParticipantes.forEach(jogador => {
     this.jogos.doc(id).collection(config.jogadorDB).doc(jogador.id).set({
         nome: jogador.nome,
         cor: jogador.cor,
         vidas: 5,
         removido: false,
         jogando: true
     });
 });
Example #7
0
 return new Promise(resolve => {
     this.jogos.add(jogo).then(function(docRef) {
         this.cookieService.set("jogoId", docRef.id );
         resolve(docRef.id);
     }.bind(this))
     .catch(function(error) {
         console.error("Error adding document: ", error);
         resolve(null);
     });
 });
 getData(): Observable<any[]> {
   // ['added', 'modified', 'removed']
   return this.notesCollection.snapshotChanges().pipe(
     map((actions) => {
       return actions.map((a) => {
         const data = a.payload.doc.data();
         return { id: a.payload.doc.id, ...data };
       });
     })
   );
 }
Example #9
0
 addrodada(rodada) {
     this.rodadas.add(rodada);
 }
Example #10
0
 addCoordenadas(coor: Coordenadas) {
   this.coorCollection.add(coor);
 }