FirestoreObject

O FirestoreObject representa um objeto que tem como origem a base de dados.

Sintaxe

import { FirestoreObject } from "Models";

class ChildClass extends FirestoreObject { 
    constructor(path){
        super(path);
        criarAtributoReferencial("path");
        ...
    }
    ... 
}

Propriedades

path

path: string | null

Uma propriedade que define o caminho de acesso no firestore para o objeto.

Exemplo:

import { FirestoreObject } from "Models";

class Usuario extends FirestoreObject{
    constructor(path){
        super(path);
    }
}

let usuario = new Usuario("Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx");

console.log(usuario.path);
// Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

Métodos

addInvisibleProperty

addInvisibleProperty ( key : string ) : any

Um método que recebe como parâmetro key : string que defina a chave da propriedade do objeto que será invisível.

Exemplo:

import { FirestoreObject } from "Models";

class Usuario extends FirestoreObject{
    constructor(path, nome){
        super(path);
        this.nome = nome || "";
        this.addInvisibleProperty("nome");
    }
}

corrigirReferencia

corrigirReferencia ( value : string ) : string

Uma função que corrige o parâmetro value : string de referência formatando o caminha de acesso no firestore.

Exemplo:

import { FirestoreObject } from "Models";

class Usuario extends FirestoreObject{
    constructor(path, nome){
        super(path);
    }
}

let usuario = new Usuario("/Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx/");
let path = usuario.corrigirReferencia(usuario.path);

console.log(path);
// Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

criarAtributoReferencial

criarAtributoReferencial ( nome : string , enumeravel ? : boolean ) : any

Um método que indique uma propriedade de referência recebendo seu nome de propriedade como parâmetro. Como por exemplo, a propriedade path, quando essa propriedade ser alterada, acionará automaticamente a função corrigirReferencia para que o path informado, seja corrigido para o formado correto.

import { FirestoreObject } from "Models";

class Usuario extends FirestoreObject{
    constructor(path, nome){
        super(path);
        criarAtributoReferencial("path");
    }
}

let usuario = new Usuario();
usuario.path = "/Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx/";

console.log(usuario.path);
// Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

toJson

toJson( target ? : Object ) : Object

Método que converte o objeto atual ou passado como parâmetro em um formato JSON.

import { FirestoreObject } from "Models";

class Usuario extends FirestoreObject{
    constructor(path, nome){
        super(path);
        criarAtributoReferencial("path");
        this.nome = nome || "";
    }
}

let usuario = new Usuario("/Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx/", "Fulano");

console.log(usuario.toJson());

//Ou

console.log(Usuario.toJson(usuario));

/* object Usuario {
    "path": "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
    "nome": "Fulano"
} */

parse

parse ( path : string | null , objetoGenerico : Object ) : Object

Esse método é útil para quando pretende importar informações em um objeto no formato JSON para o objeto estrutural. Lembrando que o parâmetro path se refere ao caminho de acesso no firestore para o objeto e o parâmetro objetoGenerico se refere ao objeto genérico JSON.

import { FirestoreObject } from "Models";

class Usuario extends FirestoreObject{
    constructor(path, nome){
        super(path);
        criarAtributoReferencial("path");
        this.nome = nome || "";
    }
}

let objetoGenerico = {
    "path": "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
    "nome": "Fulano"
};

let usuario = new Usuario().parse(objetoGenerico.path, objetoGenerico);

console.log(usuario.toJson());

/* object Usuario {
    "path": "Usuarios/xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
    "nome": "Fulano"
} */

Last updated