feat: Add and test the finance and task api routes

This commit is contained in:
2025-02-22 22:47:37 +05:30
parent 4897c53259
commit 0a43591739
8 changed files with 2724 additions and 41 deletions
+18 -8
View File
@@ -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,
};
+18 -9
View File
@@ -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,
};