Feat: make queries with schema changing

This commit is contained in:
csrapr 2021-02-23 18:31:10 +00:00 committed by Josh Harvey
parent 2eda9645b3
commit 47614c9637
2 changed files with 66 additions and 0 deletions

56
lib/extendedQueries.js Normal file
View file

@ -0,0 +1,56 @@
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
}