26 lines
920 B
JavaScript
26 lines
920 B
JavaScript
import { MediaHelpers } from "../helpers/media.js";
|
|
import { FileConverter } from "../converters/file.js";
|
|
import { auth } from "../middleware/auth.js";
|
|
export function setupEndpointsMedia(router) {
|
|
router.get("/v1/media/:id", auth(true, [
|
|
'write:media'
|
|
]), async (ctx)=>{
|
|
const file = await MediaHelpers.getMediaPackedOr404(ctx.params.id, ctx);
|
|
ctx.body = FileConverter.encode(file);
|
|
});
|
|
router.put("/v1/media/:id", auth(true, [
|
|
'write:media'
|
|
]), async (ctx)=>{
|
|
const file = await MediaHelpers.getMediaOr404(ctx.params.id, ctx);
|
|
ctx.body = await MediaHelpers.updateMedia(file, ctx).then((p)=>FileConverter.encode(p));
|
|
});
|
|
router.post([
|
|
"/v2/media",
|
|
"/v1/media"
|
|
], auth(true, [
|
|
'write:media'
|
|
]), async (ctx)=>{
|
|
ctx.body = await MediaHelpers.uploadMedia(ctx).then((p)=>FileConverter.encode(p));
|
|
});
|
|
}
|