xc-data-mapper

0.3.1 • Public • Published

Install & setup

API Reference

Base class for models

Kind: global class

new BaseModelSql(args)

Returns: BaseModelSql - Returns BaseModelSql reference.

Param Type Description
args Object
args.knex Object Knex instance
args.tableName String table name
args.columns Array.<Object> columns
args.pks Array.<Object> primary keys
args.hasMany Array.<Object> has many relations
args.belongsTo Array.<Object> belongs to relations
args.hooks Object afterInsert, beforeInsert, errorInsert, afterUpdate, beforeUpdate, errorUpdate, afterDelete, beforeDelete, errorDelete

baseModelSql.$db ⇒ Object

Kind: instance property of BaseModelSql
Returns: Object - knex instance attached to a table

baseModelSql.transaction() ⇒ Promise.<Object>

Returns a transaction reference

Kind: instance method of BaseModelSql
Returns: Promise.<Object> - Transaction reference

baseModelSql.commit(trx) ⇒ Promise.<void>

Commit transaction

Kind: instance method of BaseModelSql

Param Type Description
trx Object Transaction reference

baseModelSql.rollback(trx) ⇒ Promise.<void>

Rollback transaction

Kind: instance method of BaseModelSql

Param Type Description
trx Object Transaction reference

baseModelSql.isCompleted(trx) ⇒ Promise.<void>

Transaction completed

Kind: instance method of BaseModelSql

Param Type Description
trx Object Transaction reference

baseModelSql.insert(data, [trx]) ⇒ Promise.<Array.<Object>> | Promise.<Array.<Number>>

Creates row in table

Kind: instance method of BaseModelSql

Param Type Default Description
data Object row data
[trx] Object knex transaction object

baseModelSql.updateByPk(id, data, [trx]) ⇒ Promise.<Number>

Update table row data by primary key

Kind: instance method of BaseModelSql
Returns: Promise.<Number> - 1 for success, 0 for failure

Param Type Default Description
id String primary key separated by ___
data Object table row data
[trx] Object knex transaction object

baseModelSql.delByPk(id, [trx]) ⇒ Promise.<Number>

Delete table row data by primary key

Kind: instance method of BaseModelSql
Returns: Promise.<Number> - 1 for success, 0 for failure

Param Type Default Description
id String primary key separated by ___
[trx] Object knex transaction object

baseModelSql.insertByFk(args, [trx]) ⇒ Promise.<Array.<Object>> | Promise.<Array.<Object>>

Creates row in this table under a certain parent

Kind: instance method of BaseModelSql
Todo

  • [ ] should return inserted record
Param Type Description
args Object
args.data Object row data
args.parentId String parent table id
args.parentTableName String parent table name
[trx] Object knex transaction object

baseModelSql.updateByFk(args, [trx]) ⇒ Promise.<Number>

Update table row data by primary key and foreign key

Kind: instance method of BaseModelSql
Returns: Promise.<Number> - 1 for success, 0 for failure

Param Type Description
args Object
args.id String primary key separated by ___
args.parentId String parent table id
args.parentTableName String parent table name
args.data Object table row data
[trx] Object knex transaction object

baseModelSql.update(args, [trx]) ⇒ Promise.<Number>

Update table row data by using where clause

Kind: instance method of BaseModelSql
Returns: Promise.<Number> - number of rows affected

Param Type Description
args Object
args.where String update where clause
args.data Object table row data
[trx] Object knex transaction object

baseModelSql.delByFk(args, [trx]) ⇒ Promise.<Number>

Delete table row data by primary key and foreign key

Kind: instance method of BaseModelSql
Returns: Promise.<Number> - 1 for success, 0 for failure

Param Type Description
args Object
args.id String primary key separated by ___
args.parentId String parent table id
args.parentTableName String parent table name
[trx] Object knex transaction object

baseModelSql.del(args, [trx]) ⇒ Promise.<Number>

Delete table row data by where conditions

Kind: instance method of BaseModelSql
Returns: Promise.<Number> - number of deleted records

Param Type Description
args Object
args.where String where clause for deleting
[trx] Object knex transaction object

baseModelSql.insertb(data) ⇒ Promise.<Array.<Object>> | Promise.<Array.<Number>>

