@focus-reactive/graphql-content-layer
Version:
[](https://badge.fury.io/js/%40focus-reactive%2Fgraphql-content-layer) # GitNation GraphQL Content Layer
57 lines (54 loc) • 962 B
JavaScript
import hash from 'object-hash';
const createPagesReport = pages => {
const pagesKeys = Object.keys(pages);
const report = pagesKeys.map(key => {
const page = pages[key];
const {
id,
titleSeo,
description,
seoDescription,
titlePage,
...rest
} = page;
return {
pageCode: key,
id,
titleSeo,
description,
seoDescription,
titlePage,
content: hash(rest),
};
});
return report;
};
export const createReport = content => {
try {
const {
pages,
conference,
speakers,
sponsors,
schedule,
tracks,
talks,
workshops,
...rest
} = content;
return {
pages: createPagesReport(pages),
conference,
speakers,
sponsors,
schedule,
tracks,
talks,
workshops,
otherContent: hash(rest),
};
} catch (err) {
console.error(err);
return {};
}
};