Files
adopt-a-street/backend/routes/payments.js
William Valentin df94c17e1f feat: complete MongoDB to CouchDB migration
- Migrate Report model to CouchDB with embedded street/user data
- Migrate UserBadge model to CouchDB with badge population
- Update all remaining routes (reports, users, badges, payments) to use CouchDB
- Add CouchDB health check and graceful shutdown to server.js
- Add missing methods to couchdbService (checkConnection, findWithPagination, etc.)
- Update Kubernetes deployment manifests for CouchDB support
- Add comprehensive CouchDB setup documentation

All core functionality now uses CouchDB as primary database while maintaining
MongoDB for backward compatibility during transition period.

🤖 Generated with [AI Assistant]

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
2025-11-01 13:29:48 -07:00

27 lines
768 B
JavaScript

const express = require("express");
const auth = require("../middleware/auth");
const User = require("../models/User");
const router = express.Router();
// Handle premium subscription
router.post("/subscribe", auth, async (req, res) => {
try {
// In a real application, you would integrate with a payment gateway like Stripe.
// For this example, we'll just mock a successful payment.
const user = await User.findById(req.user.id);
if (!user) {
return res.status(404).json({ msg: "User not found" });
}
await User.update(req.user.id, { isPremium: true });
res.json({ msg: "Subscription successful" });
} catch (err) {
console.error(err.message);
res.status(500).send("Server error");
}
});
module.exports = router;