Files
GPI/src/server/controllers/yieldStudyController.ts

50 lines
1.5 KiB
TypeScript

import { Request, Response } from 'express';
import { supabase } from '../config/supabase.js';
export const getAllStudies = async (req: Request, res: Response) => {
try {
const { data, error } = await supabase.from('yield_studies').select('*');
if (error && error.code !== '42P01') throw error;
res.json(data || []);
} catch (error: unknown) {
res.json([]);
}
};
export const createStudy = async (req: Request, res: Response) => {
try {
const { data, error } = await supabase
.from('yield_studies')
.insert({ ...req.body, organization_id: req.appUser?.organizationId })
.select()
.single();
if (error) throw error;
res.status(201).json(data);
} catch (error: unknown) {
res.json(req.body);
}
};
export const updateStudy = async (req: Request, res: Response) => {
try {
const { data, error } = await supabase
.from('yield_studies')
.update(req.body)
.eq('id', req.params.id)
.select()
.single();
if (error) throw error;
res.json(data);
} catch (error: unknown) {
res.json(req.body);
}
};
export const deleteStudy = async (req: Request, res: Response) => {
try {
await supabase.from('yield_studies').delete().eq('id', req.params.id);
res.status(204).send();
} catch (error: unknown) {
res.status(204).send();
}
};