Przeglądaj źródła

writte swagger component

itizawa 6 lat temu
rodzic
commit
238a180443

+ 2 - 2
src/client/js/components/Admin/Security/TwitterSecuritySetting.jsx

@@ -95,8 +95,8 @@ class TwitterSecurityManagement extends React.Component {
                   className="form-control"
                   type="text"
                   name="TwitterConsumerId"
-                  value={adminTwitterSecurityContainer.state.twitterConsumerId}
-                  onChange={e => adminTwitterSecurityContainer.changeTwitterConsumerId(e.target.value)}
+                  value={adminTwitterSecurityContainer.state.twitterConsumerKey}
+                  onChange={e => adminTwitterSecurityContainer.changeTwitterConsumerKey(e.target.value)}
                 />
                 <p className="help-block">
                   <small dangerouslySetInnerHTML={{ __html: t('security_setting.Use env var if empty', { env: 'OAUTH_TWITTER_CONSUMER_KEY' }) }} />

+ 7 - 7
src/client/js/services/AdminTwitterSecurityContainer.js

@@ -19,7 +19,7 @@ export default class AdminTwitterSecurityContainer extends Container {
 
     this.state = {
       callbackUrl: `${pathUtils.removeTrailingSlash(appContainer.config.crowi.url)}/passport/twitter/callback`,
-      twitterConsumerId: '',
+      twitterConsumerKey: '',
       twitterConsumerSecret: '',
       isSameUsernameTreatedAsIdenticalUser: true,
     };
@@ -35,7 +35,7 @@ export default class AdminTwitterSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { twitterOAuth } = response.data.securityParams;
     this.setState({
-      twitterConsumerId: twitterOAuth.twitterConsumerId,
+      twitterConsumerKey: twitterOAuth.twitterConsumerKey,
       twitterConsumerSecret: twitterOAuth.twitterConsumerSecret,
       isSameUsernameTreatedAsIdenticalUser: twitterOAuth.isSameUsernameTreatedAsIdenticalUser,
     });
@@ -49,10 +49,10 @@ export default class AdminTwitterSecurityContainer extends Container {
   }
 
   /**
-   * Change twitterConsumerId
+   * Change twitterConsumerKey
    */
-  changeTwitterConsumerId(value) {
-    this.setState({ twitterConsumerId: value });
+  changeTwitterConsumerKey(value) {
+    this.setState({ twitterConsumerKey: value });
   }
 
   /**
@@ -75,13 +75,13 @@ export default class AdminTwitterSecurityContainer extends Container {
   async updateTwitterSetting() {
 
     const response = await this.appContainer.apiv3.put('/security-setting/twitter-oauth', {
-      twitterConsumerId: this.state.twitterConsumerId,
+      twitterConsumerKey: this.state.twitterConsumerKey,
       twitterConsumerSecret: this.state.twitterConsumerSecret,
       isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
     });
 
     this.setState({
-      twitterConsumerId: this.state.twitterConsumerId,
+      twitterConsumerKey: this.state.twitterConsumerKey,
       twitterConsumerSecret: this.state.twitterConsumerSecret,
       isSameUsernameTreatedAsIdenticalUser: this.state.isSameUsernameTreatedAsIdenticalUser,
     });

+ 41 - 26
src/server/routes/apiv3/security-setting.js

@@ -24,7 +24,7 @@ const validator = {
     body('hideRestrictedByGroup').isBoolean(),
   ],
   twitterOAuth: [
-    body('twitterConsumerId').isString(),
+    body('twitterConsumerKey').isString(),
     body('twitterConsumerSecret').isString(),
     body('isSameUsernameTreatedAsIdenticalUser').isBoolean(),
   ],
@@ -42,27 +42,42 @@ const validator = {
  *
  *  components:
  *    schemas:
- *      GuestModeParams:
+ *      SecurityParams:
  *        type: object
- *        properties:
- *          restrictGuestMode:
- *            type: string
- *            description: type of restrictGuestMode
- *      PageDeletionParams:
- *        type: object
- *        properties:
- *          pageCompleteDeletionAuthority:
- *            type: string
- *            description: type of pageDeletionAuthority
- *      HideParams:
- *        type: object
- *        properties:
- *          hideRestrictedByOwner:
- *            type: boolean
- *            description: enable hide by owner
- *          hideRestrictedByGroup:
- *            type: boolean
- *            description: enable hide by group
+ *          GeneralSetting:
+ *            type:object
+ *              GuestModeParams:
+ *                type: object
+ *                properties:
+ *                  restrictGuestMode:
+ *                    type: string
+ *                    description: type of restrictGuestMode
+ *              PageDeletionParams:
+ *                type: object
+ *                properties:
+ *                  pageCompleteDeletionAuthority:
+ *                    type: string
+ *                    description: type of pageDeletionAuthority
+ *              Function:
+ *                type: object
+ *                properties:
+ *                  hideRestrictedByOwner:
+ *                    type: boolean
+ *                    description: enable hide by owner
+ *                  hideRestrictedByGroup:
+ *                    type: boolean
+ *                    description: enable hide by group
+ *          TwitterOAuthSetting:
+ *            type:object
+ *              consumerKey:
+ *                type: string
+ *                description: key of comsumer
+ *              consumerSecret:
+ *                type: string
+ *                description: password of comsumer
+ *              isSameUsernameTreatedAsIdenticalUser
+ *                type: boolean
+ *                description: local account automatically linked the email matched
  */
 module.exports = (crowi) => {
   const loginRequiredStrictly = require('../../middleware/login-required')(crowi);
@@ -91,11 +106,11 @@ module.exports = (crowi) => {
   router.get('/', loginRequiredStrictly, adminRequired, async(req, res) => {
 
     const securityParams = {
-      general: {
+      generalAuth: {
         isTwitterOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isEnabled'),
       },
       twitterOAuth: {
-        twitterConsumerId: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey') || '',
+        twitterConsumerKey: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey') || '',
         twitterConsumerSecret: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerSecret') || '',
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isSameUsernameTreatedAsIdenticalUser') || false,
       },
@@ -224,7 +239,7 @@ module.exports = (crowi) => {
    *                schema:
    *                  properties:
    *                    status:
-   *                      $ref: '#/components/schemas/HideParams'
+   *                      $ref: '#/components/schemas/Function'
    */
   router.put('/function', loginRequiredStrictly, adminRequired, csrf, validator.function, ApiV3FormValidator, async(req, res) => {
     const requestParams = {
@@ -250,7 +265,7 @@ module.exports = (crowi) => {
   // TODO swagger
   router.put('/twitter-oauth', loginRequiredStrictly, adminRequired, csrf, validator.twitterOAuth, ApiV3FormValidator, async(req, res) => {
     const requestParams = {
-      'security:passport-twitter:consumerKey': req.body.twitterConsumerId,
+      'security:passport-twitter:consumerKey': req.body.twitterConsumerKey,
       'security:passport-twitter:consumerSecret': req.body.twitterConsumerSecret,
       'security:passport-twitter:isSameUsernameTreatedAsIdenticalUser': req.body.isSameUsernameTreatedAsIdenticalUser,
     };
@@ -259,7 +274,7 @@ module.exports = (crowi) => {
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       const securitySettingParams = {
         twitterConsumerId: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey'),
-        twitterConsumerSecret: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey'),
+        twitterConsumerSecret: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerSecret'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isSameUsernameTreatedAsIdenticalUser'),
       };
       return res.apiv3({ securitySettingParams });