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
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"
} */
Método que converte o objeto atual ou passado como parâmetro em um formato .
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 .