feat: Add and test the finance and task api routes
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import Finance from "../models/financeModel.js";
|
||||
import Farm from "../models/farmModel.js";
|
||||
const Finance = require("../Models/finance.model.js");
|
||||
const Farm = require("../Models/farm.model.js");
|
||||
|
||||
// Create finance record for a farm
|
||||
export const createFinance = async (req, res) => {
|
||||
const createFinance = async (req, res) => {
|
||||
try {
|
||||
const { farm } = req.body;
|
||||
|
||||
@@ -31,8 +31,9 @@ export const createFinance = async (req, res) => {
|
||||
};
|
||||
|
||||
// Get finance details by farm ID
|
||||
export const getFinanceByFarm = async (req, res) => {
|
||||
const getFinanceByFarm = async (req, res) => {
|
||||
try {
|
||||
console.log("My farm id is : ", req.params.farmId);
|
||||
const finance = await Finance.findOne({ farm: req.params.farmId });
|
||||
|
||||
if (!finance)
|
||||
@@ -45,7 +46,7 @@ export const getFinanceByFarm = async (req, res) => {
|
||||
};
|
||||
|
||||
// Add a transaction (expense/revenue)
|
||||
export const addTransaction = async (req, res) => {
|
||||
const addTransaction = async (req, res) => {
|
||||
try {
|
||||
const { type, amount, description } = req.body;
|
||||
|
||||
@@ -70,7 +71,7 @@ export const addTransaction = async (req, res) => {
|
||||
};
|
||||
|
||||
// Delete a transaction
|
||||
export const deleteTransaction = async (req, res) => {
|
||||
const deleteTransaction = async (req, res) => {
|
||||
try {
|
||||
const finance = await Finance.findById(req.params.financeId);
|
||||
if (!finance)
|
||||
@@ -97,7 +98,7 @@ export const deleteTransaction = async (req, res) => {
|
||||
};
|
||||
|
||||
// Get all transactions for a farm's finance
|
||||
export const getTransactions = async (req, res) => {
|
||||
const getTransactions = async (req, res) => {
|
||||
try {
|
||||
const finance = await Finance.findById(req.params.financeId);
|
||||
if (!finance)
|
||||
@@ -110,7 +111,7 @@ export const getTransactions = async (req, res) => {
|
||||
};
|
||||
|
||||
// Get total expenses and revenue
|
||||
export const getFinancialSummary = async (req, res) => {
|
||||
const getFinancialSummary = async (req, res) => {
|
||||
try {
|
||||
const finance = await Finance.findById(req.params.financeId);
|
||||
if (!finance)
|
||||
@@ -124,3 +125,12 @@ export const getFinancialSummary = async (req, res) => {
|
||||
res.status(500).json({ message: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
createFinance,
|
||||
getFinanceByFarm,
|
||||
addTransaction,
|
||||
deleteTransaction,
|
||||
getTransactions,
|
||||
getFinancialSummary,
|
||||
};
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import Task from "../models/taskModel.js";
|
||||
import Farm from "../models/farmModel.js";
|
||||
import Crop from "../models/cropModel.js";
|
||||
const Task = require("../Models/task.model.js");
|
||||
const Farm = require("../Models/farm.model.js");
|
||||
const Crop = require("../Models/crop.model.js");
|
||||
|
||||
// Create a new task
|
||||
export const createTask = async (req, res) => {
|
||||
const createTask = async (req, res) => {
|
||||
try {
|
||||
const { farm, crop, taskType, description, assignedDate, status } =
|
||||
req.body;
|
||||
@@ -37,7 +37,7 @@ export const createTask = async (req, res) => {
|
||||
};
|
||||
|
||||
// Get all tasks for a specific farm
|
||||
export const getTasksByFarm = async (req, res) => {
|
||||
const getTasksByFarm = async (req, res) => {
|
||||
try {
|
||||
const tasks = await Task.find({ farm: req.params.farmId }).populate("crop");
|
||||
|
||||
@@ -48,7 +48,7 @@ export const getTasksByFarm = async (req, res) => {
|
||||
};
|
||||
|
||||
// Get a single task by ID
|
||||
export const getTaskById = async (req, res) => {
|
||||
const getTaskById = async (req, res) => {
|
||||
try {
|
||||
const task = await Task.findById(req.params.taskId).populate("farm crop");
|
||||
|
||||
@@ -61,7 +61,7 @@ export const getTaskById = async (req, res) => {
|
||||
};
|
||||
|
||||
// Update task details
|
||||
export const updateTask = async (req, res) => {
|
||||
const updateTask = async (req, res) => {
|
||||
try {
|
||||
const updatedTask = await Task.findByIdAndUpdate(
|
||||
req.params.taskId,
|
||||
@@ -79,7 +79,7 @@ export const updateTask = async (req, res) => {
|
||||
};
|
||||
|
||||
// Delete a task
|
||||
export const deleteTask = async (req, res) => {
|
||||
const deleteTask = async (req, res) => {
|
||||
try {
|
||||
const task = await Task.findById(req.params.taskId);
|
||||
|
||||
@@ -94,7 +94,7 @@ export const deleteTask = async (req, res) => {
|
||||
};
|
||||
|
||||
// Update task status (Pending → Completed)
|
||||
export const updateTaskStatus = async (req, res) => {
|
||||
const updateTaskStatus = async (req, res) => {
|
||||
try {
|
||||
const { status } = req.body;
|
||||
|
||||
@@ -109,3 +109,12 @@ export const updateTaskStatus = async (req, res) => {
|
||||
res.status(500).json({ message: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
createTask,
|
||||
getTasksByFarm,
|
||||
getTaskById,
|
||||
updateTask,
|
||||
deleteTask,
|
||||
updateTaskStatus,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user