Browse Source

add container

itizawa 6 years ago
parent
commit
0eae78d3e3

+ 5 - 6
src/client/js/components/Admin/Users/RemoveAdminForm.jsx

@@ -5,23 +5,21 @@ import { withTranslation } from 'react-i18next';
 import { createSubscribedElement } from '../../UnstatedUtils';
 import AppContainer from '../../../services/AppContainer';
 import { toastSuccess, toastError } from '../../../util/apiNotification';
+import AdminUsersContainer from '../../../services/AdminUsersContainer';
 
 class RemoveAdminForm extends React.Component {
 
   constructor(props) {
     super(props);
 
-    this.state = {
-    };
-
     this.onClickRemoveAdminBtn = this.onClickRemoveAdminBtn.bind(this);
   }
 
-  onClickRemoveAdminBtn() {
+  async onClickRemoveAdminBtn() {
     const { t } = this.props;
 
     try {
-      const username = 'gest';
+      const username = await this.props.adminUsersContainer.removeUserAdmin(this.props.user._id);
       toastSuccess(t('user_management.remove_user_admin', { username }));
     }
     catch (err) {
@@ -69,12 +67,13 @@ class RemoveAdminForm extends React.Component {
 * Wrapper component for using unstated
 */
 const RemoveAdminFormWrapper = (props) => {
-  return createSubscribedElement(RemoveAdminForm, props, [AppContainer]);
+  return createSubscribedElement(RemoveAdminForm, props, [AppContainer, AdminUsersContainer]);
 };
 
 RemoveAdminForm.propTypes = {
   t: PropTypes.func.isRequired, // i18next
   appContainer: PropTypes.instanceOf(AppContainer).isRequired,
+  adminUsersContainer: PropTypes.instanceOf(AppContainer).isRequired,
 
   user: PropTypes.object.isRequired,
 };

+ 13 - 0
src/client/js/services/AdminUsersContainer.js

@@ -101,6 +101,19 @@ export default class AdminUsersContainer extends Container {
     return username;
   }
 
+  /**
+   * Remove user admin
+   * @memberOf AdminUsersContainer
+   * @param {string} userId
+   * @return {string} username
+   */
+  async removeUserAdmin(userId) {
+    // const response = await this.appContainer.apiv3.put(`/users/${userId}/giveAdmin`);
+    // const { username } = response.data.userData;
+    const username = 'ゲスト';
+    return username;
+  }
+
   /**
    * Activate user
    * @memberOf AdminUsersContainer