55 lines
1.2 KiB
TypeScript
55 lines
1.2 KiB
TypeScript
import * as express from "express";
|
|
import AdminRoute from "./admin";
|
|
import UserRoute from "./user";
|
|
import InternalRoute from "./internal";
|
|
import Login from "./user/login";
|
|
import ClientRouter from "./client";
|
|
import * as cors from "cors";
|
|
import OAuthRoute from "./oauth";
|
|
import config from "../config";
|
|
import JRPCEndpoint from "./jrpc";
|
|
|
|
const ApiRouter: express.IRouter = express.Router();
|
|
ApiRouter.use("/admin", AdminRoute);
|
|
ApiRouter.use(cors());
|
|
ApiRouter.use("/user", UserRoute);
|
|
ApiRouter.use("/internal", InternalRoute);
|
|
ApiRouter.use("/oauth", OAuthRoute);
|
|
|
|
ApiRouter.use("/client", ClientRouter);
|
|
|
|
/**
|
|
* @api {post} /jrpc
|
|
* @apiName InternalJRPCEndpoint
|
|
*
|
|
* @apiGroup user
|
|
* @apiPermission none
|
|
*
|
|
* @apiErrorExample {Object} Error-Response:
|
|
{
|
|
error: [
|
|
{
|
|
message: "Some Error",
|
|
field: "username"
|
|
}
|
|
],
|
|
status: 400
|
|
}
|
|
*/
|
|
ApiRouter.post("/jrpc", JRPCEndpoint);
|
|
|
|
// Legacy reasons (deprecated)
|
|
ApiRouter.use("/", ClientRouter);
|
|
|
|
// Legacy reasons (deprecated)
|
|
ApiRouter.post("/login", Login);
|
|
|
|
ApiRouter.get("/config.json", (req, res) => {
|
|
return res.json({
|
|
name: config.core.name,
|
|
url: config.core.url,
|
|
});
|
|
});
|
|
|
|
export default ApiRouter;
|