Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions node/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,6 @@ app.post('/get_access_token', function(request, response, next) {
});
});

app.post('/set_access_token', function(request, response, next) {
ACCESS_TOKEN = request.body.access_token;
console.log('Access Token: ' + ACCESS_TOKEN);
response.json({
'error': false
});
});

app.get('/accounts', function(request, response, next) {
// Retrieve high-level account information and account and routing numbers
// for each account associated with the Item.
Expand Down
4 changes: 1 addition & 3 deletions node/public/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,7 @@ button:hover {
line-height: 17px;
margin-top: 5px;
}
#steps,
#upgrade-to-connect-data,
#txnBox {
#steps {
display: none;
}
.green {
Expand Down
35 changes: 7 additions & 28 deletions node/views/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,18 @@

<div class="box">
<button id="get-item-btn">Get Item</button>
<div id="upgrade-to-connect-data" class="inner"></div>
<div id="get-item-data"></div>
</div>

<div class="box" id="txnBox">
<button id="get-transaction-data">Get Transactions</button>
<div class="box">
<button id="get-transactions-btn">Get Transactions</button>
<div id="get-transactions-data"></div>
</div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script>
<script>
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
};
(function($) {
var handler = Plaid.create({
apiVersion: 'v2',
Expand All @@ -81,18 +72,6 @@
handler.open();
});

var accessToken = getParameterByName('access_token');
if (accessToken != null) {
$.post('/set_access_token', {
access_token: accessToken
}, function() {
$('#container').fadeOut('fast', function() {
$('#intro').hide();
$('#app, #steps').fadeIn('slow');
});
});
}

$('#get-accounts-btn').on('click', function(e) {
$.get('/accounts', function(data) {
$('#get-accounts-data').slideUp(function() {
Expand All @@ -112,24 +91,24 @@

$('#get-item-btn').on('click', function(e) {
$.post('/item', function(data) {
$('#upgrade-to-connect-data').slideUp(function() {
$('#get-item-data').slideUp(function() {
if (data.error)
$(this).html('<p>' + data.error + '</p>').slideDown();
else {
var html = '';
var html = '<div class="inner">';
html += '<p>Here\'s some basic information about your Item:</p>';
html += '<p>Institution name:' + data.institution.name + '</p>';
html += '<p>Billed products: ' + data.item.billed_products.join(', ') + '</p>';
html += '<p>Available products: ' + data.item.available_products.join(', ') + '</p>';
html += '</div>';

$(this).html(html).slideDown();
$('#txnBox').slideDown();
}
});
});
});

$('#get-transaction-data').on('click', function(e) {
$('#get-transactions-btn').on('click', function(e) {
$.post('/transactions', function(data) {
if (data.error != null) {
// Format the error
Expand Down
14 changes: 5 additions & 9 deletions python/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,6 @@ def get_access_token():

return jsonify(exchange_response)

@app.route("/set_access_token", methods=['POST'])
def set_access_token():
global access_token
access_token = request.form['access_token']
print 'access token: ' + access_token
return jsonify({'error': False})

@app.route("/accounts", methods=['GET'])
def accounts():
global access_token
Expand All @@ -70,8 +63,11 @@ def transactions():
start_date = "{:%Y-%m-%d}".format(datetime.datetime.now() + datetime.timedelta(-30))
end_date = "{:%Y-%m-%d}".format(datetime.datetime.now())

response = client.Transactions.get(access_token, start_date, end_date)
return jsonify(response)
try:
response = client.Transactions.get(access_token, start_date, end_date)
return jsonify(response)
except plaid.errors.PlaidError as e:
return jsonify({'error': {'error_code': e.code, 'error_message': str(e)}})

@app.route("/create_public_token", methods=['GET'])
def create_public_token():
Expand Down
4 changes: 2 additions & 2 deletions python/static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ a:hover { text-decoration: underline; }

#banner, #container, .box { min-width: 280px; max-width: 800px; margin: 20px auto 0; padding: 20px; background: #fff; border: 1px solid #c9c9c9; border-radius: 2px; text-align: left; }
#container p { font-size: 14px; line-height: 17px; margin-bottom: 20px; }
button {
button {
background-color: #1a476a;
background-image: -webkit-linear-gradient(top, #29618e, #164a74);
background-image: linear-gradient(to bottom, #29618e, #164a74);
Expand All @@ -47,5 +47,5 @@ button:hover { color: #f1f1f1; cursor: pointer; }
#banner { border-top: 0px; margin-top: 0px; border-radius: 0 0 2px 2px; }
#banner h1 { color: #1a476a; font-size: 18px; font-weight: bold; }
#banner p { font-size: 14px; line-height: 17px; margin-top: 5px; }
#steps, #upgrade-to-connect-data, #txnBox { display: none; }
#steps { display: none; }
.green { background: #3ab683; color: #fff; }
36 changes: 8 additions & 28 deletions python/templates/index.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -37,28 +37,19 @@

<div class="box">
<button id="get-item-btn">Get Item</button>
<div id="upgrade-to-connect-data" class="inner"></div>
<div id="get-item-data"></div>
</div>

<div class="box" id="txnBox">
<button id="get-transaction-data">Get Transactions</button>
<div class="box">
<button id="get-transactions-btn">Get Transactions</button>
<div id="get-transactions-data"></div>
</div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script>
<script>
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
;(function($) {
(function($) {
var handler = Plaid.create({
apiVersion: 'v2',
clientName: 'Plaid Walkthrough Demo',
Expand All @@ -79,16 +70,6 @@
handler.open();
});

var accessToken = getParameterByName('access_token');
if (accessToken != null) {
$.post('/set_access_token', {access_token: accessToken}, function() {
$('#container').fadeOut('fast', function() {
$('#intro').hide();
$('#app, #steps').fadeIn('slow');
});
});
}

$('#get-accounts-btn').on('click', function(e) {
$.get('/accounts', function(data) {
$('#get-accounts-data').slideUp(function() {
Expand All @@ -108,25 +89,24 @@

$('#get-item-btn').on('click', function(e) {
$.post('/item', function(data) {
$('#upgrade-to-connect-data').slideUp(function() {
$('#get-item-data').slideUp(function() {
if(data.error)
$(this).html('<p>' + data.error + '</p>').slideDown();
else {
var html = '';
var html = '<div class="inner">';
html += '<p>Here\'s some basic information about your Item:</p>';
html += '<p>Institution name:' + data.institution.name +'</p>';
html += '<p>Billed products: ' + data.item.billed_products.join(', ') + '</p>';
html += '<p>Available products: ' + data.item.available_products.join(', ') + '</p>';

html += '</div>';

$(this).html(html).slideDown();
$('#txnBox').slideDown();
}
});
});
});

$('#get-transaction-data').on('click', function(e) {
$('#get-transactions-btn').on('click', function(e) {
$.post('/transactions', function(data) {
if (data.error != null) {
// Format the error
Expand Down
12 changes: 5 additions & 7 deletions ruby/app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,6 @@
erb :index
end

post '/set_access_token' do
access_token = params['access_token']
puts "access token: #{access_token}"
{ error: false }.to_json
end

post '/get_access_token' do
exchange_token_response = client.item.public_token.exchange(params['public_token'])
access_token = exchange_token_response['access_token']
Expand All @@ -46,7 +40,11 @@
get '/transactions' do
now = Date.today
thirty_days_ago = (now - 30)
transactions_response = client.transactions.get(access_token, thirty_days_ago, now)
begin
transactions_response = client.transactions.get(access_token, thirty_days_ago, now)
rescue Plaid::ItemError => e
transactions_response = { error: {error_code: e.error_code, error_message: e.error_message}}
end
content_type :json
transactions_response.to_json
end
Expand Down
4 changes: 2 additions & 2 deletions ruby/public/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ a:hover { text-decoration: underline; }

#banner, #container, .box { min-width: 280px; max-width: 800px; margin: 20px auto 0; padding: 20px; background: #fff; border: 1px solid #c9c9c9; border-radius: 2px; text-align: left; }
#container p { font-size: 14px; line-height: 17px; margin-bottom: 20px; }
button {
button {
background-color: #1a476a;
background-image: -webkit-linear-gradient(top, #29618e, #164a74);
background-image: linear-gradient(to bottom, #29618e, #164a74);
Expand All @@ -47,5 +47,5 @@ button:hover { color: #f1f1f1; cursor: pointer; }
#banner { border-top: 0px; margin-top: 0px; border-radius: 0 0 2px 2px; }
#banner h1 { color: #1a476a; font-size: 18px; font-weight: bold; }
#banner p { font-size: 14px; line-height: 17px; margin-top: 5px; }
#steps, #upgrade-to-connect-data, #txnBox { display: none; }
#steps { display: none; }
.green { background: #3ab683; color: #fff; }
39 changes: 9 additions & 30 deletions ruby/views/index.erb
Original file line number Diff line number Diff line change
Expand Up @@ -37,28 +37,19 @@

<div class="box">
<button id="get-item-btn">Get Item</button>
<div id="upgrade-to-connect-data" class="inner"></div>
<div id="get-item-data"></div>
</div>

<div class="box" id="txnBox">
<button id="get-transaction-data">Get Transactions</button>
<div class="box">
<button id="get-transactions-btn">Get Transactions</button>
<div id="get-transactions-data"></div>
</div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script>
<script>
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
;(function($) {
(function($) {
var handler = Plaid.create({
apiVersion: 'v2',
clientName: 'Plaid Walkthrough Demo',
Expand All @@ -79,17 +70,6 @@
handler.open();
});

var accessToken = getParameterByName('access_token');
if (accessToken != null) {
console.log('token');
$.post('/set_access_token', {access_token: accessToken}, function() {
$('#container').fadeOut('fast', function() {
$('#intro').hide();
$('#app, #steps').fadeIn('slow');
});
});
}

$('#get-accounts-btn').on('click', function(e) {
$.get('/accounts', function(data) {
$('#get-accounts-data').slideUp(function() {
Expand All @@ -109,26 +89,25 @@

$('#get-item-btn').on('click', function(e) {
$.get('/item', function(data) {
$('#upgrade-to-connect-data').slideUp(function() {
$('#get-item-data').slideUp(function() {
if(data.error)
$(this).html('<p>' + data.error + '</p>').slideDown();
else {
var html = '';
var html = '<div class="inner">';
html += '<p>Here\'s some basic information about your Item:</p>';
html += '<p>Institution name:' + data.institution.name +'</p>';
html += '<p>Billed products: ' + data.item.billed_products.join(', ') + '</p>';
html += '<p>Available products: ' + data.item.available_products.join(', ') + '</p>';

html += '</div>';

$(this).html(html).slideDown();
$('#txnBox').slideDown();
}
});
});
});

$('#get-transaction-data').on('click', function(e) {
$.post('/transactions', function(data) {
$('#get-transactions-btn').on('click', function(e) {
$.get('/transactions', function(data) {
if (data.error != null) {
// Format the error
var errorHtml = '<div class="inner"><p>' +
Expand Down