All files / repositories/category index.js

100% Statements 28/28
100% Branches 0/0
100% Functions 8/8
100% Lines 28/28

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 5711x   11x 54x   54x 54x     11x 5x 5x     11x 1x 1x     11x 1x 1x     11x 1x 1x     11x 1x   1x 1x     11x 1x 1x     11x 1x 1x     11x                    
const db = require("../../database/connection");
 
const insert = (category) => {
    const query = "INSERT INTO category(title, capability_id) VALUES ($1, $2) " +
        "RETURNING *"; // returns passed category with it's id set to corresponding id in database
    const params = [category.title, category.capabilityId];
    return db.query(query, params);
};
 
const findById = (id) => {
    const query = "SELECT * FROM category WHERE id=$1";
    return db.query(query, [id]);
};
 
const findAll = () => {
    const query = "SELECT * FROM category";
    return db.query(query);
};
 
const findAllByParent = (capabilityId) => {
    const query = "SELECT * FROM category WHERE capability_id=$1";
    return db.query(query, [capabilityId]);
};
 
const findAllByParentJoint = (capabilityId) => {
    const query = "SELECT * FROM category LEFT JOIN capability ON id(capability) = capability_id WHERE capability_id=$1";
    return db.query(query, [capabilityId]);
};
 
const update = (category) => {
    const query = "UPDATE category SET title = $2 WHERE id = $1" +
        "RETURNING *"; // returns passed category with it's id set to corresponding id in database
    const params = [category.id, category.title];
    return db.query(query, params);
};
 
const removeById = (id) => {
    const query = "DELETE FROM category WHERE id=$1 RETURNING *";
    return db.query(query, [id]);
};
 
const findByKeyword = (keyword) => {
    const query = "SELECT * FROM category WHERE UPPER(title) LIKE UPPER($1)";
    return db.query(query, [`%${keyword}%`]);
};
 
module.exports = {
    insert,
    findById,
    findAll,
    findAllByParent,
    findAllByParentJoint,
    findByKeyword,
    update,
    removeById,
};