Skip to content
This repository has been archived by the owner on Oct 21, 2020. It is now read-only.

Commit

Permalink
feat: Add basic routes
Browse files Browse the repository at this point in the history
  • Loading branch information
devinus committed Jan 11, 2018
1 parent 1dfbfab commit d980a4e
Show file tree
Hide file tree
Showing 28 changed files with 545 additions and 55 deletions.
2 changes: 1 addition & 1 deletion app/account/model.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import DS from 'ember-data';

export default DS.Model.extend({

balance: DS.attr()
});
6 changes: 6 additions & 0 deletions app/ajax/service.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import AjaxService from 'ember-ajax/services/ajax';

export default AjaxService.extend({
namespace: '/rpc',
contentType: 'application/json; charset=utf-8'
});
31 changes: 31 additions & 0 deletions app/application/adapter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import DS from 'ember-data';
import { inject as service } from '@ember/service';

export default DS.Adapter.extend({
namespace: 'rpc',

ajax: service(),

findRecord(store, type, id, snapshot) {
// return new RSVP.Promise((resolve, reject) => {
// $.getJSON(`/${type.modelName}/${id}`).then(function(data) {
// resolve(data);
// }, function(jqXHR) {
// reject(jqXHR);
// });
// });

return this.get('ajax').request('/', {
method: 'POST',
dataType: 'json',
data: {
action: 'account_balance',
account: id
}
}).then((data) => {
const attrs = data;
attrs.id = id;
return attrs;
});
}
});
2 changes: 1 addition & 1 deletion app/application/serializer.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import DS from 'ember-data';

export default DS.Serializer.extend({
export default DS.JSONSerializer.extend({
});
3 changes: 3 additions & 0 deletions app/index/route.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import Route from '@ember/routing/route';

export default Route.extend({
redirect() {
this.transitionTo('wallets');
}
});
4 changes: 4 additions & 0 deletions app/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ const Router = EmberRouter.extend({
});

Router.map(function() {
this.route('wallets', function() {
this.route('accounts', { path: '/:id' }, function() {
});
});
});

export default Router;
85 changes: 43 additions & 42 deletions app/templates/application.hbs
Original file line number Diff line number Diff line change
@@ -1,46 +1,47 @@
{{!-- <div class="container-fluid"> --}}
<div class="row">
<div class="col">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">RaiWallet</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">RaiWallet</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
</header>
<main class="container-fluid">
<div class="row">
<div class="col">
{{outlet}}
</div>
</div>
</div>
<div class="row">
<div class="col">
{{outlet}}
</div>
</div>
</main>

{{!-- </div> --}}
4 changes: 4 additions & 0 deletions app/wallet/adapter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import LSAdapter from 'ember-localstorage-adapter';

export default LSAdapter.extend({
});
4 changes: 4 additions & 0 deletions app/wallets/accounts/index/route.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import Route from '@ember/routing/route';

export default Route.extend({
});
2 changes: 2 additions & 0 deletions app/wallets/accounts/index/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Total Balance: {{model.balance}}
{{qr-code content=model.id}}
4 changes: 4 additions & 0 deletions app/wallets/accounts/route.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import Route from '@ember/routing/route';

export default Route.extend({
});
1 change: 1 addition & 0 deletions app/wallets/accounts/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{outlet}}
8 changes: 8 additions & 0 deletions app/wallets/route.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import Route from '@ember/routing/route';

export default Route.extend({
redirect() {
const account = this.store.findRecord('account', 'xrb_1i8x3i4666yekktoc6sz5hcihegarxyrqx68hz6mhw3w61x6tghidatyioa7');
this.transitionTo('wallets.accounts', account);
}
});
1 change: 1 addition & 0 deletions app/wallets/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{outlet}}
6 changes: 4 additions & 2 deletions mirage/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ export default function() {
http://www.ember-cli-mirage.com/docs/v0.3.x/shorthands/
*/

this.post('/rpc', (schema, request) => {
this.namespace = 'rpc';

this.post('/', (schema, request) => {
const params = JSON.parse(request.requestBody);
return schema.wallet.create(params);
return schema.accounts.find(params.account);
});
}
4 changes: 0 additions & 4 deletions mirage/factories/wallet.js

This file was deleted.

7 changes: 7 additions & 0 deletions mirage/fixtures/account.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export default [
{
id: 'xrb_1i8x3i4666yekktoc6sz5hcihegarxyrqx68hz6mhw3w61x6tghidatyioa7',
balance: '10000',
pending: '10000'
}
];
4 changes: 0 additions & 4 deletions mirage/models/wallet.js

This file was deleted.

4 changes: 3 additions & 1 deletion mirage/scenarios/default.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
export default function(/* server */) {
export default function(server) {

/*
Seed your development database using your factories.
This data will not be loaded in your tests.
*/

// server.createList('post', 10);

server.loadFixtures('accounts');
}
2 changes: 2 additions & 0 deletions mirage/serializers/application.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { Serializer } from 'ember-cli-mirage';

export default Serializer.extend({
root: false,
embed: true
});
Loading

0 comments on commit d980a4e

Please sign in to comment.