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

success to validate uploarded file version

kaori-t 5 лет назад
Родитель
Сommit
a3afec6d69

+ 3 - 1
src/client/js/components/Admin/ImportData/GrowiArchiveSection.jsx

@@ -36,7 +36,9 @@ class GrowiArchiveSection extends React.Component {
 
 
     if (res.data.zipFileStat != null) {
     if (res.data.zipFileStat != null) {
       const { fileName, innerFileStats } = res.data.zipFileStat;
       const { fileName, innerFileStats } = res.data.zipFileStat;
-      this.setState({ fileName, innerFileStats });
+      const { isTheSameVersion } = res.data;
+
+      this.setState({ fileName, innerFileStats, isTheSameVersion });
     }
     }
   }
   }
 
 

+ 1 - 6
src/server/routes/apiv3/import.js

@@ -28,6 +28,7 @@ const router = express.Router();
  *        description: ImportStatus
  *        description: ImportStatus
  *        type: object
  *        type: object
  *        properties:
  *        properties:
+ *          isTheSameVersion:
  *          zipFileStat:
  *          zipFileStat:
  *            type: object
  *            type: object
  *            description: the property object
  *            description: the property object
@@ -160,12 +161,6 @@ module.exports = (crowi) => {
       return res.apiv3(status);
       return res.apiv3(status);
     }
     }
     catch (err) {
     catch (err) {
-      console.log(`errSSS = ${err}`);
-      if (err.message === 'the version of this growi and the growi that exported the data are not met') {
-        const varidationErr = 'versions-are-not-met!!!!';
-        console.log('versions-are-not-met!!!!');
-        return res.apiv3Err(new ErrorV3(err.message, varidationErr), 500);
-      }
       return res.apiv3Err(err, 500);
       return res.apiv3Err(err, 500);
     }
     }
   });
   });

+ 18 - 4
src/server/service/import.js

@@ -134,14 +134,13 @@ class ImportService {
     const parseZipFilePromises = zipFiles.map((file) => {
     const parseZipFilePromises = zipFiles.map((file) => {
       const zipFile = this.getFile(file);
       const zipFile = this.getFile(file);
       // return this.growiBridgeService.parseZipFile(zipFile);
       // return this.growiBridgeService.parseZipFile(zipFile);
-      const parsedZipfile =  this.growiBridgeService.parseZipFile(zipFile);
-      this.validate(parsedZipfile);
-      return parsedZipfile
+      return this.growiBridgeService.parseZipFile(zipFile);
     });
     });
     for await (const stat of parseZipFilePromises) {
     for await (const stat of parseZipFilePromises) {
       zipFileStats.push(stat);
       zipFileStats.push(stat);
     }
     }
 
 
+
     // filter null object (broken zip)
     // filter null object (broken zip)
     const filtered = zipFileStats
     const filtered = zipFileStats
       .filter(zipFileStat => zipFileStat != null);
       .filter(zipFileStat => zipFileStat != null);
@@ -150,8 +149,23 @@ class ImportService {
 
 
     const isImporting = this.currentProgressingStatus != null;
     const isImporting = this.currentProgressingStatus != null;
 
 
+    const zipFileStat = filtered.pop();
+    let isTheSameVersion = false;
+
+    if (zipFileStat != null) {
+      try {
+        this.validate(zipFileStat.meta);
+        isTheSameVersion = true;
+      } catch {
+        //isTheSameVersion = false;
+        // logger.warn
+      }
+    }
+
+
     return {
     return {
-      zipFileStat: filtered.pop(),
+      isTheSameVersion,
+      zipFileStat,
       isImporting,
       isImporting,
       progressList: isImporting ? this.currentProgressingStatus.progressList : null,
       progressList: isImporting ? this.currentProgressingStatus.progressList : null,
     };
     };