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

fix removeNullPropertyFromObject

itizawa 6 лет назад
Родитель
Сommit
1fca515f48

+ 4 - 8
src/client/js/services/AdminBasicSecurityContainer.js

@@ -1,9 +1,6 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminBasicSecurityContainer');
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
 /**
  * Service container for admin security page (BasicSecuritySetting.jsx)
@@ -51,11 +48,10 @@ export default class AdminBasicSecurityContainer extends Container {
    * Update basicSetting
    */
   async updateBasicSetting() {
+    let requestParams = { isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser };
 
-    const response = await this.appContainer.apiv3.put('/security-setting/basic', {
-      isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
-    });
-
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/basic', requestParams);
     const { securitySettingParams } = response.data;
 
     this.setState({

+ 7 - 6
src/client/js/services/AdminGeneralSecurityContainer.js

@@ -1,10 +1,7 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
 import { toastError } from '../util/apiNotification';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminGeneralSecurityContainer');
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
 /**
  * Service container for admin security page (SecuritySetting.jsx)
@@ -111,12 +108,16 @@ export default class AdminGeneralSecurityContainer extends Container {
    * @return {string} Appearance
    */
   async updateGeneralSecuritySetting() {
-    const response = await this.appContainer.apiv3.put('/security-setting/general-setting', {
+
+    let requestParams = {
       restrictGuestMode: this.state.currentRestrictGuestMode,
       pageCompleteDeletionAuthority: this.state.currentPageCompleteDeletionAuthority,
       hideRestrictedByGroup: !this.state.isShowRestrictedByGroup,
       hideRestrictedByOwner: !this.state.isShowRestrictedByOwner,
-    });
+    };
+
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/general-setting', requestParams);
     const { securitySettingParams } = response.data;
     return securitySettingParams;
   }

+ 5 - 9
src/client/js/services/AdminGitHubSecurityContainer.js

@@ -1,12 +1,9 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
 import { pathUtils } from 'growi-commons';
-
 import urljoin from 'url-join';
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminGitHubSecurityContainer');
 
 /**
  * Service container for admin security page (GitHubSecurityManagement.jsx)
@@ -73,13 +70,12 @@ export default class AdminGitHubSecurityContainer extends Container {
    * Update githubSetting
    */
   async updateGitHubSetting() {
+    const { githubClientId, githubClientSecret, isSameUsernameTreatedAsIdenticalUser } = this.state;
 
-    const response = await this.appContainer.apiv3.put('/security-setting/github-oauth', {
-      githubClientId: this.state.githubClientId,
-      githubClientSecret: this.state.githubClientSecret,
-      isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
-    });
+    let requestParams = { githubClientId, githubClientSecret, isSameUsernameTreatedAsIdenticalUser };
 
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/github-oauth', requestParams);
     const { securitySettingParams } = response.data;
 
     this.setState({

+ 7 - 10
src/client/js/services/AdminGoogleSecurityContainer.js

@@ -1,12 +1,8 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
 import { pathUtils } from 'growi-commons';
-
 import urljoin from 'url-join';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminGoogleSecurityContainer');
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
 /**
  * Service container for admin security page (GoogleSecurityManagement.jsx)
@@ -74,13 +70,14 @@ export default class AdminGoogleSecurityContainer extends Container {
    * Update googleSetting
    */
   async updateGoogleSetting() {
+    const { googleClientId, googleClientSecret, isSameUsernameTreatedAsIdenticalUser } = this.state;
 
-    const response = await this.appContainer.apiv3.put('/security-setting/google-oauth', {
-      googleClientId: this.state.googleClientId,
-      googleClientSecret: this.state.googleClientSecret,
-      isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
-    });
+    let requestParams = {
+      googleClientId, googleClientSecret, isSameUsernameTreatedAsIdenticalUser,
+    };
 
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/google-oauth', requestParams);
     const { securitySettingParams } = response.data;
 
     this.setState({

+ 34 - 31
src/client/js/services/AdminLdapSecurityContainer.js

@@ -1,9 +1,6 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminLdapSecurityContainer');
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
 /**
  * Service container for admin security page (SecurityLdapSetting.jsx)
@@ -151,37 +148,43 @@ export default class AdminLdapSecurityContainer extends Container {
    * Update ldap option
    */
   async updateLdapSetting() {
+    const {
+      serverUrl, isUserBind, ldapBindDN, ldapBindDNPassword, ldapSearchFilter, ldapAttrMapUsername, isSameUsernameTreatedAsIdenticalUser,
+      ldapAttrMapMail, ldapAttrMapName, ldapGroupSearchBase, ldapGroupSearchFilter, ldapGroupDnProperty,
+    } = this.state;
+
+    let requestParams = {
+      serverUrl,
+      isUserBind,
+      ldapBindDN,
+      ldapBindDNPassword,
+      ldapSearchFilter,
+      ldapAttrMapUsername,
+      isSameUsernameTreatedAsIdenticalUser,
+      ldapAttrMapMail,
+      ldapAttrMapName,
+      ldapGroupSearchBase,
+      ldapGroupSearchFilter,
+      ldapGroupDnProperty,
+    };
 
-    const response = await this.appContainer.apiv3.put('/security-setting/ldap', {
-      serverUrl: this.state.serverUrl,
-      isUserBind: this.state.isUserBind,
-      ldapBindDN: this.state.ldapBindDN,
-      ldapBindDNPassword: this.state.ldapBindDNPassword,
-      ldapSearchFilter: this.state.ldapSearchFilter,
-      ldapAttrMapUsername: this.state.ldapAttrMapUsername,
-      isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
-      ldapAttrMapMail: this.state.ldapAttrMapMail,
-      ldapAttrMapName: this.state.ldapAttrMapName,
-      ldapGroupSearchBase: this.state.ldapGroupSearchBase,
-      ldapGroupSearchFilter: this.state.ldapGroupSearchFilter,
-      ldapGroupDnProperty: this.state.ldapGroupDnProperty,
-    });
-
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/ldap', requestParams);
     const { securitySettingParams } = response.data;
 
     this.setState({
-      serverUrl: securitySettingParams.serverUrl || '',
-      isUserBind: securitySettingParams.isUserBind || false,
-      ldapBindDN: securitySettingParams.ldapBindDN || '',
-      ldapBindDNPassword: securitySettingParams.ldapBindDNPassword || '',
-      ldapSearchFilter: securitySettingParams.ldapSearchFilter || '',
-      ldapAttrMapUsername: securitySettingParams.ldapAttrMapUsername || '',
-      isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser || false,
-      ldapAttrMapMail: securitySettingParams.ldapAttrMapMail || '',
-      ldapAttrMapName: securitySettingParams.ldapAttrMapName || '',
-      ldapGroupSearchBase: securitySettingParams.ldapGroupSearchBase || '',
-      ldapGroupSearchFilter: securitySettingParams.ldapGroupSearchFilter || '',
-      ldapGroupDnProperty: securitySettingParams.ldapGroupDnProperty || '',
+      serverUrl: securitySettingParams.serverUrl,
+      isUserBind: securitySettingParams.isUserBind,
+      ldapBindDN: securitySettingParams.ldapBindDN,
+      ldapBindDNPassword: securitySettingParams.ldapBindDNPassword,
+      ldapSearchFilter: securitySettingParams.ldapSearchFilter,
+      ldapAttrMapUsername: securitySettingParams.ldapAttrMapUsername,
+      isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,
+      ldapAttrMapMail: securitySettingParams.ldapAttrMapMail,
+      ldapAttrMapName: securitySettingParams.ldapAttrMapName,
+      ldapGroupSearchBase: securitySettingParams.ldapGroupSearchBase,
+      ldapGroupSearchFilter: securitySettingParams.ldapGroupSearchFilter,
+      ldapGroupDnProperty: securitySettingParams.ldapGroupDnProperty,
     });
     return response;
   }

+ 0 - 5
src/client/js/services/AdminLocalSecurityContainer.js

@@ -1,10 +1,5 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminLocalSecurityContainer');
-
 /**
  * Service container for admin security page (LocalSecuritySetting.jsx)
  * @extends {Container} unstated Container

+ 30 - 28
src/client/js/services/AdminOidcSecurityContainer.js

@@ -1,12 +1,8 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
 import { pathUtils } from 'growi-commons';
-
 import urljoin from 'url-join';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminOidcSecurityContainer');
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
 /**
  * Service container for admin security page (OidcSecurityManagement.jsx)
@@ -136,33 +132,39 @@ export default class AdminOidcSecurityContainer extends Container {
    * Update OpenID Connect
    */
   async updateOidcSetting() {
+    const {
+      oidcProviderName, oidcIssuerHost, oidcClientId, oidcClientSecret, oidcAttrMapId, oidcAttrMapUserName,
+      oidcAttrMapName, oidcAttrMapEmail, isSameUsernameTreatedAsIdenticalUser, isSameEmailTreatedAsIdenticalUser,
+    } = this.state;
+
+    let requestParams = {
+      oidcProviderName,
+      oidcIssuerHost,
+      oidcClientId,
+      oidcClientSecret,
+      oidcAttrMapId,
+      oidcAttrMapUserName,
+      oidcAttrMapName,
+      oidcAttrMapEmail,
+      isSameUsernameTreatedAsIdenticalUser,
+      isSameEmailTreatedAsIdenticalUser,
+    };
 
-    const response = await this.appContainer.apiv3.put('/security-setting/oidc', {
-      oidcProviderName: this.state.oidcProviderName,
-      oidcIssuerHost: this.state.oidcIssuerHost,
-      oidcClientId: this.state.oidcClientId,
-      oidcClientSecret: this.state.oidcClientSecret,
-      oidcAttrMapId: this.state.oidcAttrMapId,
-      oidcAttrMapUserName: this.state.oidcAttrMapUserName,
-      oidcAttrMapName: this.state.oidcAttrMapName,
-      oidcAttrMapEmail: this.state.oidcAttrMapEmail,
-      isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
-      isSameEmailTreatedAsIdenticalUser: this.state.isSameEmailTreatedAsIdenticalUser,
-    });
-
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/oidc', requestParams);
     const { securitySettingParams } = response.data;
 
     this.setState({
-      oidcProviderName: securitySettingParams.oidcProviderName || '',
-      oidcIssuerHost: securitySettingParams.oidcIssuerHost || '',
-      oidcClientId: securitySettingParams.oidcClientId || '',
-      oidcClientSecret: securitySettingParams.oidcClientSecret || '',
-      oidcAttrMapId: securitySettingParams.oidcAttrMapId || '',
-      oidcAttrMapUserName: securitySettingParams.oidcAttrMapUserName || '',
-      oidcAttrMapName: securitySettingParams.oidcAttrMapName || '',
-      oidcAttrMapEmail: securitySettingParams.oidcAttrMapEmail || '',
-      isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser || false,
-      isSameEmailTreatedAsIdenticalUser: securitySettingParams.isSameEmailTreatedAsIdenticalUser || false,
+      oidcProviderName: securitySettingParams.oidcProviderName,
+      oidcIssuerHost: securitySettingParams.oidcIssuerHost,
+      oidcClientId: securitySettingParams.oidcClientId,
+      oidcClientSecret: securitySettingParams.oidcClientSecret,
+      oidcAttrMapId: securitySettingParams.oidcAttrMapId,
+      oidcAttrMapUserName: securitySettingParams.oidcAttrMapUserName,
+      oidcAttrMapName: securitySettingParams.oidcAttrMapName,
+      oidcAttrMapEmail: securitySettingParams.oidcAttrMapEmail,
+      isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,
+      isSameEmailTreatedAsIdenticalUser: securitySettingParams.isSameEmailTreatedAsIdenticalUser,
     });
     return response;
   }

+ 30 - 28
src/client/js/services/AdminSamlSecurityContainer.js

@@ -1,12 +1,8 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
 import { pathUtils } from 'growi-commons';
-
 import urljoin from 'url-join';
-
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminSamlSecurityContainer');
+import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
 /**
  * Service container for admin security page (SecuritySamlSetting.jsx)
@@ -140,34 +136,40 @@ export default class AdminSamlSecurityContainer extends Container {
    * Update saml option
    */
   async updateSamlSetting() {
+    const {
+      samlEntryPoint, samlIssuer, samlCert, samlAttrMapId, samlAttrMapUserName, samlAttrMapMail,
+      samlAttrMapFirstName, samlAttrMapLastName, isSameUsernameTreatedAsIdenticalUser, isSameEmailTreatedAsIdenticalUser,
+    } = this.state;
+
+    let requestParams = {
+      samlEntryPoint,
+      samlIssuer,
+      samlCert,
+      samlAttrMapId,
+      samlAttrMapUserName,
+      samlAttrMapMail,
+      samlAttrMapFirstName,
+      samlAttrMapLastName,
+      isSameUsernameTreatedAsIdenticalUser,
+      isSameEmailTreatedAsIdenticalUser,
+    };
 
-    const response = await this.appContainer.apiv3.put('/security-setting/saml', {
-      samlEntryPoint: this.state.samlEntryPoint,
-      samlIssuer: this.state.samlIssuer,
-      samlCert: this.state.samlCert,
-      samlAttrMapId: this.state.samlAttrMapId,
-      samlAttrMapUserName: this.state.samlAttrMapUserName,
-      samlAttrMapMail: this.state.samlAttrMapMail,
-      samlAttrMapFirstName: this.state.samlAttrMapFirstName,
-      samlAttrMapLastName: this.state.samlAttrMapLastName,
-      isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
-      isSameEmailTreatedAsIdenticalUser: this.state.isSameEmailTreatedAsIdenticalUser,
-    });
-
+    requestParams = await removeNullPropertyFromObject(requestParams);
+    const response = await this.appContainer.apiv3.put('/security-setting/saml', requestParams);
     const { securitySettingParams } = response.data;
 
     this.setState({
       missingMandatoryConfigKeys: securitySettingParams.missingMandatoryConfigKeys,
-      samlEntryPoint: securitySettingParams.samlEntryPoint || '',
-      samlIssuer: securitySettingParams.samlIssuer || '',
-      samlCert: securitySettingParams.samlCert || '',
-      samlAttrMapId: securitySettingParams.samlAttrMapId || '',
-      samlAttrMapUserName: securitySettingParams.samlAttrMapUserName || '',
-      samlAttrMapMail: securitySettingParams.samlAttrMapMail || '',
-      samlAttrMapFirstName: securitySettingParams.samlAttrMapFirstName || '',
-      samlAttrMapLastName: securitySettingParams.samlAttrMapLastName || '',
-      isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser || false,
-      isSameEmailTreatedAsIdenticalUser: securitySettingParams.isSameEmailTreatedAsIdenticalUser || false,
+      samlEntryPoint: securitySettingParams.samlEntryPoint,
+      samlIssuer: securitySettingParams.samlIssuer,
+      samlCert: securitySettingParams.samlCert,
+      samlAttrMapId: securitySettingParams.samlAttrMapId,
+      samlAttrMapUserName: securitySettingParams.samlAttrMapUserName,
+      samlAttrMapMail: securitySettingParams.samlAttrMapMail,
+      samlAttrMapFirstName: securitySettingParams.samlAttrMapFirstName,
+      samlAttrMapLastName: securitySettingParams.samlAttrMapLastName,
+      isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,
+      isSameEmailTreatedAsIdenticalUser: securitySettingParams.isSameEmailTreatedAsIdenticalUser,
     });
     return response;
   }

+ 2 - 12
src/client/js/services/AdminTwitterSecurityContainer.js

@@ -1,13 +1,9 @@
 import { Container } from 'unstated';
 
-import loggerFactory from '@alias/logger';
 import { pathUtils } from 'growi-commons';
-
 import urljoin from 'url-join';
 import removeNullPropertyFromObject from '../../../lib/util/removeNullPropertyFromObject';
 
-// eslint-disable-next-line no-unused-vars
-const logger = loggerFactory('growi:security:AdminTwitterSecurityContainer');
 
 /**
  * Service container for admin security page (TwitterSecurityManagement.jsx)
@@ -77,16 +73,10 @@ export default class AdminTwitterSecurityContainer extends Container {
   async updateTwitterSetting() {
     const { twitterConsumerKey, twitterConsumerSecret, isSameUsernameTreatedAsIdenticalUser } = this.state;
 
-    let requestParams = {
-      twitterConsumerKey,
-      twitterConsumerSecret,
-      isSameUsernameTreatedAsIdenticalUser,
-    };
-
-    requestParams = removeNullPropertyFromObject(requestParams);
+    let requestParams = { twitterConsumerKey, twitterConsumerSecret, isSameUsernameTreatedAsIdenticalUser };
 
+    requestParams = await removeNullPropertyFromObject(requestParams);
     const response = await this.appContainer.apiv3.put('/security-setting/twitter-oauth', requestParams);
-
     const { securitySettingParams } = response.data;
 
     this.setState({