Migrate frontend from MongoDB/Firebase to Odoo 19 backend

- Remove all MongoDB and Firebase dependencies
- Add Odoo proxy layer (src/lib/odoo.ts) for JWT-authenticated API forwarding
- Rewrite auth routes (login, logout, register, reset) to use Odoo endpoints
- Add catch-all API route ([...path].ts) to proxy remaining endpoints to Odoo
- Rewrite special-case routes for file uploads and binary responses
- Delete ~85 legacy API routes now handled by catch-all proxy
- Replace *.be.ts MongoDB utilities with stub implementations for SSR compat
- Update Dockerfile: remove MONGODB_URI, switch from yarn to npm
- Update session.ts to store Odoo JWT token

Made-with: Cursor
This commit is contained in:
Talal Sharabi
2026-03-14 16:46:15 +04:00
parent 2bfb94d01b
commit 5fb82abafd
137 changed files with 12112 additions and 12269 deletions

View File

@@ -1,26 +1,3 @@
import type { NextApiRequest, NextApiResponse } from "next";
import { withIronSessionApiRoute } from "iron-session/next";
import { sessionOptions } from "@/lib/session";
import axios from "axios";
export default withIronSessionApiRoute(handler, sessionOptions);
import {proxyToOdoo} from "@/lib/odoo";
async function handler(req: NextApiRequest, res: NextApiResponse) {
if (req.method === "GET") return get(req, res);
return res.status(404).json({ ok: false });
}
async function get(req: NextApiRequest, res: NextApiResponse) {
if (!req.session.user) return res.status(401).json({ ok: false });
const { videoId } = req.query;
const response = await axios.get(
`${process.env.BACKEND_URL}/speaking/media/${videoId}`,
{
headers: {
Authorization: `Bearer ${process.env.BACKEND_JWT}`,
}
}
);
return res.status(200).json(response.data);
}
export default proxyToOdoo();