skygear-SDK-JS icon indicating copy to clipboard operation
skygear-SDK-JS copied to clipboard

[Cloud Code] Provide a Promise-based API for DB queries

Open akiroz opened this issue 7 years ago • 4 comments

Usage:

const skygearCloud = require('skygear/cloud');
skygearCloud.databaseQuery(
  'SELECT id FROM _user WHERE username = $1',
  ['bob']
).then(result => {
   // ...
});

Implementation:

export function databaseQuery(stmt, data = []) {
  return new Promise((rsov, rjct) => {
    skygearCloud.poolConnect((err, client, done) => {
      if(err) rjct(err);
      client.query(stmt, data, (err, result) => {
        done(err);
        if(err) rjct(err);
        rsov(result)
      });
    });
  });
}

akiroz avatar Apr 18 '17 11:04 akiroz