const blog = require('./blog')() const rss = require('rss') class RSS { constructor(x) { this.object = { feed: null, baseUrl: x.baseUrl, } } async GetFeed(x) { if (this.object.feed) { return this.object.feed } else { return await this.#CreateFeed(x).then(feed => { this.object.feed = feed return this.object.feed }) } } async #CreateFeed(x) { return blog.ReadBlogs().then(blogs => { const feed = new rss({ title: x.title, description: x.description, author: x.author }) blogs.forEach(value => { feed.item({ title: value.title, description: value.body, url: `${this.object.baseUrl}blog`, date: value.date }) }) return feed.xml({ident: true}) }) } } module.exports = (x) => new RSS(x)