tibi-starter/api/hooks/config.js

44 lines
1.2 KiB
JavaScript

const publishedFilter = {
$or: [
{ publishDate: { $exists: false } },
{ publishDate: null },
{
publishDate: { $lte: { $date: new Date().toISOString() } },
// publishDate: { $lte: new Date() },
},
],
}
const apiSsrBaseURL = "http://localhost:8080/api/v1/_/demo/"
module.exports = {
publishedFilter,
apiSsrBaseURL,
ssrValidatePath: function (/** @type {string} */ path) {
// validate if path ssr rendering is ok, -1 = NOTFOUND, 0 = NO SSR, 1 = SSR
// pe. use context.readCollection("product", {filter: {path: path}}) ... to validate dynamic urls
// // / is de home
// if (path == "/") return 1
// // all other sites are in db
// path = path?.replace(/^\//, "")
// filter for path or alternativePaths
const resp = context.db.find("content", {
filter: {
$and: [{ $or: [{ path }, { "alternativePaths.path": path }] }, publishedFilter],
},
selector: { _id: 1 },
})
if (resp && resp.length) {
return 1
}
// not found
return -1
},
ssrPublishCheckCollections: ["content"],
}