xc-data-mapper v0.3.1
Install & setup
API Reference
Base class for models
Kind: global class
- BaseModelSql
- new BaseModelSql(args)
- .$db ⇒ Object
- .transaction() ⇒ Promise.<Object>
- .commit(trx) ⇒ Promise.<void>
- .rollback(trx) ⇒ Promise.<void>
- .isCompleted(trx) ⇒ Promise.<void>
- .insert(data, [trx]) ⇒ Promise.<Array.<Object>> | Promise.<Array.<Number>>
- .updateByPk(id, data, [trx]) ⇒ Promise.<Number>
- .delByPk(id, [trx]) ⇒ Promise.<Number>
- .insertByFk(args, [trx]) ⇒ Promise.<Array.<Object>> | Promise.<Array.<Object>>
- .updateByFk(args, [trx]) ⇒ Promise.<Number>
- .update(args, [trx]) ⇒ Promise.<Number>
- .delByFk(args, [trx]) ⇒ Promise.<Number>
- .del(args, [trx]) ⇒ Promise.<Number>
- .insertb(data) ⇒ Promise.<Array.<Object>> | Promise.<Array.<Number>>
- .updateb(data) ⇒ Promise.<Array.<Number>>
- .delb(ids) ⇒ Promise.<Array.<Number>>
- .readByPk(id) ⇒ Promise.<Object>
- .readByFk(args) ⇒ Promise.<Object>
- .exists(id) ⇒ Promise.<boolean>
- .existsByFk(id) ⇒ Promise.<boolean>
- .raw(queryString, params) ⇒ Promise
- .hasManyChildren(args) ⇒ Promise.<Array.<Object>>
- .hasManyList(args) ⇒ Promise.<Array.<Object>>
- .belongsTo(args) ⇒ Promise.<Array.<Object>>
- .hasManyListGQL(args, ids) ⇒ Promise.<Object.<string, Array.<Object>>>
- .hasManyListCount(args, ids) ⇒ Promise.<Object.<string, Array.<Object>>>
- .beforeInsert(data, trx)
- .afterInsert(response, trx)
- .errorInsert(err, data, trx)
- .beforeUpdate(data, trx)
- .afterUpdate(response, trx)
- .errorUpdate(err, data, trx)
- .beforeDelete(data, trx)
- .afterDelete(response, trx)
- .errorDelete(err, data, trx)
- .beforeInsertb(data, trx)
- .afterInsertb(response, trx)
- .errorInsertb(err, data, trx)
- .beforeUpdateb(data, trx)
- .afterUpdateb(response, trx)
- .errorUpdateb(err, data, trx)
- .beforeDeleteb(data, trx)
- .afterDeleteb(response, trx)
- .errorDeleteb(err, data, trx)
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 |
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago