Database Connectors
A conexão com banco de dados é definida através da classe DBConnector. Assim o Protontype permite o uso de qualquer framework ou ORM para manipulação de banco de dados.
Por padrão é usado o TypeORM para acessar o banco de dados
Acessando Banco de Dados
O módulo TypeORMDBConnector disponibiliza o objeto TypeORMDB que provê a cesso aos objetos do TypeORM
let tasksRepository = TypeORMDB.getBD().getRepository(TasksModel); let tasks = await tasksRepository.find();
O objeto retornado pelo TypeORMDB.getBD() é exatamente o objeto resultante da conexão do TypeORM
Para mais informações ver documentação do TypeORM
Ver também http://typeorm.io/#/working-with-repository
Criando um DBConnector
Para criar um DBConnector basta extender a classe DBConnector.
export abstract class DBConnector<OptionsType, ConnectionType> { abstract createConnection(config?: OptionsType): Promise<ConnectionType>; }
- OptionsType: TIpo do objeto de configuração passado por parâmetro no método de conexão
- ConnectionType: Tipo do objeto de retorno. Resultado da conexão. Sempre deverá ser uma promisse
Exemplo de DBConnector
import { Connection, ConnectionOptions, createConnection } from 'typeorm'; import { DBConnector } from '../DBConnector'; export class TypeORMDBConnector implements DBConnector<ConnectionOptions, Connection> { createConnection(options?: ConnectionOptions): Promise<Connection> { return createConnection(options); } }