This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE transactions | |
( | |
id INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT, | |
accountId INT(11) NOT NULL, | |
amount DECIMAL(10,2) NOT NULL | |
); | |
INSERT INTO transactions (accountId, amount) VALUES (1, 10); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function query(input) { | |
const _defaults = { | |
params: [] | |
}; | |
const {sql, params, autorollback} = Object.assign(_defaults, input); | |
return new Promise((resolve, reject) => { | |
connection.query(sql, params, (err, resp) => { | |
if(err && autorollback) { | |
return resolve(rollback(err)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function query(input) { | |
const _defaults = { | |
params: [] | |
}; | |
const {sql, params} = Object.assign(_defaults, input); | |
return new Promise((resolve, reject) => { | |
connection.query(sql, params, (err, resp) => { | |
if(err) { | |
// Torch the connection |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
const {query} = require('./mysql-wrapper'); | |
const sql = ` | |
START TRANSACTION; | |
# Calculate balance | |
SELECT @balance := SUM(amount) FROM transactions WHERE accountId = 1 FOR UPDATE; | |
# Compare balance with the amount we want to withdraw |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
module.exports.query = query; | |
/* --------------------- */ | |
const mysql = require('mysql'); | |
const connection = mysql.createConnection({ | |
host : process.env.HOSTNAME, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var toString = {}.toString; | |
module.exports = Array.isArray || function (arr) { | |
return toString.call(arr) == '[object Array]'; | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = require('util').inherits |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "test", | |
"version": "1.0.0", | |
"dependencies": { | |
"accepts": { | |
"version": "1.3.3", | |
"from": "accepts@>=1.3.1 <1.4.0", | |
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz" | |
}, | |
"axios": { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function maskVersion(version) { | |
let newVersion = {}; | |
[ | |
'_id', | |
'name', | |
'version', | |
'scripts', | |
'engines', | |
'dist', | |
'main', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
const express = require('express'); | |
const request = require('request'); | |
const morgan = require('morgan'); | |
let app = express(); | |
app.use(morgan('short')); |
NewerOlder