all files / api/query/ article.js

100% Statements 4/4
100% Branches 0/0
100% Functions 0/0
100% Lines 4/4
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                                                                                                       
'use strict';
const sectionQuery = require('./section');
const videoQuery = require('./video');
 
module.exports = (db, id) => {
    return {
        where: {
            id: id
        },
        order: [[
            {
                model: db.article_content
            },
            'order_index',
            'ASC'
        ]],
        include: [
            sectionQuery(db),
            {
                model: db.article_content,
                include: [
                    {
                        model: db.content_item,
                        include: [
                            {
                                model: db.video,
                                include: [
                                    sectionQuery(db)
                                ]
                            },
                            db.quiz,
                            db.tweet,
                            db.instagram
                        ]
                    }
                ]
            },
            {
                model: db.article_relation,
                required: false,
                where: {
                    relation_type: ['picturerel', 'videorel', 'teaserrel'],
                    order_index: 0
                },
                include: [
                    {
                        model: db.content_item,
                        include: [videoQuery(db)]
                    }
                ]
            },
            db.article_author
        ]
    };
};