UNPKG

torii

Version:

A set of clean abstractions for authentication in Ember.js

30 lines (25 loc) 1.13 kB
import ApplicationRouteMixin from 'torii/routing/application-route-mixin'; import AuthenticatedRouteMixin from 'torii/routing/authenticated-route-mixin'; import { lookup, lookupFactory, register } from 'torii/lib/container-utils'; var AuthenticatedRoute = null; function reopenOrRegister(applicationInstance, factoryName, mixin) { var factory = lookup(applicationInstance, factoryName); var basicFactory; if (factory) { factory.reopen(mixin); } else { basicFactory = lookupFactory(applicationInstance, 'route:basic'); if (!AuthenticatedRoute) { AuthenticatedRoute = basicFactory.extend(AuthenticatedRouteMixin); } register(applicationInstance, factoryName, AuthenticatedRoute); } } export default function toriiBootstrapRouting(applicationInstance, authenticatedRoutes){ reopenOrRegister(applicationInstance, 'route:application', ApplicationRouteMixin); for (var i = 0; i < authenticatedRoutes.length; i++) { var routeName = authenticatedRoutes[i]; var factoryName = 'route:' + routeName; reopenOrRegister(applicationInstance, factoryName, AuthenticatedRouteMixin); } }