From bda56d4f8d5e35e784cca1e5922c871ee0e623e0 Mon Sep 17 00:00:00 2001 From: David Bolack Date: Sat, 11 Apr 2026 00:15:06 -0500 Subject: [PATCH] Update new meta data save, update tests --- server/homebrew.api.js | 32 +++++++++++ server/homebrew.api.spec.js | 108 ++++++++++++++++++++++++------------ 2 files changed, 106 insertions(+), 34 deletions(-) diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 04c6507e8..d4d0f205c 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -220,6 +220,38 @@ const api = { const metadata = _.pick(brew, ['title', 'description', 'tags', 'renderer', 'theme']); const snippetsArray = brewSnippetsToJSON('brew_snippets', brew.snippets, null, false).snippets; metadata.snippets = snippetsArray.length > 0 ? snippetsArray : undefined; + + metadata.bleed = { + top : brew?.bleed?.top || '.125in', + bottom : brew?.bleed?.bottom || '.125in', + left : brew?.bleed?.left || '.125in', + right : brew?.bleed?.right || '.125in', + }; + + // Copy Required Safe Space or Use defaults + metadata.safetySpace = { + top : brew?.safetySpace?.top || '.125in', + bottom : brew?.safetySpace?.bottom || '.125in', + left : brew?.safetySpace?.left || '.125in', + right : brew?.safetySpace?.right || '.125in', + }; + + // Set brew paper trim size or default to US Letter + metadata.trimSize = { + width : brew?.trimSize?.width || '8.5in', + height : brew?.trimSize?.height || '11in', + }; + + // Set Column specs or use defaults + metadata.columns = brew?.columns || '2'; + metadata.columnGutter = brew?.columnGutter || '.125in'; + + // Set License or set to Unlicensed + metadata.license = brew?.license || 'None'; + + // Set Authors legal names or to empty. + metadata.legalAuthors = brew?.legalAuthors || ''; + text = `\`\`\`metadata\n` + `${yaml.dump(metadata)}\n` + `\`\`\`\n\n` + diff --git a/server/homebrew.api.spec.js b/server/homebrew.api.spec.js index 05ae8c51a..a18ab3b43 100644 --- a/server/homebrew.api.spec.js +++ b/server/homebrew.api.spec.js @@ -390,7 +390,13 @@ describe('Tests for api', ()=>{ tags : ['something', 'fun'], renderer : 'v3', theme : 'phb', - googleId : '12345' + googleId : '12345', + bleed : { + top : '.125in', + bottom : '.125in', + left : '.125in', + right : '.125in' + } }); expect(result).toEqual(`\`\`\`metadata @@ -401,6 +407,23 @@ tags: - fun renderer: v3 theme: phb +bleed: + top: .125in + bottom: .125in + left: .125in + right: .125in +safetySpace: + top: .125in + bottom: .125in + left: .125in + right: .125in +trimSize: + width: 8.5in + height: 11in +columns: '2' +columnGutter: .125in +license: None +legalAuthors: '' \`\`\` @@ -416,7 +439,7 @@ brew`); tags : ['something', 'fun'], renderer : 'v3', theme : 'phb', - googleId : '12345' + googleId : '12345', }); expect(result).toEqual(`\`\`\`metadata @@ -427,6 +450,23 @@ tags: - fun renderer: v3 theme: phb +bleed: + top: .125in + bottom: .125in + left: .125in + right: .125in +safetySpace: + top: .125in + bottom: .125in + left: .125in + right: .125in +trimSize: + width: 8.5in + height: 11in +columns: '2' +columnGutter: .125in +license: None +legalAuthors: '' \`\`\` @@ -537,16 +577,16 @@ brew`); expect(res.status).toHaveBeenCalledWith(200); expect(res.send).toHaveBeenCalledWith({ - _id : '1', - authors : ['test user'], - createdAt : undefined, - description : '', - editId : expect.any(String), - gDrive : false, - pageCount : 1, - published : false, - renderer : 'V3', - lang : 'en', + _id : '1', + authors : ['test user'], + createdAt : undefined, + description : '', + editId : expect.any(String), + gDrive : false, + pageCount : 1, + published : false, + renderer : 'V3', + lang : 'en', shareId : expect.any(String), style : undefined, tags : [], @@ -595,28 +635,28 @@ brew`); expect(google.newGoogleBrew).toHaveBeenCalled(); expect(res.status).toHaveBeenCalledWith(200); expect(res.send).toHaveBeenCalledWith({ - _id : '1', - authors : ['test user'], - createdAt : undefined, - description : '', - editId : expect.any(String), - gDrive : false, - pageCount : 1, - published : false, - renderer : 'V3', - lang : 'en', - shareId : expect.any(String), - googleId : expect.any(String), - style : undefined, - tags : [], - text : undefined, - textBin : undefined, - theme : '5ePHB', - thumbnail : '', - title : 'asdf', - trashed : false, - updatedAt : undefined, - views : 0 + _id : '1', + authors : ['test user'], + createdAt : undefined, + description : '', + editId : expect.any(String), + gDrive : false, + pageCount : 1, + published : false, + renderer : 'V3', + lang : 'en', + shareId : expect.any(String), + googleId : expect.any(String), + style : undefined, + tags : [], + text : undefined, + textBin : undefined, + theme : '5ePHB', + thumbnail : '', + title : 'asdf', + trashed : false, + updatedAt : undefined, + views : 0 }); }); });