1+ const sql = require ( 'mssql' ) ;
2+
3+ // Get all medicines
4+ const getAllMedicines = async ( req , res ) => {
5+ try {
6+ const request = new sql . Request ( ) ;
7+ const result = await request . query ( `
8+ SELECT
9+ medicine_id,
10+ medicine_name,
11+ stock_quantity,
12+ expiry_date
13+ FROM Pharmacy
14+ ` ) ;
15+ res . json ( result . recordset ) ;
16+ } catch ( err ) {
17+ console . error ( 'Database error:' , err ) ;
18+ res . status ( 500 ) . json ( { message : 'Error fetching medicines' , error : err . message } ) ;
19+ }
20+ } ;
21+
22+ // Add new medicine
23+ const addMedicine = async ( req , res ) => {
24+ const { medicine_name, stock_quantity, expiry_date } = req . body ;
25+
26+ try {
27+ const request = new sql . Request ( ) ;
28+ request . input ( 'medicine_name' , sql . VarChar , medicine_name ) ;
29+ request . input ( 'stock_quantity' , sql . Int , stock_quantity ) ;
30+ request . input ( 'expiry_date' , sql . Date , new Date ( expiry_date ) ) ;
31+
32+ await request . query ( `
33+ INSERT INTO Pharmacy (medicine_name, stock_quantity, expiry_date)
34+ VALUES (@medicine_name, @stock_quantity, @expiry_date)
35+ ` ) ;
36+
37+ res . status ( 201 ) . json ( { message : 'Medicine added successfully' } ) ;
38+ } catch ( err ) {
39+ console . error ( 'Database error:' , err ) ;
40+ res . status ( 500 ) . json ( { message : 'Error adding medicine' , error : err . message } ) ;
41+ }
42+ } ;
43+
44+ // Update medicine
45+ const updateMedicine = async ( req , res ) => {
46+ const { id } = req . params ;
47+ const { medicine_name, stock_quantity, expiry_date } = req . body ;
48+
49+ try {
50+ const request = new sql . Request ( ) ;
51+ request . input ( 'id' , sql . Int , id ) ;
52+ request . input ( 'medicine_name' , sql . VarChar , medicine_name ) ;
53+ request . input ( 'stock_quantity' , sql . Int , stock_quantity ) ;
54+ request . input ( 'expiry_date' , sql . Date , new Date ( expiry_date ) ) ;
55+
56+ await request . query ( `
57+ UPDATE Pharmacy
58+ SET medicine_name = @medicine_name,
59+ stock_quantity = @stock_quantity,
60+ expiry_date = @expiry_date
61+ WHERE medicine_id = @id
62+ ` ) ;
63+
64+ res . json ( { message : 'Medicine updated successfully' } ) ;
65+ } catch ( err ) {
66+ console . error ( 'Database error:' , err ) ;
67+ res . status ( 500 ) . json ( { message : 'Error updating medicine' , error : err . message } ) ;
68+ }
69+ } ;
70+
71+ // Delete medicine
72+ const deleteMedicine = async ( req , res ) => {
73+ const { id } = req . params ;
74+ try {
75+ const request = new sql . Request ( ) ;
76+ request . input ( 'id' , sql . Int , id ) ;
77+ await request . query ( 'DELETE FROM Pharmacy WHERE medicine_id = @id' ) ;
78+ res . json ( { message : 'Medicine deleted successfully' } ) ;
79+ } catch ( err ) {
80+ console . error ( 'Database error:' , err ) ;
81+ res . status ( 500 ) . json ( { message : 'Error deleting medicine' , error : err . message } ) ;
82+ }
83+ } ;
84+
85+ module . exports = {
86+ getAllMedicines,
87+ addMedicine,
88+ updateMedicine,
89+ deleteMedicine
90+ } ;
0 commit comments