Skip to content

Repository files navigation

pg-connection

Simple PotgreSQL wrapper for nodejs, to simplify its development.

WIP

Install

npm install @schirrel/pg-connection --save

Config

Uses .env to aquire credentials.

PropRequiredDefaultDescription
PG_USERRequired
PG_URLRequired
PG_DATABASERequired
PG_PASSWORDRequired
PG_PORTOptional5432
PG_SSLOptionalfalse
PG_REJECT_UNHAUTHORIZEDOptional
PG_LOGOptionalfalse

Usage

Using in 3 Steps

  1. .env
PG_USER=postgres
PG_URL=localhost
PG_DATABASE=postgres
PG_PASSWORD=postgres
PG_SCHEMA=mercado_alencar
PG_LOG=true
  1. Model
constModel=require('@schirrel/pg-connection/Model');classUserextendsModel{constructor(args={}){super("USER");this.addColumn('email','EMAIL');this.addColumn('name','NAME');this.addColumn('password','PASSWORD');this.addColumn('active','ACTIVE',true);this.setValues(args);}}module.exports=User;
  1. Repository
constRepository=require('@schirrel/pg-connection/Repository');constUser=require('../models/User');classUserRepositoryextendsRepository{constructor(){super(User);}}module.exports=UserRepository;

And thats it.

TL;DR

Model

  • Used as extends Model at your model class
  • Call super("TABLE_NAME") with your table name
  • To add a columns this.addColumn('email', 'EMAIL');, it accepts a 3rd parameter as the default value.
  • To set values of your constructor use this.setValues(args);

Repository

  • Used as extends Repository at your repo class
  • Call super(YourClass); with your class reference
  • it already have built in: get(id), create(model), update(model),delete(id), list(), search(options)

Releases

Packages

Contributors

Languages