Centralize API.getBrew descended calls to splitTextStyleAndMetadata.

This does not address "static" pages nor change tests that called splitTextStyleAndMetadata in their own fashion.
This commit is contained in:
David Bolack
2026-09-02 12:01:50 -05:00
parent b7e67b1ab5
commit 9e1910339b
4 changed files with 1 additions and 24 deletions
-15
View File
@@ -12085,21 +12085,6 @@
"url": "https://opencollective.com/mongoose" "url": "https://opencollective.com/mongoose"
} }
}, },
"node_modules/mongoose/node_modules/gcp-metadata": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-7.0.1.tgz",
"integrity": "sha512-UcO3kefx6dCcZkgcTGgVOTFb7b1LlQ02hY1omMjjrrBzkajRMCFgYOjs7J71WqnuG1k2b+9ppGL7FsOfhZMQKQ==",
"extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"gaxios": "^7.0.0",
"google-logging-utils": "^1.0.0",
"json-bigint": "^1.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/mongoose/node_modules/mongodb": { "node_modules/mongoose/node_modules/mongodb": {
"version": "7.5.0", "version": "7.5.0",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.5.0.tgz", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.5.0.tgz",
-3
View File
@@ -13,7 +13,6 @@ const isProd = nodeEnv === 'production';
import HomebrewAPI from './homebrew.api.js'; import HomebrewAPI from './homebrew.api.js';
import asyncHandler from 'express-async-handler'; import asyncHandler from 'express-async-handler';
import { splitTextStyleAndMetadata } from '../shared/helpers.js';
process.env.ADMIN_USER = process.env.ADMIN_USER || 'admin'; process.env.ADMIN_USER = process.env.ADMIN_USER || 'admin';
process.env.ADMIN_PASS = process.env.ADMIN_PASS || 'password3'; process.env.ADMIN_PASS = process.env.ADMIN_PASS || 'password3';
@@ -148,8 +147,6 @@ export default function createAdminApi(vite) {
brew[property] = cleanText(brew[property]); brew[property] = cleanText(brew[property]);
}); });
splitTextStyleAndMetadata(brew);
req.body = brew; req.body = brew;
// Remove Account from request to prevent Admin user from being added to brew as an Author // Remove Account from request to prevent Admin user from being added to brew as an Author
-3
View File
@@ -395,7 +395,6 @@ export default async function createApp(vite) {
}; };
sanitizeBrew(req.brew, 'edit'); sanitizeBrew(req.brew, 'edit');
splitTextStyleAndMetadata(req.brew);
res.header('Cache-Control', 'no-cache, no-store'); //reload the latest saved brew when pressing back button, not the cached version before save. res.header('Cache-Control', 'no-cache, no-store'); //reload the latest saved brew when pressing back button, not the cached version before save.
return next(); return next();
})); }));
@@ -403,7 +402,6 @@ export default async function createApp(vite) {
//New Page from ID //New Page from ID
app.get('/new/:id', asyncHandler(getBrew('share')), asyncHandler(async(req, res, next)=>{ app.get('/new/:id', asyncHandler(getBrew('share')), asyncHandler(async(req, res, next)=>{
sanitizeBrew(req.brew, 'share'); sanitizeBrew(req.brew, 'share');
splitTextStyleAndMetadata(req.brew);
const brew = { const brew = {
shareId : req.brew.shareId, shareId : req.brew.shareId,
title : `CLONE - ${req.brew.title}`, title : `CLONE - ${req.brew.title}`,
@@ -461,7 +459,6 @@ export default async function createApp(vite) {
}; };
brew.authors.includes(req.account?.username) ? sanitizeBrew(req.brew, 'shareAuthor') : sanitizeBrew(req.brew, 'share'); brew.authors.includes(req.account?.username) ? sanitizeBrew(req.brew, 'shareAuthor') : sanitizeBrew(req.brew, 'share');
splitTextStyleAndMetadata(req.brew);
return next(); return next();
})); }));
+1 -3
View File
@@ -192,13 +192,13 @@ const api = {
const fixedStub = migrateSystemsToTags(stub); const fixedStub = migrateSystemsToTags(stub);
req.brew = fixedStub; req.brew = fixedStub;
splitTextStyleAndMetadata(req.brew);
next(); next();
}; };
}, },
getCSS : async (req, res)=>{ getCSS : async (req, res)=>{
const { brew } = req; const { brew } = req;
if(!brew) return res.status(404).send(''); if(!brew) return res.status(404).send('');
splitTextStyleAndMetadata(brew);
if(!brew.style) return res.status(404).send(''); if(!brew.style) return res.status(404).send('');
res.set({ res.set({
@@ -344,7 +344,6 @@ const api = {
}); });
currentTheme = req.brew; currentTheme = req.brew;
splitTextStyleAndMetadata(currentTheme);
if(!currentTheme.tags.some((tag)=>tag === 'meta:theme' || tag === 'meta:Theme')) if(!currentTheme.tags.some((tag)=>tag === 'meta:theme' || tag === 'meta:Theme'))
throw { brewId: req.params.id, name: 'Invalid Theme Selected', message: 'Selected theme does not have the meta:theme tag', status: 422, HBErrorCode: '10' }; throw { brewId: req.params.id, name: 'Invalid Theme Selected', message: 'Selected theme does not have the meta:theme tag', status: 422, HBErrorCode: '10' };
themeName ??= currentTheme.title; themeName ??= currentTheme.title;
@@ -383,7 +382,6 @@ const api = {
// Initialize brew from request and body, destructure query params, and set the initial value for the after-save method // Initialize brew from request and body, destructure query params, and set the initial value for the after-save method
const brewFromClient = api.excludePropsFromUpdate(req.body); const brewFromClient = api.excludePropsFromUpdate(req.body);
const brewFromServer = req.brew; const brewFromServer = req.brew;
splitTextStyleAndMetadata(brewFromServer);
if(brewFromServer?.version !== brewFromClient?.version){ if(brewFromServer?.version !== brewFromClient?.version){
console.log(`Version mismatch on brew ${brewFromClient.editId}`); console.log(`Version mismatch on brew ${brewFromClient.editId}`);