Skip to content

Instantly share code, notes, and snippets.

@Franckapik
Created March 15, 2020 17:44
Show Gist options
  • Select an option

  • Save Franckapik/0778ff4fe4ab43217bed583bde72eb72 to your computer and use it in GitHub Desktop.

Select an option

Save Franckapik/0778ff4fe4ab43217bed583bde72eb72 to your computer and use it in GitHub Desktop.
const upsert = (table, sessid, data, returned) => {
return knex.select('*').groupBy(returned)
.from(table)
.where({
userid: sessid
})
.count()
.then((count) => {
if (count == 0) {
return knex(table)
.insert(data)
.returning(returned)
.then(id => {
logger.info('[Knex] Table ' + table +' Données enregistrées (id): %s', id[0]);
return id
}).catch(error => logger.error('[Enregistrement utilisateur] Sauvegarde db %s', error))
} else {
return knex(table)
.where({
userid: sessid
})
.update(data)
.returning(returned)
.then(id => {
logger.info('[Knex] Table ' + table +': Données mise à jour (id): %s', id[0]);
return id
}).catch(error => logger.error('[Knex] Erreur sur la table ' + table + ' %s', error))
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment