Просмотр исходного кода

move logout post to apiv3 from apiv1

kaori 4 лет назад
Родитель
Сommit
dd2d2030f4

+ 8 - 2
packages/app/src/components/Navbar/PersonalDropdown.jsx

@@ -38,13 +38,19 @@ const PersonalDropdown = (props) => {
   const { data: isPreferDrawerModeOnEdit, mutate: mutatePreferDrawerModeOnEdit } = usePreferDrawerModeOnEditByUser();
   const { scheduleToPut } = useUserUISettings();
 
-  const logoutHandler = async() => {
+  const logoutHandler = () => {
     const { interceptorManager } = appContainer;
 
     const context = {};
     interceptorManager.process('logout', context);
 
-    await appContainer.apiPost('/logout');
+    try {
+      appContainer.apiv3Post('/logout');
+      window.location.href = '/';
+    }
+    catch (err) {
+      console.log(err);
+    }
   };
 
   const preferDrawerModeSwitchModifiedHandler = useCallback((bool) => {

+ 4 - 1
packages/app/src/server/routes/apiv3/index.js

@@ -1,8 +1,9 @@
 import loggerFactory from '~/utils/logger';
-import * as userActivation from './user-activation';
+
 import injectUserRegistrationOrderByTokenMiddleware from '../../middlewares/inject-user-registration-order-by-token-middleware';
 
 import pageListing from './page-listing';
+import * as userActivation from './user-activation';
 
 const logger = loggerFactory('growi:routes:apiv3'); // eslint-disable-line no-unused-vars
 
@@ -43,6 +44,8 @@ module.exports = (crowi) => {
 
   router.use('/statistics', require('./statistics')(crowi));
 
+  router.use('/logout', require('./logout')(crowi));
+
 
   router.use('/search', require('./search')(crowi));
 

+ 15 - 0
packages/app/src/server/routes/apiv3/logout.js

@@ -0,0 +1,15 @@
+import loggerFactory from '~/utils/logger';
+
+const logger = loggerFactory('growi:routes:apiv3:forgotPassword'); // eslint-disable-line no-unused-vars
+
+const express = require('express');
+
+const router = express.Router();
+
+module.exports = (crowi) => {
+  router.post('/', async(req, res) => {
+    return req.session.destroy();
+  });
+
+  return router;
+};