fix: update storage.js to match pageHelper.injectPageMetadata (#2832)
* Update storage.js to match pageHelper.injectPageMetadata At pageHelper.injectPageMetadata references editorKey and tags to build metadata, but this data seems not to be supplied to this function, since page object is only built from specified columns. As a result, tags are always empty when exporting pages, and editor key appears as undefined. It happens also with git storage, but may happen with another storage providers. I run into this issue running Wiki.js 2.5.170 with the following Docker stack: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 39373979b693 requarks/wiki:2 "docker-entrypoint.s…" 44 minutes ago Up 9 minutes 0.0.0.0:80->3000/tcp, 0.0.0.0:443->3443/tcp wiki 608de6278aaa requarks/wiki-update-companion:latest "dotnet wiki-update-…" 5 months ago Up 6 hours 80/tcp wiki-update-companion 12c7b35ba295 postgres:11 "docker-entrypoint.s…" 5 months ago Up 6 hours 5432/tcp db * Provide id to allow to query for tags * Update git storage to provide editorKey and tags
This commit is contained in:
parent
e3fd967ad7
commit
52304a8149
@ -127,12 +127,15 @@ module.exports = {
|
|||||||
|
|
||||||
// -> Pages
|
// -> Pages
|
||||||
await pipeline(
|
await pipeline(
|
||||||
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
|
WIKI.models.knex.column('id', 'path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt', 'editorKey').select().from('pages').where({
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
}).stream(),
|
}).stream(),
|
||||||
new stream.Transform({
|
new stream.Transform({
|
||||||
objectMode: true,
|
objectMode: true,
|
||||||
transform: async (page, enc, cb) => {
|
transform: async (page, enc, cb) => {
|
||||||
|
const pageObject = await WIKI.models.pages.query().findById(page.id)
|
||||||
|
page.tags = await pageObject.$relatedQuery('tags')
|
||||||
|
|
||||||
let fileName = `${page.path}.${pageHelper.getFileExtension(page.contentType)}`
|
let fileName = `${page.path}.${pageHelper.getFileExtension(page.contentType)}`
|
||||||
if (WIKI.config.lang.code !== page.localeCode) {
|
if (WIKI.config.lang.code !== page.localeCode) {
|
||||||
fileName = `${page.localeCode}/${fileName}`
|
fileName = `${page.localeCode}/${fileName}`
|
||||||
|
@ -411,12 +411,15 @@ module.exports = {
|
|||||||
|
|
||||||
// -> Pages
|
// -> Pages
|
||||||
await pipeline(
|
await pipeline(
|
||||||
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
|
WIKI.models.knex.column('id', 'path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt', 'editorKey').select().from('pages').where({
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
}).stream(),
|
}).stream(),
|
||||||
new stream.Transform({
|
new stream.Transform({
|
||||||
objectMode: true,
|
objectMode: true,
|
||||||
transform: async (page, enc, cb) => {
|
transform: async (page, enc, cb) => {
|
||||||
|
const pageObject = await WIKI.models.pages.query().findById(page.id)
|
||||||
|
page.tags = await pageObject.$relatedQuery('tags')
|
||||||
|
|
||||||
let fileName = `${page.path}.${pageHelper.getFileExtension(page.contentType)}`
|
let fileName = `${page.path}.${pageHelper.getFileExtension(page.contentType)}`
|
||||||
if (WIKI.config.lang.namespacing && WIKI.config.lang.code !== page.localeCode) {
|
if (WIKI.config.lang.namespacing && WIKI.config.lang.code !== page.localeCode) {
|
||||||
fileName = `${page.localeCode}/${fileName}`
|
fileName = `${page.localeCode}/${fileName}`
|
||||||
|
Loading…
Reference in New Issue
Block a user