0.2.0 • Published 2 years ago

@organiza-brasil/core v0.2.0

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
2 years ago

Organiza Core

Bem-vindo à documentação da biblioteca core do Organiza. Esta biblioteca é responsável por fornecer funcionalidades centrais para todos os projetos do Organizador, como gerenciamento de autenticação e configuração do servidor. Aqui está tudo o que você precisa saber para começar a usar esta biblioteca.

Instalação

Para instalar esta biblioteca, você pode usar o gerenciador de pacotes npm. Basta digitar o seguinte comando no terminal:

npm install @organiza-brasil/core

Funcionalidades

Aqui está uma lista de recursos que esta biblioteca oferece:

Autenticação

Esta biblioteca fornece funcionalidades para gerenciar a autenticação do usuário. Ela oferece suporte à autenticação com JSON Web Tokens (JWT) e permite verificar se um usuário está autenticado e/ou tem permissão para acessar um recurso.

Para usar o recurso de autenticação, basta importar o serviço AuthService:

import { AuthService } from '@organiza-brasil/core';

@Injectable()
export class MyService {
  constructor(
    @Inject(AuthService)
    private authService: AuthService,
  ) {}

  async myMethod() {
    // Check if user is authenticated
    const user = await this.authService.authenticate(request);
    
    // Check if user has permission to access a resource
    await this.authService.authorize(user, 'read', 'resource');
    
    // Generate a JWT token for a user
    const token = await this.authService.generateToken(user);
  }
}

Configuração do servidor

Esta biblioteca fornece funcionalidades para configurar o servidor atual com alguns padrões. Ela cria um servidor com Swagger, Validation Pipe, API Versioning, Helmet e Cors habilitados.

Para usar o recurso do servidor, basta importar a função startServer:

async function startApp() {
  const app = await NestFactory.create(ControllerModule);
  const port = process.env.PORT || '4000';

  const title = 'Users API';
  const description = 'This API deals with users from quero doar';

  await startServer(app, port, title, description);
}
startApp();