summaryrefslogtreecommitdiffstats
path: root/lib/modifiers/summary/unshiftArticle.js
blob: d1ebc0581c89e1d2171125ae32d01f60fff2a936 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var SummaryArticle = require('../../models/summaryArticle');
var SummaryPart = require('../../models/summaryPart');

var indexLevels = require('./indexLevels');

/**
    Insert an article at the beginning of summary

    @param {Summary} summary
    @param {Article} article
    @return {Summary}
*/
function unshiftArticle(summary, article) {
    article = SummaryArticle(article);

    var parts = summary.getParts();
    var part = parts.get(0) || SummaryPart();

    var articles = part.getArticles();
    articles = articles.unshift(article);
    part = part.set('articles', articles);

    parts = parts.set(0, part);
    summary = summary.set('parts', parts);

    return indexLevels(summary);
}

module.exports = unshiftArticle;