merged cont.
[opensuse:yast-rest-service.git] / webyast / config / routes.rb
1 #--
2 # Webyast Webservice framework
3 #
4 # Copyright (C) 2009, 2010 Novell, Inc. 
5 #   This library is free software; you can redistribute it and/or modify
6 # it only under the terms of version 2.1 of the GNU Lesser General Public
7 # License as published by the Free Software Foundation. 
8 #
9 #   This library is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
12 # details. 
13 #
14 #   You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software 
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 #++
18
19 # route sessions statically, it is a singleton controller
20 ActionController::Routing::Routes.draw do |map|
21   map.resource :session
22   map.resources :notifier
23   map.resources :onlinehelp
24   
25   #resources is not restful as it allows only read only access. It is more likely inspection
26   map.connect 'resources/:id.:format',  :controller => 'resources', :action => 'show', :requirements => { :id => /[-\w]+/ }
27   map.connect 'resources.:format',  :controller => 'resources', :action => 'index'
28   map.resource :permissions
29   map.resource :vendor_settings
30
31   map.connect '/validate_uri', :controller => 'hosts', :action => 'validate_uri'
32   map.root :controller => "main"
33  
34   map.login '/login.html', :controller => 'sessions', :action => 'new'
35   # login uses POST for both
36   map.login "/login.:format", :controller => 'sessions', :action => 'create'
37   map.logout "/logout.:format", :controller => 'sessions', :action => 'destroy'
38
39   map.restdoc "/restdoc.:format", :controller => 'restdoc', :action => 'index'
40
41   map.resources :logs
42   
43   #FIXME: this is a workaround only
44   map.notifier "/notifiers/status.:format",  :controller => "notifier", :action => "status"
45
46   # Install the default routes as the lowest priority.
47   map.connect ':controller/:action/:id'
48   map.connect ':controller/:action/:id.:format', :requirements => {:id => /[^\/]*(?=\.html|\.js)|.+/ }
49
50 end