From 2b28d27c026b03f1e83095a821a31054f7e44329 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 25 Jan 2025 17:19:41 +0100 Subject: [PATCH] chore(cli): Remove redundant loops and checks (#11929) --- .../commands/generate/scaffold/scaffold.js | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/cli/src/commands/generate/scaffold/scaffold.js b/packages/cli/src/commands/generate/scaffold/scaffold.js index ed0beb58da06..11f3fe264d5d 100644 --- a/packages/cli/src/commands/generate/scaffold/scaffold.js +++ b/packages/cli/src/commands/generate/scaffold/scaffold.js @@ -45,8 +45,6 @@ import { builder as serviceBuilder, } from '../service/service' -// note a better way to do this is in https://github.com/redwoodjs/redwood/pull/3783/files -const NON_EDITABLE_COLUMNS = ['id', 'createdAt', 'updatedAt'] // Any assets that should not trigger an overwrite error and require a --force const SKIPPABLE_ASSETS = ['scaffold.css'] const PACKAGE_SET = 'Set' @@ -59,12 +57,19 @@ const getIdName = (model) => { return model.fields.find((field) => field.isId)?.name } -const filterAutoGeneratedColumnsForScaffold = (column) => { +const isAutoGeneratedColumnForScaffold = (column) => { const autoGeneratedFunctions = ['now', 'autoincrement'] - return !( + + const columnDefaultFunction = + typeof column.default === 'object' && 'name' in column.default + ? column.default?.name + : '' + + return ( column.isId || column.isUpdatedAt || - autoGeneratedFunctions.includes(column?.default?.name) + column.name === 'createdAt' || + autoGeneratedFunctions.includes(columnDefaultFunction) ) } @@ -400,11 +405,9 @@ const modelRelatedVariables = (model) => { isRelationalField, } }) - const editableColumns = columns - .filter((column) => { - return NON_EDITABLE_COLUMNS.indexOf(column.name) === -1 - }) - .filter(filterAutoGeneratedColumnsForScaffold) + const editableColumns = columns.filter( + (column) => !isAutoGeneratedColumnForScaffold(column), + ) const fieldsToImport = Object.keys( editableColumns.reduce((accumulator, column) => { accumulator[column.component] = true