|
@@ -1,32 +1,21 @@
|
1
|
1
|
# coding=utf-8
|
2
|
|
-import os
|
3
|
|
-from http.client import HTTPException
|
4
|
|
-
|
5
|
|
-from pyramid.httpexceptions import HTTPNoContent
|
6
|
|
-from pyramid.response import Response
|
7
|
|
-from sqlalchemy.orm.exc import NoResultFound
|
|
2
|
+from pyramid.config import Configurator
|
|
3
|
+try: # Python 3.5+
|
|
4
|
+ from http import HTTPStatus
|
|
5
|
+except ImportError:
|
|
6
|
+ from http import client as HTTPStatus
|
8
|
7
|
|
9
|
8
|
from tracim import TracimRequest
|
10
|
9
|
from tracim.extensions import hapic
|
11
|
10
|
from tracim.lib.core.user import UserApi
|
12
|
|
-from tracim.models.context_models import UserInContext
|
13
|
11
|
from tracim.views.controllers import Controller
|
14
|
|
-from pyramid.config import Configurator
|
15
|
|
-
|
16
|
|
-from tracim.views import BASE_API_V2
|
17
|
12
|
from tracim.views.core_api.schemas import UserSchema
|
18
|
13
|
from tracim.views.core_api.schemas import NoContentSchema
|
19
|
|
-
|
20
|
14
|
from tracim.views.core_api.schemas import LoginOutputHeaders
|
21
|
15
|
from tracim.views.core_api.schemas import BasicAuthSchema
|
22
|
16
|
from tracim.exceptions import NotAuthentificated
|
23
|
17
|
from tracim.exceptions import AuthenticationFailed
|
24
|
18
|
|
25
|
|
-try: # Python 3.5+
|
26
|
|
- from http import HTTPStatus
|
27
|
|
-except ImportError:
|
28
|
|
- from http import client as HTTPStatus
|
29
|
|
-
|
30
|
19
|
|
31
|
20
|
class SessionController(Controller):
|
32
|
21
|
|
|
@@ -78,41 +67,13 @@ class SessionController(Controller):
|
78
|
67
|
def bind(self, configurator: Configurator):
|
79
|
68
|
|
80
|
69
|
# Login
|
81
|
|
- configurator.add_route(
|
82
|
|
- 'login',
|
83
|
|
- os.path.join(BASE_API_V2, 'sessions', 'login'),
|
84
|
|
- request_method='POST',
|
85
|
|
- )
|
86
|
|
- configurator.add_view(
|
87
|
|
- self.login,
|
88
|
|
- route_name='login',
|
89
|
|
- )
|
|
70
|
+ configurator.add_route('login', '/sessions/login', request_method='POST') # nopep8
|
|
71
|
+ configurator.add_view(self.login, route_name='login')
|
90
|
72
|
# Logout
|
91
|
|
- configurator.add_route(
|
92
|
|
- 'post_logout',
|
93
|
|
- os.path.join(BASE_API_V2, 'sessions', 'logout'),
|
94
|
|
- request_method='POST',
|
95
|
|
- )
|
96
|
|
- configurator.add_route(
|
97
|
|
- 'get_logout',
|
98
|
|
- os.path.join(BASE_API_V2, 'sessions', 'logout'),
|
99
|
|
- request_method='GET',
|
100
|
|
- )
|
101
|
|
- configurator.add_view(
|
102
|
|
- self.logout,
|
103
|
|
- route_name='get_logout',
|
104
|
|
- )
|
105
|
|
- configurator.add_view(
|
106
|
|
- self.logout,
|
107
|
|
- route_name='post_logout',
|
108
|
|
- )
|
|
73
|
+ configurator.add_route('logout', '/sessions/logout', request_method='POST') # nopep8
|
|
74
|
+ configurator.add_view(self.logout, route_name='logout')
|
|
75
|
+ configurator.add_route('logout_get', '/sessions/logout', request_method='GET') # nopep8
|
|
76
|
+ configurator.add_view(self.logout, route_name='logout_get')
|
109
|
77
|
# Whoami
|
110
|
|
- configurator.add_route(
|
111
|
|
- 'whoami',
|
112
|
|
- os.path.join(BASE_API_V2, 'sessions', 'whoami'),
|
113
|
|
- request_method='GET',
|
114
|
|
- )
|
115
|
|
- configurator.add_view(
|
116
|
|
- self.whoami,
|
117
|
|
- route_name='whoami',
|
118
|
|
- )
|
|
78
|
+ configurator.add_route('whoami', '/sessions/whoami', request_method='GET') # nopep8
|
|
79
|
+ configurator.add_view(self.whoami, route_name='whoami',)
|