mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Add KYOO_PREFIX handling in api's redirect
This commit is contained in:
parent
92b0076bef
commit
204344955e
@ -15,6 +15,7 @@ import { KError } from "~/models/error";
|
||||
import { bubble } from "~/models/examples";
|
||||
import { AcceptLanguage, isUuid, processLanguages } from "~/models/utils";
|
||||
import { imageDir } from "./seed/images";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
function getRedirectToImageHandler({
|
||||
filter,
|
||||
@ -87,8 +88,8 @@ function getRedirectToImageHandler({
|
||||
}
|
||||
set.headers["content-language"] = ret.language;
|
||||
return quality
|
||||
? redirect(`/images/${ret.image!.id}?quality=${quality}`)
|
||||
: redirect(`/images/${ret.image!.id}`);
|
||||
? redirect(`${prefix}/images/${ret.image!.id}?quality=${quality}`)
|
||||
: redirect(`${prefix}/images/${ret.image!.id}`);
|
||||
};
|
||||
}
|
||||
|
||||
@ -181,8 +182,8 @@ export const imagesH = new Elysia({ tags: ["images"] })
|
||||
});
|
||||
}
|
||||
return quality
|
||||
? redirect(`/images/${ret.image!.id}?quality=${quality}`)
|
||||
: redirect(`/images/${ret.image!.id}`);
|
||||
? redirect(`${prefix}/images/${ret.image!.id}?quality=${quality}`)
|
||||
: redirect(`${prefix}/images/${ret.image!.id}`);
|
||||
},
|
||||
{
|
||||
detail: { description: "Get the image of a staff member." },
|
||||
@ -256,8 +257,8 @@ export const imagesH = new Elysia({ tags: ["images"] })
|
||||
}
|
||||
set.headers["content-language"] = ret.language;
|
||||
return quality
|
||||
? redirect(`/images/${ret.image!.id}?quality=${quality}`)
|
||||
: redirect(`/images/${ret.image!.id}`);
|
||||
? redirect(`${prefix}/images/${ret.image!.id}?quality=${quality}`)
|
||||
: redirect(`${prefix}/images/${ret.image!.id}`);
|
||||
},
|
||||
{
|
||||
detail: { description: "Get the logo of a studio." },
|
||||
|
@ -22,6 +22,7 @@ import {
|
||||
} from "~/models/utils";
|
||||
import { desc } from "~/models/utils/descriptions";
|
||||
import { getShows, showFilters, showSort } from "./logic";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
export const collections = new Elysia({
|
||||
prefix: "/collections",
|
||||
@ -113,7 +114,7 @@ export const collections = new Elysia({
|
||||
status: 404,
|
||||
message: "No collection in the database.",
|
||||
});
|
||||
return redirect(`/collections/${serie.slug}`);
|
||||
return redirect(`${prefix}/collections/${serie.slug}`);
|
||||
},
|
||||
{
|
||||
detail: {
|
||||
|
@ -15,6 +15,7 @@ import {
|
||||
} from "~/models/utils";
|
||||
import { desc } from "~/models/utils/descriptions";
|
||||
import { getShows, showFilters, showSort } from "./logic";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
|
||||
.model({
|
||||
@ -103,7 +104,7 @@ export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
|
||||
status: 404,
|
||||
message: "No movies in the database.",
|
||||
});
|
||||
return redirect(`/movies/${movie.slug}`);
|
||||
return redirect(`${prefix}/movies/${movie.slug}`);
|
||||
},
|
||||
{
|
||||
detail: {
|
||||
|
@ -15,6 +15,7 @@ import {
|
||||
} from "~/models/utils";
|
||||
import { desc } from "~/models/utils/descriptions";
|
||||
import { getShows, showFilters, showSort } from "./logic";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
export const series = new Elysia({ prefix: "/series", tags: ["series"] })
|
||||
.model({
|
||||
@ -103,7 +104,7 @@ export const series = new Elysia({ prefix: "/series", tags: ["series"] })
|
||||
status: 404,
|
||||
message: "No series in the database.",
|
||||
});
|
||||
return redirect(`/series/${serie.slug}`);
|
||||
return redirect(`${prefix}/series/${serie.slug}`);
|
||||
},
|
||||
{
|
||||
detail: {
|
||||
|
@ -13,6 +13,7 @@ import {
|
||||
} from "~/models/utils";
|
||||
import { desc } from "~/models/utils/descriptions";
|
||||
import { getShows, showFilters, showSort } from "./logic";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
export const showsH = new Elysia({ prefix: "/shows", tags: ["shows"] })
|
||||
.model({
|
||||
@ -31,7 +32,7 @@ export const showsH = new Elysia({ prefix: "/shows", tags: ["shows"] })
|
||||
status: 404,
|
||||
message: "No shows in the database.",
|
||||
});
|
||||
return redirect(`/${show.kind}s/${show.slug}`);
|
||||
return redirect(`${prefix}/${show.kind}s/${show.slug}`);
|
||||
},
|
||||
{
|
||||
detail: {
|
||||
|
@ -22,6 +22,7 @@ import {
|
||||
} from "~/models/utils";
|
||||
import { desc } from "~/models/utils/descriptions";
|
||||
import { showFilters, showSort } from "./shows/logic";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
const staffSort = Sort(
|
||||
{
|
||||
@ -160,7 +161,7 @@ export const staffH = new Elysia({ tags: ["staff"] })
|
||||
status: 404,
|
||||
message: "No staff in the database.",
|
||||
});
|
||||
return redirect(`/staff/${member.slug}`);
|
||||
return redirect(`${prefix}/staff/${member.slug}`);
|
||||
},
|
||||
{
|
||||
detail: {
|
||||
|
@ -32,6 +32,7 @@ import {
|
||||
} from "~/models/utils";
|
||||
import { desc } from "~/models/utils/descriptions";
|
||||
import { getShows, showFilters, showSort } from "./shows/logic";
|
||||
import { prefix } from "~/elysia";
|
||||
|
||||
const studioSort = Sort(
|
||||
{
|
||||
@ -200,7 +201,7 @@ export const studiosH = new Elysia({ prefix: "/studios", tags: ["studios"] })
|
||||
status: 404,
|
||||
message: "No studios in the database.",
|
||||
});
|
||||
return redirect(`/studios/${studio.slug}`);
|
||||
return redirect(`${prefix}/studios/${studio.slug}`);
|
||||
},
|
||||
{
|
||||
detail: {
|
||||
|
@ -46,7 +46,8 @@ export const base = new Elysia({ name: "base" })
|
||||
})
|
||||
.as("plugin");
|
||||
|
||||
export const app = new Elysia({ prefix: process.env.KYOO_PREFIX })
|
||||
export const prefix = process.env.KYOO_PREFIX;
|
||||
export const app = new Elysia({ prefix })
|
||||
.use(base)
|
||||
.use(showsH)
|
||||
.use(movies)
|
||||
|
@ -9,7 +9,7 @@ await migrate();
|
||||
|
||||
let secret = process.env.JWT_SECRET;
|
||||
if (!secret) {
|
||||
const auth = process.env.AUTH_SERVER ?? "http://auth:4568";
|
||||
const auth = process.env.AUTH_SERVER ?? "http://auth:4568/auth";
|
||||
try {
|
||||
const ret = await fetch(`${auth}/info`);
|
||||
const info = await ret.json();
|
||||
@ -28,7 +28,6 @@ if (!secret) {
|
||||
processImages();
|
||||
|
||||
app
|
||||
.use(jwt({ secret }))
|
||||
.use(
|
||||
swagger({
|
||||
documentation: {
|
||||
@ -77,6 +76,7 @@ app
|
||||
},
|
||||
}),
|
||||
)
|
||||
.use(jwt({ secret }))
|
||||
.listen(3567);
|
||||
|
||||
console.log(`Api running at ${app.server?.hostname}:${app.server?.port}`);
|
||||
|
Loading…
x
Reference in New Issue
Block a user