Creates multiple rows in table

Kind: instance method of BaseModelSql

Param Type Description
data Array.<Object> row data

baseModelSql.updateb(data) ⇒ Promise.<Array.<Number>>

Update bulk - happens within a transaction

Kind: instance method of BaseModelSql
Returns: Promise.<Array.<Number>> - - 1 for success, 0 for failure

Param Type Description
data Array.<Object> table rows to be updated

baseModelSql.delb(ids) ⇒ Promise.<Array.<Number>>

Bulk delete happens within a transaction

Kind: instance method of BaseModelSql
Returns: Promise.<Array.<Number>> - - 1 for success, 0 for failure

Param Type Description
ids Array.<Object> rows to be deleted

baseModelSql.readByPk(id) ⇒ Promise.<Object>

Reads table row data

Kind: instance method of BaseModelSql
Returns: Promise.<Object> - Table row data

Param Type Description
id String primary key separated by ___

baseModelSql.readByFk(args) ⇒ Promise.<Object>

Reads table row data under a certain parent

Kind: instance method of BaseModelSql
Returns: Promise.<Object> - returns row

Param Type Description
args Object
args.id Object primary key separated by ___
args.parentId String parent table id
args.parentTableName String parent table name

baseModelSql.exists(id) ⇒ Promise.<boolean>

Table row exists

Kind: instance method of BaseModelSql
Returns: Promise.<boolean> - - true for exits and false for none

Param Type Description
id String ___ separated primary key string

baseModelSql.existsByFk(id) ⇒ Promise.<boolean>

Table row exists

Kind: instance method of BaseModelSql
Returns: Promise.<boolean> - - true for exits and false for none

Param Type Description
id String ___ separated primary key string

baseModelSql.raw(queryString, params) ⇒ Promise

Runs raw query on database

Kind: instance method of BaseModelSql
Returns: Promise - - return raw data from database driver

Param Type Description
queryString String query string
params Array.<Object> paramaterised values in an array for query

baseModelSql.hasManyChildren(args) ⇒ Promise.<Array.<Object>>

Gets child rows for a parent row in this table

Kind: instance method of BaseModelSql
Returns: Promise.<Array.<Object>> - return child rows

Param Type Default Description
args Object
args.child String child table name
args.parentId String pk
[args.fields] String * commas separated column names of this table
[args.where] String where clause with conditions within ()
[args.limit] String number of rows to be limited (has default,min,max values in config)
[args.offset] String offset from which to get the number of rows
[args.sort] String comma separated column names where each column name is columnName ascending and -columnName is columnName descending

baseModelSql.hasManyList(args) ⇒ Promise.<Array.<Object>>

Gets parent list along with children list

Kind: instance method of BaseModelSql

Param Type Default Description
args Object
args.childs String comma separated child table names
[args.fields] String * commas separated column names of this table
[args.fields*] String * commas separated column names of child table(* is a natural number 'i' where i is index of child table in comma separated list)
[args.where] String where clause with conditions within ()
[args.where*] String where clause with conditions within ()(* is a natural number 'i' where i is index of child table in comma separated list)
[args.limit] String number of rows to be limited (has default,min,max values in config)
[args.limit*] String number of rows to be limited of child table(* is a natural number 'i' where i is index of child table in comma separated list)
[args.offset] String offset from which to get the number of rows
[args.offset*] String offset from which to get the number of rows of child table(* is a natural number 'i' where i is index of child table in comma separated list)
[args.sort] String comma separated column names where each column name is columnName ascending and -columnName is columnName descending
[args.sort*] String comma separated column names where each column name is columnName ascending and -columnName is columnName descending(* is a natural number 'i' where i is index of child table in comma separated list)

baseModelSql.belongsTo(args) ⇒ Promise.<Array.<Object>>

Gets child list along with its parent

Kind: instance method of BaseModelSql

Param Type Default Description
args Object
args.parents String comma separated parent table names
[args.fields] String * commas separated column names of this table
[args.fields*] String * commas separated column names of parent table(* is a natural number 'i' where i is index of child table in comma separated list)
[args.where] String where clause with conditions within ()
[args.limit] String number of rows to be limited (has default,min,max values in config)
[args.offset] String offset from which to get the number of rows
[args.sort] String comma separated column names where each column name is columnName ascending and -columnName is columnName descending

