← back to Wallco Ai
lib/parse.js
29 lines
// lib/parse.js — small parsing helpers shared across routes.
//
// REFACTOR-1d (2026-05-23): new module. parseDesignId is a wrap of the
// 30+ duplicated `parseInt(req.params.id, 10) + Number.isFinite + >=1`
// guard pattern. Adopt opportunistically — no sweep required in this commit.
'use strict';
// Parse req.params.id as a positive integer design ID.
// Returns the integer on success, or null if it's missing / NaN / non-positive.
// Callers typically:
// const id = parseDesignId(req);
// if (id == null) return res.status(400).json({ error: 'bad id' });
function parseDesignId(req) {
const raw = req && req.params && req.params.id;
const n = parseInt(raw, 10);
if (!Number.isFinite(n) || n < 1) return null;
return n;
}
// Same shape for req.query.id (or any string-like).
function parseIdLike(v) {
const n = parseInt(v, 10);
if (!Number.isFinite(n) || n < 1) return null;
return n;
}
module.exports = { parseDesignId, parseIdLike };