Consolidate Quotes API (#2365) by Bruception

* Consolidate quotes API

* Re-add authentication middleware
This commit is contained in:
Bruce Berrios 2022-01-28 17:58:20 -05:00 committed by GitHub
parent 1ef1a4fa59
commit 05971924af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 41 deletions

View file

@ -6,10 +6,9 @@ const API_ROUTE_MAP = {
"/config": require("./config"),
"/results": require("./result"),
"/presets": require("./preset"),
"/quote-ratings": require("./quote-ratings"),
"/psa": require("./psa"),
"/leaderboard": require("./leaderboards"),
"/new-quotes": require("./new-quotes"),
"/quotes": require("./quotes"),
};
function addApiRoutes(app) {

View file

@ -1,22 +0,0 @@
const { authenticateRequest } = require("../../middlewares/auth");
const { Router } = require("express");
const QuoteRatingsController = require("../controllers/quote-ratings");
const RateLimit = require("../../middlewares/rate-limit");
const router = Router();
router.get(
"/get",
RateLimit.quoteRatingsGet,
authenticateRequest,
QuoteRatingsController.getRating
);
router.post(
"/submit",
RateLimit.quoteRatingsSubmit,
authenticateRequest,
QuoteRatingsController.submitRating
);
module.exports = router;

View file

@ -1,38 +1,51 @@
const { authenticateRequest } = require("../../middlewares/auth");
const { Router } = require("express");
const NewQuotesController = require("../controllers/new-quotes");
const QuoteRatingsController = require("../controllers/quote-ratings");
const RateLimit = require("../../middlewares/rate-limit");
const router = Router();
const quotesRouter = Router();
router.get(
"/get",
quotesRouter.get(
"/",
RateLimit.newQuotesGet,
authenticateRequest,
NewQuotesController.getQuotes
);
router.post(
"/add",
quotesRouter.post(
"/",
RateLimit.newQuotesAdd,
authenticateRequest,
NewQuotesController.addQuote
);
router.post(
quotesRouter.post(
"/approve",
RateLimit.newQuotesAction,
authenticateRequest,
NewQuotesController.approve
);
router.post(
"/refuse",
quotesRouter.post(
"/reject",
RateLimit.newQuotesAction,
authenticateRequest,
NewQuotesController.refuse
);
//Add route to allow moderator to edit before submisison
quotesRouter.get(
"/rating",
RateLimit.quoteRatingsGet,
authenticateRequest,
QuoteRatingsController.getRating
);
module.exports = router;
quotesRouter.post(
"/rating",
RateLimit.quoteRatingsSubmit,
authenticateRequest,
QuoteRatingsController.submitRating
);
module.exports = quotesRouter;

View file

@ -50,7 +50,7 @@ async function getQuotes() {
Loader.show();
let response;
try {
response = await axiosInstance.get("/new-quotes/get");
response = await axiosInstance.get("/quotes");
} catch (e) {
Loader.hide();
let msg = e?.response?.data?.message ?? e.message;
@ -134,7 +134,7 @@ $(document).on("click", "#quoteApprovePopup .quote .approve", async (e) => {
Loader.show();
let response;
try {
response = await axiosInstance.post("/new-quotes/approve", {
response = await axiosInstance.post("/quotes/approve", {
quoteId: dbid,
});
} catch (e) {
@ -167,7 +167,7 @@ $(document).on("click", "#quoteApprovePopup .quote .refuse", async (e) => {
Loader.show();
let response;
try {
response = await axiosInstance.post("/new-quotes/refuse", {
response = await axiosInstance.post("/quotes/reject", {
quoteId: dbid,
});
} catch (e) {
@ -202,7 +202,7 @@ $(document).on("click", "#quoteApprovePopup .quote .edit", async (e) => {
Loader.show();
let response;
try {
response = await axiosInstance.post("/new-quotes/approve", {
response = await axiosInstance.post("/quotes/approve", {
quoteId: dbid,
editText,
editSource,

View file

@ -40,7 +40,7 @@ async function submitQuote() {
Loader.show();
let response;
try {
response = await axiosInstance.post("/new-quotes/add", data);
response = await axiosInstance.post("/quotes", data);
} catch (e) {
Loader.hide();
let msg = e?.response?.data?.message ?? e.message;

View file

@ -21,7 +21,7 @@ export async function getQuoteStats(quote) {
if (quote) currentQuote = quote;
let response;
try {
response = await axiosInstance.get("/quote-ratings/get", {
response = await axiosInstance.get("/quotes/rating", {
params: { quoteId: currentQuote.id, language: currentQuote.language },
});
} catch (e) {
@ -132,7 +132,7 @@ async function submit() {
hide();
let response;
try {
response = await axiosInstance.post("/quote-ratings/submit", {
response = await axiosInstance.post("/quotes/rating", {
quoteId: currentQuote.id,
rating: rating,
language: currentQuote.language,