Browse Source

better view and route creation code + use of prefix_path

Guénaël Muller 6 years ago
parent
commit
8fbf7e51a8
2 changed files with 10 additions and 37 deletions
  1. 2 1
      tracim/__init__.py
  2. 8 36
      tracim/views/core_api/session_controller.py

+ 2 - 1
tracim/__init__.py View File

@@ -13,6 +13,7 @@ from tracim.lib.utils.authentification import basic_auth_check_credentials
13 13
 from tracim.lib.utils.authentification import BASIC_AUTH_WEBUI_REALM
14 14
 from tracim.lib.utils.authorization import AcceptAllAuthorizationPolicy
15 15
 from tracim.lib.utils.authorization import TRACIM_DEFAULT_PERM
16
+from tracim.views import BASE_API_V2
16 17
 from tracim.views.core_api.session_controller import SessionController
17 18
 from tracim.views.default.default_controller import DefaultController
18 19
 from tracim.views.errors import ErrorSchema
@@ -55,7 +56,7 @@ def main(global_config, **settings):
55 56
     default_controllers = DefaultController()
56 57
     default_controllers.bind(configurator)
57 58
     session_api = SessionController()
58
-    session_api.bind(configurator)
59
+    configurator.include(session_api.bind, route_prefix=BASE_API_V2)
59 60
     hapic.add_documentation_view(
60 61
         '/api/v2/doc',
61 62
         'Tracim v2 API',

+ 8 - 36
tracim/views/core_api/session_controller.py View File

@@ -94,41 +94,13 @@ class SessionController(Controller):
94 94
     def bind(self, configurator: Configurator):
95 95
 
96 96
         # Login
97
-        configurator.add_route(
98
-            'login',
99
-            os.path.join(BASE_API_V2, 'sessions', 'login'),
100
-            request_method='POST',
101
-        )
102
-        configurator.add_view(
103
-            self.login,
104
-            route_name='login',
105
-        )
97
+        configurator.add_route('login', '/sessions/login', request_method='POST')
98
+        configurator.add_view(self.login, route_name='login')
106 99
         # Logout
107
-        configurator.add_route(
108
-            'post_logout',
109
-            os.path.join(BASE_API_V2, 'sessions', 'logout'),
110
-            request_method='POST',
111
-        )
112
-        configurator.add_route(
113
-            'get_logout',
114
-            os.path.join(BASE_API_V2, 'sessions', 'logout'),
115
-            request_method='GET',
116
-        )
117
-        configurator.add_view(
118
-            self.logout,
119
-            route_name='get_logout',
120
-        )
121
-        configurator.add_view(
122
-            self.logout,
123
-            route_name='post_logout',
124
-        )
100
+        configurator.add_route('logout', '/sessions/logout', request_method='POST')
101
+        configurator.add_view(self.logout, route_name='logout')
102
+        configurator.add_route('logout_get', '/sessions/logout', request_method='GET')
103
+        configurator.add_view(self.logout, route_name='logout_get')
125 104
         # Whoami
126
-        configurator.add_route(
127
-            'whoami',
128
-            os.path.join(BASE_API_V2, 'sessions', 'whoami'),
129
-            request_method='GET',
130
-        )
131
-        configurator.add_view(
132
-            self.whoami,
133
-            route_name='whoami',
134
-        )
105
+        configurator.add_route('whoami', '/sessions/whoami', request_method='GET')
106
+        configurator.add_view(self.whoami, route_name='whoami',)