1.2.1 • Published 4 years ago

@dev.arlamend7/angular-fire v1.2.1

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

AngularFire

bitbucket Project

Biblioteca gerada a partir do Angular CLI versão 8.2.14.

Biblioteca resumidamente é um simplificador do mapeamento com o banco do angularFire2 a paritr de uma classe.

Para a facil implementeação necessita de ter criado o aplicativo no Firebase

Npm Package

import { Observable } from 'rxjs';
import { firestore } from 'firebase';
export declare class FireStoreBase<T> {
    private FireStore;
    ColletionName: string;
    Colletion: firestore.CollectionReference;
    constructor(FireStore: firestore.Firestore);
    SetColletion(colletionName: string): void;
    Object(id: string): firestore.DocumentReference<firestore.DocumentData>;
    mapForQuery(actions: firestore.QuerySnapshot<firestore.DocumentData>): T[];
    GetAll(): Observable<T[]>;
    Get(id: string): Observable<T>;
    Insert(data: T): Observable<T>;
    Update(data: T, id: string): Observable<void>;
    Delete(id: string): Observable<void>;
    SimpleQuery(field: string, options: firebase.firestore.WhereFilterOp, value: any): Observable<T[]>;
}
import { storage } from 'firebase';
import { StorageData } from '../models/storage-data';
export declare class FireStorageService {
    Storage: storage.Storage;
    constructor(Storage: storage.Storage);
    Save(path: String, file: File): storage.UploadTask;
    GetInitPath(): Promise<storage.ListResult>;
    GetPath(path: string): Promise<storage.ListResult>;
    Get(fullPath: string): StorageData;
}

E para o Fire Auth

import { auth } from "firebase";
export declare class FireAuthService {
    private angularFireAuth;
    user: firebase.auth.UserCredential;
    constructor(angularFireAuth: auth.Auth);
    CreateUser(email: string, password: string): import("rxjs").Observable<auth.UserCredential>;
    Login(email: string, password: string): import("rxjs").Observable<auth.UserCredential>;
    Logout(): import("rxjs").Observable<void>;
    LogAnonymously(): import("rxjs").Observable<auth.UserCredential>;
    LoginWithGoogle(provider?: firebase.auth.GoogleAuthProvider): import("rxjs").Observable<auth.UserCredential>;
    LoginWithTwitter(provider?: firebase.auth.TwitterAuthProvider): import("rxjs").Observable<auth.UserCredential>;
    LoginWithGitHub(provider?: firebase.auth.GoogleAuthProvider): import("rxjs").Observable<auth.UserCredential>;
    LoginWithFacebook(provider?: firebase.auth.GoogleAuthProvider): import("rxjs").Observable<auth.UserCredential>;
    LoginWithAnySocial(provider: firebase.auth.AuthProvider): import("rxjs").Observable<auth.UserCredential>;
}

inicializar o projeto normalmente com Projeto Firebase

Como usar

npm i angularfire2

npm i firebase
@NgModule({
     declarations:[
         CoreComponent
     ],
     imports:[
        BrowserModule,
        CoreRoutingModule,
        AngularFireModule.initializeApp(environment.FireBaseConfig), //Obrigatorio
        AngularFirestoreModule, // Só vou usar este no momento
        AngularFireModule,  //Obrigatorio
        AngularFireDatabaseModule,
        AngularFireStorageModule,
        SharedModule,
     ],
     exports: [CommonModule,FormsModule],
     providers:[],
     bootstrap: [CoreComponent]
 })
export class CoreModule{}

e após isto so manipular seu banco!

Primeiro (Principal) criamos uma classe

export class Comentario {
    id:string; //este será retornado do banco e somente com esta nomeclatura "id"
    User_id:string
    Conteudo:string;
    date:number;
    UserNome:string;
    UserFoto : string;
    Publicacao_Id : string;
    constructor(publicacao_id:string,conteudo:string,user:Usuario){
        this.Conteudo = conteudo;
        this.User_id = user.id;
        this.date = new Date().valueOf();
        this.UserNome = user.Nome;
        this.UserFoto = user.UrlFoto;
        this.Publicacao_Id = publicacao_id
    }
}

No meu caso Criei um Service utilizando extends

Service

import { FireStoreService } from '@dev.arlamend7/angular-fire';
import { AngularFirestore } from 'angularfire2/firestore';

@Injectable({providedIn : "root"})
export class ComentarioService extends FireStoreService<Comentario>{
    
    constructor(public Store : AngularFirestore){
        super(Store)
        this.SetColletion("Comentario");
    }

    TrazerComentarios(publicacao_id:string){
        return this.Query("Publicacao_Id","==",publicacao_id)
    }
}

E utilizei normalmente em seus Components

constructor(private comentarioService:ComentarioService){}
    ngOnInit(): void {        
        this.comentarioService.TrazerComentarios(this.Publicacao.id).subscribe(comentarios =>{
            this.Comentarios = comentarios;
            this.OnChange();
        })   
    }
    adicionarComentario(){
        let comentario = new Comentario(this.Publicacao.id,this.novoComentario,this.User);

        this.comentarioService.Insert(comentario).subscribe(comentario => {
            this.Comentarios.push(comentario);
            this.OnChange();
        })
}
1.2.0

4 years ago

1.2.1

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.10

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.2

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.15

4 years ago

0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.3

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago