filters.coffee
856 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
###
Route Filters
Filters for managing user access to application routes.
###
# Define Filters
###
Filter: Check if a User is Logged In
If a user is not logged in and attempts to go to an authenticated route,
re-route them to the login screen.
###
checkUserLoggedIn = ->
if not Meteor.loggingIn() and not Meteor.user()
Router.go '/login'
@pause
###
Filter: Check if a User Exists
If a user is logged in and attempts to go to a public route, re-route
them to the main "logged in" screen.
###
userAuthenticated = ->
if not Meteor.loggingIn() and Meteor.user()
Router.go '/'
# Run Filters
Router.onBeforeAction checkUserLoggedIn, except: [
'signup',
'login',
'recover-password',
'reset-password'
]
Router.onBeforeAction userAuthenticated, only: [
'signup',
'login',
'recover-password',
'reset-password'
]