positiva-aws-users-plugin

1.0.1 • Public • Published

positiva-aws-users-plugin

Gerencia assuntos relacionados a usuários para o frontend. Trazendo componentes e métodos para comunicação com o backend.

Tabela de conteúdo

  1. Motivação
  2. Dependências
  3. Como importar
  4. Parâmetros
  5. Componentes
  6. Como usar
  7. Autor
  8. Licença

Motivação

Toda aplicação da @Positiva terá um controle de acesso por usuários. A automatização através de convenções implementadas por esse plugin, tem o intuito de acelerar o desenvolvimento de novas soluções.

Dependências

npm i aws-amplify

Ter configurado o AWS Amplify, como mostra a estrutura a seguir

Amplify.configure({
	Auth: {
		mandatorySignIn: true,
		region: REGION,
		userPoolId: USER_POOL_ID,
		identityPoolId: IDENTITY_POOL_ID,
		userPoolWebClientId: APP_CLIENT_ID
	},
	API: {
		endpoints: [
			{
				name: API_ENDPOINT_NAME,
				endpoint: API_GATEWAY_URL,
				region: REGION
			}
		]
	}	
});

Como importar

import PositivaAWSUsers from "positiva-aws-users-plugin";

Vue.use(PositivaAWSUsers);

Parâmetros

apiEndpointName

Nome do alias de um endpoint configurado no AWS Amplify.

Componentes

<positiva-user-login><positiva-user-login/>

<positiva-user-confirm><positiva-user-confirm/>

<positiva-user-forget><positiva-user-forget/>

<positiva-user-update><positiva-user-update/>

Como usar

O plugin é utilizado através da seguinte estrutura

this.$users.<attr/method>

data

Ao fazer login as informações do usuário logado estará armazenada no seguinte atributo

this.$users.data.me

Também, como existe um usuário do tipo administrador então ele poderá editar e vizulizar algumas informações de outros usuários. Essas informações estarão armazenadas no seguinte atributo, após ter feito login.

this.$users.data.all

login

/*
Realiza login de um usuário na aplicação

@username -> um e-mail válido
@password -> uma senha que possua no mínimo 8 caracteres
*/
async function login(username, password)

// por exemplo
await this.$users.login("desenvolvedor@positivatec.com", "senha-secreta");

isLogged

/*
Verifica se tem algum usuário logado na sessão

@return -> *true* se sim, *false* caso contrário
*/
async function isLogged()

// por exemplo
const algumUsuarioLogado = await this.$users.isLogged();

lougout

/*
Faz logout de um sessão

@return -> null
*/
async function logout()

// por exemplo
await this.$users.lougout();

recovery

/*
Inicia o processo de recuperar senha de um usuário. A chamada desse método resultará em um e-mail sendo enviado com um código de verificação.

@username -> e-mail da conta a ter sua senha resgatada
@return -> null
*/
async function recovery(username)

// por exemplo
await this.$users.recovery("desenvolvedor@positivatec.com");

create

/*
Cria um novo usuário

@username -> um e-mail válido
@password -> uma senha que possua no mínimo 8 caracteres
@content -> campos que contém informações sobre aquele usuário
*/
async function create(username, password, content)

// por exemplo
this.$users.create(
	"ana.maria@positivatec.com",
	'senha-secreta',
	{
		role: 'Administrador',
		phone: '+55 45 99999 9999'
	}
);

remove

/*
Remove um usuário existente

@username -> um e-mail válido e cadastrado
*/
async function remove(username)

// por exemplo
this.$users.remove("ana.maria@positivatec.com")

update

/*
Atualiza informações de um usuário existente

@username -> um e-mail válido e cadastrado
@content -> novas informações sobre aquele usuário. Importante passar todos os campos que deseja manter, mesmo que seu valor não foi atualizado
*/
async function update(username, content)

// por exemplo
this.$users.update("ana.maria@positivatec.com", {
	role: "Administrador",
	phone: "+55 45 99899 9999"
});

Autor

Renan Tashiro (renan.tashiro@positivatec.com)

Licença

AGPL-3.0

Readme

Keywords

Package Sidebar

Install

npm i positiva-aws-users-plugin

Weekly Downloads

0

Version

1.0.1

License

AGPL-3.0

Unpacked Size

56.7 kB

Total Files

7

Last publish

Collaborators

  • renan.tashiro