Let product structure tests override default CSV
All checks were successful
Build and Deploy / build-and-push (push) Successful in 53s

This commit is contained in:
Cauê Faleiros
2026-07-23 14:15:05 -03:00
parent 12aa5c7f83
commit e7ea6b4276
2 changed files with 5 additions and 3 deletions

View File

@@ -240,7 +240,7 @@ app.get('/api/trigger-product-structures-sync', (req: Request, res: Response) =>
options: {
skus: env.PRODUCT_STRUCTURE_SKUS || null,
productIds: env.PRODUCT_STRUCTURE_PRODUCT_IDS || null,
inputFile: env.PRODUCT_STRUCTURES_INPUT_FILE || '/app/data/product-structure-products.csv',
inputFile: env.PRODUCT_STRUCTURES_INPUT_FILE || ((env.PRODUCT_STRUCTURE_SKUS || env.PRODUCT_STRUCTURE_PRODUCT_IDS) ? null : '/app/data/product-structure-products.csv'),
graphsUrl: env.PRODUCT_STRUCTURES_GRAPHS_API_URL || env.PRODUCTION_ORDERS_GRAPHS_API_URL || env.GRAPHS_PRODUCTION_ORDERS_API_URL || deriveProductionOrdersUrl(env),
dryRun: env.PRODUCT_STRUCTURES_DRY_RUN || 'false',
maxProducts: env.PRODUCT_STRUCTURES_MAX_PRODUCTS || null,

View File

@@ -92,8 +92,6 @@ const GRAPHS_PRODUCTION_ORDERS_API_KEY = (
process.env.API_KEY ||
'nexstar_secret_key_123'
);
const DEFAULT_INPUT_FILE = path.join(process.cwd(), 'data', 'product-structure-products.csv');
const INPUT_FILE = process.env.PRODUCT_STRUCTURES_INPUT_FILE || (fs.existsSync(DEFAULT_INPUT_FILE) ? DEFAULT_INPUT_FILE : '');
const SKUS = String(process.env.PRODUCT_STRUCTURE_SKUS || '')
.split(',')
.map(value => value.trim())
@@ -102,6 +100,10 @@ const PRODUCT_IDS = String(process.env.PRODUCT_STRUCTURE_PRODUCT_IDS || '')
.split(',')
.map(value => value.trim())
.filter(Boolean);
const DEFAULT_INPUT_FILE = path.join(process.cwd(), 'data', 'product-structure-products.csv');
const EXPLICIT_INPUT_FILE = process.env.PRODUCT_STRUCTURES_INPUT_FILE || '';
const SHOULD_USE_DEFAULT_INPUT_FILE = !EXPLICIT_INPUT_FILE && !SKUS.length && !PRODUCT_IDS.length && fs.existsSync(DEFAULT_INPUT_FILE);
const INPUT_FILE = EXPLICIT_INPUT_FILE || (SHOULD_USE_DEFAULT_INPUT_FILE ? DEFAULT_INPUT_FILE : '');
const DRY_RUN = process.env.PRODUCT_STRUCTURES_DRY_RUN === 'true';
const FETCH_COMPONENT_UNITS = process.env.PRODUCT_STRUCTURES_FETCH_COMPONENT_UNITS !== 'false';
const STATE_FILE = process.env.PRODUCT_STRUCTURES_STATE_FILE || path.join(process.cwd(), 'product_structures_sync_state.json');