grocery list route
This commit is contained in:
@@ -3,18 +3,73 @@ import pool from "../db";
|
||||
|
||||
export class GroceryList {
|
||||
async getAll() {
|
||||
|
||||
try {
|
||||
const statement = 'SELECT * FROM recipin.grocerylist';
|
||||
const result = await pool.query(statement);
|
||||
if (result.rows.length) return result.rows;
|
||||
return null;
|
||||
} catch (e: any) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async getOne(id: string) {
|
||||
try {
|
||||
const statement = `SELECT * FROM recipin.grocerylist WHERE id = $1`
|
||||
const result = await pool.query(statement, [id]);
|
||||
if (result.rows.length) return result.rows[0];
|
||||
return null;
|
||||
} catch (e: any) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async getByUserID(userid: string) {
|
||||
try {
|
||||
const statement = `SELECT * FROM recipin.grocerylist WHERE ownerid = $1`
|
||||
const result = await pool.query(statement, [userid]);
|
||||
if (result.rows.length) return result.rows;
|
||||
return null;
|
||||
} catch (e: any) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async post(data: IGroceryList) {
|
||||
|
||||
try {
|
||||
// assumes that any new list will be active on creation
|
||||
const statement = `
|
||||
INSERT INTO recipin.grocerylist
|
||||
(name, active, ownerid)
|
||||
VALUES ($1, true, $2)
|
||||
RETURNING *;
|
||||
`
|
||||
const values = [data.name, data.ownerid];
|
||||
const result = await pool.query(statement, values);
|
||||
if (result.rows.length) return result.rows[0];
|
||||
return null;
|
||||
} catch (e: any) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
|
||||
async put(id: string, data: IGroceryList) {
|
||||
try {
|
||||
const statement = `
|
||||
UPDATE recipin.grocerylist
|
||||
SET name = $1,
|
||||
active = $2,
|
||||
ownerid = $3
|
||||
WHERE id = $4
|
||||
RETURNING *
|
||||
`
|
||||
const values = [data.name, data.active, data.ownerid, id];
|
||||
|
||||
const result = await pool.query(statement, values);
|
||||
if (result.rows.length) return result.rows[0];
|
||||
return null;
|
||||
} catch (e: any) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user