From a5c7e538021dafe34804a0bacdba70f575292759 Mon Sep 17 00:00:00 2001 From: TheThing Date: Thu, 9 Nov 2023 09:45:28 +0000 Subject: [PATCH] base: Add feature flag for making articles api private --- base/article/routes.mjs | 9 ++++++++- base/media/client.mjs | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/base/article/routes.mjs b/base/article/routes.mjs index 51e8f52..d4d1c8f 100644 --- a/base/article/routes.mjs +++ b/base/article/routes.mjs @@ -8,11 +8,14 @@ export default class ArticleRoutes { uploadMedia: uploadMedia, uploadFile: uploadFile, deleteFile: deleteFile, + requireAuth: opts.requireAuth, }) } register(server) { - server.flaska.get('/api/articles/:path', this.getArticle.bind(this)) + if (!this.requireAuth) { + server.flaska.get('/api/articles/:path', this.getArticle.bind(this)) + } server.flaska.get('/api/auth/articles', server.authenticate(), this.auth_getAllArticles.bind(this)) server.flaska.get('/api/auth/articles/:id', server.authenticate(), this.auth_getSingleArticle.bind(this)) server.flaska.put('/api/auth/articles/:id', [ @@ -111,6 +114,10 @@ export default class ArticleRoutes { ) } + if (ctx.req.body.media && ctx.req.body.media.filename && ctx.req.body.media.type && ctx.req.body.media.path && ctx.req.body.media.size) { + newMedia = ctx.req.body.media + } + await Promise.all(promises) return this.private_getUpdateArticle(ctx, ctx.req.body, newBanner, newMedia) diff --git a/base/media/client.mjs b/base/media/client.mjs index dbaa302..5d96960 100644 --- a/base/media/client.mjs +++ b/base/media/client.mjs @@ -98,6 +98,10 @@ export default class Client { } createJwt(body, secret) { + return Client.createJwt(body, secret) + } + + static createJwt(body, secret) { let header = { typ: 'JWT', alg: 'HS256',