56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
const _ = require('lodash/fp')
|
|
|
|
const concatSchema = (qry, tables) => {
|
|
const schemaName = 'public' // fetch schema name from Async Local Storage here
|
|
let query = qry
|
|
_.forEach(tableName => { query = query.replace(tableName, `${schemaName}.${tableName}`) }, tables)
|
|
return query
|
|
}
|
|
|
|
const any = (db, dbContext, qry, tables, variables) => {
|
|
const query = concatSchema(qry, tables)
|
|
return db.any(query, variables)
|
|
}
|
|
|
|
const manyOrNone = (db, dbContext, qry, tables, variables) => {
|
|
const query = concatSchema(qry, tables)
|
|
return db.manyOrNone(query, variables)
|
|
}
|
|
|
|
const none = (db, dbContext, qry, tables, variables) => {
|
|
const query = concatSchema(qry, tables)
|
|
return db.none(query, variables)
|
|
}
|
|
|
|
const many = (db, dbContext, qry, tables, variables) => {
|
|
const query = concatSchema(qry, tables)
|
|
return db.many(query, variables)
|
|
}
|
|
|
|
const oneOrNone = (db, dbContext, qry, tables, variables) => {
|
|
const query = concatSchema(qry, tables)
|
|
return db.oneOrNone(query, variables)
|
|
}
|
|
|
|
const one = (db, dbContext, qry, tables, variables) => {
|
|
const query = concatSchema(qry, tables)
|
|
return db.one(query, variables)
|
|
}
|
|
|
|
const result = (db, dbContext, qry, tables, variables, cb) => {
|
|
const query = concatSchema(qry, tables)
|
|
console.log(query)
|
|
return db.result(query, variables).then(r => {
|
|
return cb ? cb(r) : r
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
any,
|
|
manyOrNone,
|
|
none,
|
|
many,
|
|
oneOrNone,
|
|
one,
|
|
result
|
|
}
|