implements a category route
This commit is contained in:
50
models/CategoryModel.js
Normal file
50
models/CategoryModel.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const db = require('../db/Pool');
|
||||
const pgp = require('pg-promise')({ capSQL: true });
|
||||
|
||||
module.exports = class CategoryModel {
|
||||
async getAll() {
|
||||
try {
|
||||
const statement = "SELECT * FROM category";
|
||||
const result = await db.query(statement);
|
||||
if (result.rows.length) return result.rows;
|
||||
return null;
|
||||
} catch(e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async getById(id) {
|
||||
try {
|
||||
const statement = "SELECT * FROM category WHERE id = $1";
|
||||
const values = [id];
|
||||
const result = await db.query(statement, values);
|
||||
if (result.rows.length) return result.rows;
|
||||
return null;
|
||||
} catch(e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async getByName(name) {
|
||||
try {
|
||||
const statement = "SELECT * FROM category WHERE name = $1";
|
||||
const values = [name];
|
||||
const result = await db.query(statement, values);
|
||||
if (result.rows.length) return result.rows;
|
||||
return null;
|
||||
} catch(e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async insertOne(data) {
|
||||
try {
|
||||
const statement = pgp.helpers.insert(data, null, 'category') + "RETURNING *";
|
||||
const result = await db.query(statement);
|
||||
if (result.rows.length) return result.rows;
|
||||
return null;
|
||||
} catch(e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user