Skip to content

Commit 41fe546

Browse files
committed
set basic auth
1 parent 7bd16e3 commit 41fe546

14 files changed

Lines changed: 112 additions & 62 deletions

File tree

app/routes/.gitkeep

Whitespace-only changes.

bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"typeahead.js": "twitter/typeahead.js#0.10.5",
1919
"jquery-ui-sortable": "*",
2020
"bootstrap-datepicker": "~1.3.1",
21-
"chance": "~0.7.3"
21+
"chance": "~0.7.3",
22+
"ember-simple-auth": "0.7.2"
2223
},
2324
"resolutions": {
2425
"handlebars": ">= 2.0.0 < 3.0.0"

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,17 @@
4242
"connect-restreamer": "^1.0.0",
4343
"ember-cli": "0.1.7",
4444
"ember-cli-6to5": "^0.2.1",
45+
"ember-cli-admin": "git://github.com/ember-admin/ember-cli-admin.git",
4546
"ember-cli-bootstrap-datepicker": "0.3.0",
4647
"ember-cli-ember-data": "0.1.0",
4748
"ember-cli-htmlbars": "^0.6.0",
4849
"ember-cli-ic-ajax": "0.1.1",
4950
"ember-cli-inject-live-reload": "^1.3.0",
5051
"ember-cli-map": "git://github.com/ember-admin/ember-cli-map.git",
51-
"ember-cli-admin": "git://github.com/ember-admin/ember-cli-admin.git",
5252
"ember-cli-pretender": "^0.3.1",
5353
"ember-cli-qunit": "0.0.5",
54+
"ember-cli-simple-auth": "^0.7.2",
55+
"ember-cli-simple-auth-devise": "^0.7.2",
5456
"ember-export-application-global": "^1.0.0",
5557
"express": "^4.8.5",
5658
"glob": "^4.0.5"

server/mocks/app.js

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -45,45 +45,20 @@ module.exports = function(app) {
4545
});
4646

4747
appRouter.get('/users/:id', function(req, res) {
48+
if(req.params.id === 'admin'){
49+
res.send({user: {id: 1, name: 'testuser', lat: 50, long: 40, zoom: 3}});
50+
}
4851
res.send({user: {id: req.params.id, name: 'testuser', lat: 50, long: 40, zoom: 3}});
4952
});
5053

