If pool slug does not exist, generate one on the fly, avoid crash
This commit is contained in:
		
							parent
							
								
									8114ffe1c8
								
							
						
					
					
						commit
						810c335759
					
				@ -12,6 +12,8 @@ interface Pool {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class PoolsParser {
 | 
			
		||||
  slugWarnFlag = false;
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Parse the pools.json file, consolidate the data and dump it into the database
 | 
			
		||||
   */
 | 
			
		||||
@ -93,7 +95,22 @@ class PoolsParser {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      const finalPoolName = poolNames[i].replace(`'`, `''`); // To support single quote in names when doing db queries
 | 
			
		||||
      const slug = poolsJson['slugs'][poolNames[i]];
 | 
			
		||||
 | 
			
		||||
      let slug: string | undefined;
 | 
			
		||||
      try {
 | 
			
		||||
        slug = poolsJson['slugs'][poolNames[i]];
 | 
			
		||||
      } catch (e) {
 | 
			
		||||
        if (this.slugWarnFlag === false) {
 | 
			
		||||
          logger.warn(`pools.json does not seem to contain the 'slugs' object`);
 | 
			
		||||
          this.slugWarnFlag = true;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (slug === undefined) {
 | 
			
		||||
        // Only keep alphanumerical
 | 
			
		||||
        slug = poolNames[i].replace(/[^a-z0-9]/gi,'').toLowerCase();
 | 
			
		||||
        logger.debug(`No slug found for '${poolNames[i]}', generating it => '${slug}'`);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (existingPools.find((pool) => pool.name === poolNames[i]) !== undefined) {
 | 
			
		||||
        finalPoolDataUpdate.push({
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user