baseModelSql.hasManyListGQL(args, ids) ⇒ Promise.<Object.<string, Array.<Object>>>

Returns key value paired grouped children list

Kind: instance method of BaseModelSql
Returns: Promise.<Object.<string, Array.<Object>>> - key will be parent pk and value will be child list

Param Type Description
args Object
args.child String child table name
ids Array.<String> array of parent primary keys
[args.where] String where clause with conditions within ()
[args.limit] String number of rows to be limited (has default,min,max values in config)
[args.offset] String offset from which to get the number of rows
[args.sort] String comma separated column names where each column name is columnName ascending and -columnName is columnName descending

baseModelSql.hasManyListCount(args, ids) ⇒ Promise.<Object.<string, Array.<Object>>>

Returns key value paired grouped children list

Kind: instance method of BaseModelSql
Returns: Promise.<Object.<string, Array.<Object>>> - key will be parent pk and value will be child list

Param Type Description
args Object
args.child String child table name
ids Array.<String> array of parent primary keys
[args.where] String where clause with conditions within ()
[args.limit] String number of rows to be limited (has default,min,max values in config)
[args.offset] String offset from which to get the number of rows
[args.sort] String comma separated column names where each column name is columnName ascending and -columnName is columnName descending

baseModelSql.beforeInsert(data, trx)

Before Insert is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
data Object insert data
trx Object knex transaction reference

baseModelSql.afterInsert(response, trx)

After Insert is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
response Object inserted data
trx Object knex transaction reference

baseModelSql.errorInsert(err, data, trx)

After Insert is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
err Error Exception reference
data Object insert data
trx Object knex transaction reference

baseModelSql.beforeUpdate(data, trx)

Before Update is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
data Object update data
trx Object knex transaction reference

baseModelSql.afterUpdate(response, trx)

After Update is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
response Object updated data
trx Object knex transaction reference

baseModelSql.errorUpdate(err, data, trx)

Error update is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
err Error Exception reference
data Object update data
trx Object knex transaction reference

baseModelSql.beforeDelete(data, trx)

Before delete is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
data Object delete data
trx Object knex transaction reference

baseModelSql.afterDelete(response, trx)

After Delete is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
response Object Deleted data
trx Object knex transaction reference

baseModelSql.errorDelete(err, data, trx)

Error delete is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
err Error Exception reference
data Object delete data
trx Object knex transaction reference

baseModelSql.beforeInsertb(data, trx)

Before insert bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
data Array.<Object> insert data
trx Object knex transaction reference

baseModelSql.afterInsertb(response, trx)

After insert bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
response Array.<Object> inserted data
trx Object knex transaction reference

baseModelSql.errorInsertb(err, data, trx)

Error insert bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
err Error Exception reference
data Object delete data
trx Object knex transaction reference

baseModelSql.beforeUpdateb(data, trx)

Before update bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
data Array.<Object> update data
trx Object knex transaction reference

baseModelSql.afterUpdateb(response, trx)

After update bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
response Array.<Object> updated data
trx Object knex transaction reference

baseModelSql.errorUpdateb(err, data, trx)

Error update bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
err Error Exception reference
data Array.<Object> delete data
trx Object knex transaction reference

baseModelSql.beforeDeleteb(data, trx)

Before delete bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
data Array.<Object> delete data
trx Object knex transaction reference

baseModelSql.afterDeleteb(response, trx)

After delete bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
response Array.<Object> deleted data
trx Object knex transaction reference

baseModelSql.errorDeleteb(err, data, trx)

Error delete bulk is a hook which can be override in subclass

Kind: instance abstract method of BaseModelSql

Param Type Description
err Error Exception reference
data Array.<Object> delete data
trx Object knex transaction reference

Readme

Keywords

none

Package Sidebar

Install

npm i xc-data-mapper

Homepage

xgene.cloud

Weekly Downloads

2

Version

0.3.1

License

Apache-2.0

Unpacked Size

122 kB

Total Files

8

Last publish

Collaborators

  • mertmit
  • wingkwong
  • o1lab
  • pranavxc