Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ const { sharedApiBaseUrlMock, sharedProxyJsonMock } = vi.hoisted(() => ({
sharedProxyJsonMock: vi.fn(),
}))

vi.mock("../_utils/backend-proxy", () => ({
vi.mock("./backend-proxy", () => ({
apiBaseUrl: sharedApiBaseUrlMock,
proxyJson: sharedProxyJsonMock,
}))

import { apiBaseUrl, proxyJson } from "./_base"
import { apiBaseUrl, proxyJson } from "./auth-json-proxy"

describe("research base proxy", () => {
describe("auth json proxy", () => {
it("delegates backend base URL resolution to the shared helper", () => {
expect(apiBaseUrl()).toBe("https://backend.test")
expect(sharedApiBaseUrlMock).toHaveBeenCalledTimes(1)
Expand Down
12 changes: 12 additions & 0 deletions web/src/app/api/_utils/auth-json-proxy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { apiBaseUrl, proxyJson as sharedProxyJson } from "./backend-proxy"
import type { ProxyMethod } from "./backend-proxy"

export { apiBaseUrl }

Check warning on line 4 in web/src/app/api/_utils/auth-json-proxy.ts

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Use `export…from` to re-export `apiBaseUrl`.

See more on https://sonarcloud.io/project/issues?id=jerry609_PaperBot&issues=AZzwh9p3HwkPxaWmRT4u&open=AZzwh9p3HwkPxaWmRT4u&pullRequest=412
Comment on lines +1 to +4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For better clarity and conciseness, you can use export ... from syntax to directly re-export apiBaseUrl. This makes it explicit that the module is simply passing it through. You can also combine the other imports from ./backend-proxy into a single statement.

Suggested change
import { apiBaseUrl, proxyJson as sharedProxyJson } from "./backend-proxy"
import type { ProxyMethod } from "./backend-proxy"
export { apiBaseUrl }
export { apiBaseUrl } from "./backend-proxy"
import { proxyJson as sharedProxyJson, type ProxyMethod } from "./backend-proxy"


export function proxyJson(
req: Request,
upstreamUrl: string,
method: ProxyMethod,
): Promise<Response> {
return sharedProxyJson(req, upstreamUrl, method, { auth: true })
}
2 changes: 1 addition & 1 deletion web/src/app/api/embedding-settings/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/embedding-settings`, "GET")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/embedding-settings/test/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/embedding-settings/test`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/model-endpoints/[id]/activate/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request, ctx: { params: Promise<{ id: string }> }) {
const { id } = await ctx.params
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/model-endpoints/[id]/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function PATCH(req: Request, ctx: { params: Promise<{ id: string }> }) {
const { id } = await ctx.params
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/model-endpoints/[id]/test/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request, ctx: { params: Promise<{ id: string }> }) {
const { id } = await ctx.params
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/model-endpoints/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/model-endpoints/usage/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/newsletter/subscribe/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/newsletter/subscribe`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/newsletter/subscribers/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/newsletter/subscribers`, "GET")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/papers/[paperId]/save/route.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NextResponse } from "next/server"
import { apiBaseUrl, proxyJson } from "../../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

// Validate paperId to prevent path traversal attacks
function validatePaperId(paperId: string): number | null {
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/papers/library/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { apiBaseUrl, proxyJson } from "../../research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
17 changes: 0 additions & 17 deletions web/src/app/api/research/_base.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

interface Context {
params: Promise<{ collectionId: string; paperId: string }>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

interface Context {
params: Promise<{ collectionId: string }>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

interface Context {
params: Promise<{ collectionId: string }>
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/collections/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/context/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/context`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/deadlines/radar/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/discovery/seed/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/discovery/seed`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/evals/summary/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/integrations/zotero/pull`, "POST")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/integrations/zotero/push`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/memory/bulk_moderate/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/memory/bulk_moderate`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/memory/bulk_move/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/memory/bulk_move`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/memory/inbox/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request, ctx: { params: Promise<{ itemId: string }> }) {
const { itemId } = await ctx.params
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/memory/suggest/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/memory/suggest`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/papers/[paperId]/card/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "@/app/api/research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(
req: Request,
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/papers/[paperId]/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(
req: Request,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(
req: Request,
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/papers/feedback/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/papers/feedback`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/papers/import/bibtex/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/papers/import/bibtex`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/papers/related-work/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "@/app/api/research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/papers/saved/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/paperscool/approvals/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "@/app/api/research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: Request) {
const url = new URL(req.url)
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/paperscool/repos/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/paperscool/repos`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/paperscool/search/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/paperscool/search`, "POST")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { apiBaseUrl, proxyJson } from "@/app/api/research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export const runtime = "nodejs"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { apiBaseUrl, proxyJson } from "@/app/api/research/_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export const runtime = "nodejs"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { apiBaseUrl, proxyJson } from "../../../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"
import type { NextRequest } from "next/server"

export const runtime = "nodejs"
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/repro/context/[packId]/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { NextRequest } from "next/server"

import { apiBaseUrl, proxyJson } from "../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function GET(req: NextRequest, { params }: { params: Promise<{ packId: string }> }) {
const { packId } = await params
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { NextRequest } from "next/server"

import { apiBaseUrl, proxyJson } from "../../../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: NextRequest, { params }: { params: Promise<{ packId: string }> }) {
const { packId } = await params
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/repro/context/route.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const { proxyStreamMock } = vi.hoisted(() => ({
proxyStreamMock: vi.fn(),
}))

vi.mock("../../_base", () => ({
vi.mock("@/app/api/_utils/auth-json-proxy", () => ({
apiBaseUrl: researchApiBaseUrlMock,
proxyJson: proxyJsonMock,
}))
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/repro/context/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"
import { proxyStream } from "@/app/api/_utils/backend-proxy"

export const runtime = "nodejs"
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/router/suggest/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/router/suggest`, "POST")
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/research/scholar/network/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const runtime = "nodejs"

import { apiBaseUrl, proxyJson } from "../../_base"
import { apiBaseUrl, proxyJson } from "@/app/api/_utils/auth-json-proxy"

export async function POST(req: Request) {
return proxyJson(req, `${apiBaseUrl()}/api/research/scholar/network`, "POST")
Expand Down
Loading
Loading