51-
appRouter.put('/users/:id', function(req, res) {
52-
res.send({user: {id: req.params.id, name: req.body.user.name, lat: req.body.user.lat, long: req.body.user.long, zoom: req.body.user.zoom}});
53-
});
54-
55-
56-
var user_category = {id: 1, name: 'test', expired_at: new Date(), zip_code: '123456', description: chance.paragraph({sentences: 10}), is_created: true, email: 'foo@bar.com', color: '#AFAFAF' };
57-
appRouter.get('/user_categories', function(req, res) {
58-
res.send({user_categories: [user_category]});
59-
});
60-
appRouter.delete('/user_categories/:id', function(req, res) {
61-
res.send({});
62-
});
63-
64-
appRouter.get('/user_categories/:id', function(req, res) {
65-
res.send({user_category: user_category});
66-
});
67-
68-
appRouter.put('/user_categories/:id', function(req, res) {
69-
res.send({user_category: {id: req.params.id, name: req.body.user_category.name, expired_at: req.body.user_category.expired_at, zip_code: req.body.user_category.zip_code, description: req.body.user_category.description, is_created: req.body.user_category.is_created, email: req.body.user_category.email, color: req.body.user_category.color}});
54+
appRouter.post('/users/sign_in', function(req, res) {
55+
res.send({user_token: 'token123456', user_email: 'test@example.com'});
7056
});
7157

72-
appRouter.get('/catalogues', function(req, res){
73-
var catalogues = [{id: 1, name: 'Tree #1', parent_id: null, catalogue_ids: [2,3]},
74-
{id: 2, name: 'Tree #2', parent_id: 1, catalogue_ids: [4]},
75-
{id: 3, name: 'Tree #3', parent_id: 1, catalogue_ids: [5]},
76-
{id: 4, name: 'Tree #4', parent_id: 2, catalogue_ids: []},
77-
{id: 5, name: 'Tree #5', parent_id: 3, catalogue_ids: []}
78-
];
79-
res.send({catalogues: catalogues});
58+
appRouter.put('/users/:id', function(req, res) {
59+
res.send({user: {id: req.params.id, name: req.body.user.name, lat: req.body.user.lat, long: req.body.user.long, zoom: req.body.user.zoom}});
8060
});
8161

82-
83-
appRouter.post('/catalogues', function(req, res){
84-
res.send({});
85-
});
86-
8762
appRouter.post('/avatars', function(req, res) {
8863
// req.on('data', function(chunk){ console.log(chunk)});
8964
res.send({avatar: {id: 1, thumb_url: 'http://media-cache-ak0.pinimg.com/236x/0c/e6/7f/0ce67fa7c94da77ab90877e65f3fda87.jpg', url: 'http://www.londra.us/Bristol_Castle.jpg'}});
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import LoginControllerMixin from 'simple-auth/mixins/login-controller-mixin';
2+
import Ember from 'ember';
3+
4+
export default Ember.Controller.extend(LoginControllerMixin, {
5+
authenticator: 'simple-auth-authenticator:devise'
6+
});
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import Ember from 'ember';
2+
3+
export default {
4+
name: 'init-shared',
5+
after: 'simple-auth',
6+
initialize: function(container) {
7+
console.log('FFFFFF');
8+
var sharedStore = Ember.Object.create({});
9+
container.optionsForType('globals', {instantiate: false, singleton: true});
10+
container.register('globals:shared', sharedStore);
11+
container.typeInjection('controller', 'shared', 'globals:shared');
12+
container.typeInjection('route', 'shared', 'globals:shared');
13+
}
14+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import Ember from 'ember';
2+
3+
export default {
4+
name: 'user-in-route',
5+
after: 'store',
6+
initialize: function(container) {
7+
var session = container.lookup('simple-auth-session:main');
8+
9+
var observer = Ember.Object.extend({
10+
observerForSession: function(){
11+
var self = this;
12+
if(this.get('session.user_email')){
13+
container.lookup('store:main').find('user', 'admin').then(function(user){
14+
container.lookup('globals:shared').set('currentUser', user);
15+
}, function(){
16+
self.get('session').invalidate().then(function(){
17+
localStorage.removeItem('ember_simple_auth:session');
18+
});
19+
});
20+
}
21+
}.observes('session.user_email').on('init')
22+
});
23+
observer.create({session: session});
24+
}
25+
};

tests/dummy/app/router.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@ var Router = Ember.Router.extend({
77
});
88

99
Router.map(function() {
10+
this.route('login');
1011
this.route("dashboard", {path: "/"});
1112
});
1213

1314
MetaRoute.map(Router, function() {
1415
this.resources("users");
15-
this.resources("cars");
16-
this.resources("user-categories");
17-
this.resources("catalogues");
1816
});
1917

2018
export default Router;

tests/dummy/app/routes/login.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import Ember from 'ember';
2+
import authMixin from 'simple-auth/mixins/application-route-mixin';
3+
var loginRoute = Ember.Route.extend(authMixin, {
4+
redirect: function(){
5+
if(this.get('session.isAuthenticated')){
6+
this.transitionTo('/');
7+
}
8+
},
9+
10+
renderTemplate: function(){
11+
this.render('login', {outlet: 'login'});
12+
}
13+
});
14+
export default loginRoute;

tests/dummy/app/routes/main.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
import Ember from 'ember';
22
import BaseAdminRouteMixin from 'ember-cli-admin/mixins/routes/base';
3+
import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';
34

4-
var mainRoute = Ember.Route.extend(BaseAdminRouteMixin);
5+
BaseAdminRouteMixin.reopen(ApplicationRouteMixin);
6+
7+
var mainRoute = Ember.Route.extend(BaseAdminRouteMixin, {
8+
redirect: function(){
9+
if(!this.get('session.isAuthenticated')){
10+
this.transitionTo('login');
11+
}
12+
}
13+
});
514
export default mainRoute;

0 commit comments

Comments
 (0)