feat(MemberOrders): implement member orders feature

- Added new models and routes for managing member orders and order history.
- Updated server.js to include member order routes and sync functionality.
- Enhanced frontend with new components and dialogs for viewing and managing orders.
- Integrated internationalization support for order-related texts across multiple languages.
- Updated navigation and views to include access to the new orders feature, improving user experience.
This commit is contained in:
Torsten Schulz (local)
2026-03-24 17:01:57 +01:00
parent e55ee0f88a
commit 02f1bed452
32 changed files with 1743 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import memberOrderService from '../services/memberOrderService.js';
const getMemberOrders = async (req, res) => {
try {
const { clubId, memberId } = req.params;
const { authcode: userToken } = req.headers;
const result = await memberOrderService.getMemberOrders(userToken, clubId, memberId);
res.status(result.status).json(result.response);
} catch (error) {
console.error('[getMemberOrders] - Error:', error);
res.status(500).json({ success: false, error: 'Bestellungen konnten nicht geladen werden.' });
}
};
const createMemberOrder = async (req, res) => {
try {
const { clubId, memberId } = req.params;
const { authcode: userToken } = req.headers;
const result = await memberOrderService.createMemberOrder(userToken, clubId, memberId, req.body || {});
res.status(result.status).json(result.response);
} catch (error) {
console.error('[createMemberOrder] - Error:', error);
res.status(500).json({ success: false, error: 'Bestellung konnte nicht gespeichert werden.' });
}
};
const updateMemberOrder = async (req, res) => {
try {
const { clubId, memberId, orderId } = req.params;
const { authcode: userToken } = req.headers;
const result = await memberOrderService.updateMemberOrder(userToken, clubId, memberId, orderId, req.body || {});
res.status(result.status).json(result.response);
} catch (error) {
console.error('[updateMemberOrder] - Error:', error);
res.status(500).json({ success: false, error: 'Bestellung konnte nicht aktualisiert werden.' });
}
};
const getGlobalOrders = async (req, res) => {
try {
const { authcode: userToken } = req.headers;
const result = await memberOrderService.getGlobalOrders(userToken);
res.status(result.status).json(result.response);
} catch (error) {
console.error('[getGlobalOrders] - Error:', error);
res.status(500).json({ success: false, error: 'Bestellübersicht konnte nicht geladen werden.' });
}
};
export {
getMemberOrders,
createMemberOrder,
updateMemberOrder,
getGlobalOrders
};