25 lines
554 B
JavaScript
25 lines
554 B
JavaScript
|
|
||
|
const config = require("../config")
|
||
|
const fsp = require('fs').promises
|
||
|
|
||
|
function validate(params) {
|
||
|
return params.token === config.token &&
|
||
|
config.allowedWebmentionSources.includes(params.domain)
|
||
|
}
|
||
|
|
||
|
async function load(domain) {
|
||
|
const fileEntries = await fsp.readdir(`data/${domain}`, { withFileTypes: true });
|
||
|
|
||
|
const files = await Promise.all(fileEntries.map(async (file) => {
|
||
|
const contents = await fsp.readFile(`data/${domain}/${file.name}`, 'utf-8')
|
||
|
return JSON.parse(contents)
|
||
|
}));
|
||
|
|
||
|
return files
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
validate,
|
||
|
load
|
||
|
}
|