Forráskód Böngészése

refactor: rename generateAxiosRequestConfigWithTransferKey to G2GTransferPusherService.getAxiosConfig

mizozobu 3 éve
szülő
commit
ccc5eb71e2
1 módosított fájl, 25 hozzáadás és 18 törlés
  1. 25 18
      packages/app/src/server/service/g2g-transfer.ts

+ 25 - 18
packages/app/src/server/service/g2g-transfer.ts

@@ -3,7 +3,7 @@ import { basename } from 'path';
 import { Readable } from 'stream';
 
 // eslint-disable-next-line no-restricted-imports
-import rawAxios from 'axios';
+import rawAxios, { type AxiosRequestConfig } from 'axios';
 import FormData from 'form-data';
 import { Types as MongooseTypes } from 'mongoose';
 
@@ -64,6 +64,12 @@ interface FileMeta {
 type IGetTransferabilityReturn = { canTransfer: true; } | { canTransfer: false; reason: string; };
 
 interface Pusher {
+  /**
+   * Merge axios config with transfer key
+   * @param {TransferKey} tk Transfer key
+   * @param {AxiosRequestConfig} config Axios config
+   */
+  getAxiosConfig(tk: TransferKey, config: AxiosRequestConfig): AxiosRequestConfig
   /**
    * Send to-growi a request to get growi info
    * @param {TransferKey} tk Transfer key
@@ -126,19 +132,6 @@ interface Receiver {
   receive(zippedGROWIDataStream: Readable): Promise<void>
 }
 
-const generateAxiosRequestConfigWithTransferKey = (tk: TransferKey, additionalHeaders: {[key: string]: string} = {}) => {
-  const { appSiteUrlOrigin, key } = tk;
-
-  return {
-    baseURL: appSiteUrlOrigin,
-    headers: {
-      ...additionalHeaders,
-      [X_GROWI_TRANSFER_KEY_HEADER_NAME]: key,
-    },
-    maxBodyLength: Infinity,
-  };
-};
-
 export class G2GTransferPusherService implements Pusher {
 
   crowi: any;
@@ -148,9 +141,23 @@ export class G2GTransferPusherService implements Pusher {
     this.crowi = crowi;
   }
 
+  public getAxiosConfig(tk: TransferKey, config: AxiosRequestConfig = {}): AxiosRequestConfig {
+    const { appSiteUrlOrigin, key } = tk;
+
+    return {
+      ...config,
+      baseURL: appSiteUrlOrigin,
+      headers: {
+        ...config.headers,
+        [X_GROWI_TRANSFER_KEY_HEADER_NAME]: key,
+      },
+      maxBodyLength: Infinity,
+    };
+  }
+
   public async askGROWIInfo(tk: TransferKey): Promise<IDataGROWIInfo> {
     try {
-      const { data: { growiInfo } } = await axios.get('/_api/v3/g2g-transfer/growi-info', generateAxiosRequestConfigWithTransferKey(tk));
+      const { data: { growiInfo } } = await axios.get('/_api/v3/g2g-transfer/growi-info', this.getAxiosConfig(tk));
       return growiInfo;
     }
     catch (err) {
@@ -216,7 +223,7 @@ export class G2GTransferPusherService implements Pusher {
 
   public async listFilesInStorage(tk: TransferKey): Promise<FileMeta[]> {
     try {
-      const { data: { files } } = await axios.get<{ files: FileMeta[] }>('/_api/v3/g2g-transfer/files', generateAxiosRequestConfigWithTransferKey(tk));
+      const { data: { files } } = await axios.get<{ files: FileMeta[] }>('/_api/v3/g2g-transfer/files', this.getAxiosConfig(tk));
       return files;
     }
     catch (err) {
@@ -351,7 +358,7 @@ export class G2GTransferPusherService implements Pusher {
       form.append('optionsMap', JSON.stringify(optionsMap));
       form.append('operatorUserId', user._id.toString());
       form.append('uploadConfigs', JSON.stringify(uploadConfigs));
-      await rawAxios.post('/_api/v3/g2g-transfer/', form, generateAxiosRequestConfigWithTransferKey(tk, form.getHeaders()));
+      await rawAxios.post('/_api/v3/g2g-transfer/', form, this.getAxiosConfig(tk, { headers: form.getHeaders() }));
     }
     catch (err) {
       logger.error(err);
@@ -399,7 +406,7 @@ export class G2GTransferPusherService implements Pusher {
 
     form.append('content', fileStream, attachment.fileName);
     form.append('attachmentMetadata', JSON.stringify(attachment));
-    await rawAxios.post('/_api/v3/g2g-transfer/attachment', form, generateAxiosRequestConfigWithTransferKey(tk, form.getHeaders()));
+    await rawAxios.post('/_api/v3/g2g-transfer/attachment', form, this.getAxiosConfig(tk, { headers: form.getHeaders() }));
   }
 
 }