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

Potential fix for code scanning alert no. 895: Prototype-polluting assignment

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Yuki Takei 6 месяцев назад
Родитель
Сommit
84d4e0d773
2 измененных файлов с 4 добавлено и 4 удалено
  1. 2 2
      apps/app/src/server/routes/apiv3/import.ts
  2. 2 2
      apps/app/src/server/service/import/import.ts

+ 2 - 2
apps/app/src/server/routes/apiv3/import.ts

@@ -351,7 +351,7 @@ export default function route(crowi: Crowi) {
     }
     }
 
 
     // generate maps of ImportSettings to import
     // generate maps of ImportSettings to import
-    const importSettingsMap = {};
+    const importSettingsMap = new Map();
     fileStatsToImport.forEach(({ fileName, collectionName }) => {
     fileStatsToImport.forEach(({ fileName, collectionName }) => {
       // instanciate GrowiArchiveImportOption
       // instanciate GrowiArchiveImportOption
       /** @type {import('~/models/admin/growi-archive-import-option').GrowiArchiveImportOption} */
       /** @type {import('~/models/admin/growi-archive-import-option').GrowiArchiveImportOption} */
@@ -365,7 +365,7 @@ export default function route(crowi: Crowi) {
         overwriteParams: generateOverwriteParams(collectionName, req.user._id, option),
         overwriteParams: generateOverwriteParams(collectionName, req.user._id, option),
       };
       };
 
 
-      importSettingsMap[collectionName] = importSettings;
+      importSettingsMap.set(collectionName, importSettings);
     });
     });
 
 
     /*
     /*

+ 2 - 2
apps/app/src/server/service/import/import.ts

@@ -141,7 +141,7 @@ export class ImportService {
    * @param collections MongoDB collection name
    * @param collections MongoDB collection name
    * @param importSettingsMap
    * @param importSettingsMap
    */
    */
-  async import(collections: string[], importSettingsMap: { [collectionName: string]: ImportSettings }): Promise<void> {
+  async import(collections: string[], importSettingsMap: Map<string, ImportSettings>): Promise<void> {
     await this.preImport();
     await this.preImport();
 
 
     // init status object
     // init status object
@@ -149,7 +149,7 @@ export class ImportService {
 
 
     // process serially so as not to waste memory
     // process serially so as not to waste memory
     const promises = collections.map((collectionName) => {
     const promises = collections.map((collectionName) => {
-      const importSettings = importSettingsMap[collectionName];
+      const importSettings = importSettingsMap.get(collectionName);
       return this.importCollection(collectionName, importSettings);
       return this.importCollection(collectionName, importSettings);
     });
     });
     for await (const promise of promises) {
     for await (const promise of promises) {