tonolucro-account-sdk-frontend-javascript
v0.0.1-alpha.6
Published
A javascript's SDK of account to use in front-end of Tonolucro web app
Downloads
5
Maintainers
Readme
Introdução
Esse é um SDK front-end, para fazer comunicação com o firebase e funcionalidades do back-end presentes no Hasura. Esse SDK será uma ponte de comunicação, que irá auxiliar o front-end em suas comunicações com o back-end, deixando os seus devidos requisitos encapsulados, para serem usados em demasiados pontos e aplicações.
Aqui, você encontrará a documentação de como utilizar esse produto, assim como as funcionalidades presentes no moesmo.
Este possui os Resources, que são os pontos de entrada da do SDK, por onde o cliente conseguirá acesso às suas funcionalidades.
Os seguintes resources estão aqui presentes?
- AccountResource
- GuestResource
- UserResource
Como acessar os resources
Para conseguir acesso ao resource, você deverá primeiro adicionar o SDK ao seu projeto, pelo comando npm install tonolucro-account-sdk-frontend-javascript
ou yarn add tonolucro-account-sdk-frontend-javascript
.
Com o SDK adicionado, agora vc terá acesso aos seus resorces incluindo os mesmos no arquivo de código javascript que for necessário. Importe-o no seguinte caminho:
import { AccountResource, GuestResource, UserResource } from 'tonolucro-account-sdk-frontend-javascript';
sendo que o resource importado será o necessário na vez.
Os méodos que recebem um command como parametro poderão receber um Json ou uma própria instancia do command. Em caso de passar a instancia, a mesma deverá ser feita semelhante ao exemplo abaixo, obedecendo o command do momento:
{
const command = new SearchAccountByDocument();
command.document = 'document';
command.documentType = EDocumentType.CPF;
const result = await accountResource.searchAccountByDocument(command);
}
AccountResource
Para instanciar o AccountResource é necessário que o cliente possua um token JWT. Com o token em mãos instancie a classe:
const accountResource = new AccountResource(accessToken);
Com isso você terá acesso às funcionalidades do mesmo, que são:
- searchAccountByDocument
- createAccount
- validateCodeAndEmail
- checkAccountExistByToken
searchAccountByDocument
Esse método deverá receber como parametro um searchAccountByDocumentCommand
, que se trata de um objeto com os campos document, do tipo string, e documentType, um enum com os valores CPF e CNPJ.
{
document: document,
lastName: documentType // Enum com os valores: CPF, CNPJ
}
createAccount
Esse método deverá receber como parametro um createAccountCommand
, que se trata de um objeto com os dados da conta a ser criada.
{
firstName: firstName,
lastName: lastName,
gender: gender, // Enum com os valores: MALE, FEMALE, UNDEFINED
dateOfBirth: "2020-10-30T03:35:28.388Z",
documentNumber: documentNumber,
documentType: documentType, // Enum com os valores: CPF, CNPJ
password: password,
email: email,
phone: phone
}
validateCodeAndEmail
Esse método deverá receber como parametro um validateCodeAndEmailCommand
, que se trata se um objeto com os dados de código e e-mail.
{
firstName: firstName,
lastName: lastName
}
checkAccountExistByToken
Esse método deverá receber como parametro um checkAccountExistByToken
, que é um objeto no qual se passa um token JWT, para consultar pelos dados da conta.
{
token: token
}
GuestResource
O GuestResource permite com que o cliente obtenha um token de acesso anonimo do firebase. Este recurso não necessita de nenhum token inicial para ser instanciado. O mesmo poderá ser instanciado.
{
const guestResource = new GuestResource();
}
signInAnonymously
Esse método não recebe nada como parametro, e ele retorna um token de acesso anonimo válido.
UserResource
O UserResource deverá receber um token JWT válido, ou então receber uma string vazia, caso o cliente não tenha em mãos um token válido.
signInWithEmailAndPassword
Esse método deverá receber como parametro um signInWithEmailAndPasswordCommand
, que se trata de um objeto que possui os campos email e password, ambos do tipo string.
Quando passadas credenciais válidas, esse método retornará um token JWT válido para aquele usuário.
{
email: email,
password: password // Enum com os valores: CPF, CNPJ
}
signInWithPopup
Esse método deverá receber como parametro um signInWithPopupCommand
, que deverá receber um enumerador do tipo de signIn externo, por exemplo: GOOGLE ou FACEBOOK.
O mesmo deverá retornar um provider de autenticação externa válida.