🚀 feat: Banner (#3952)

* feat: Add banner schema and model

* feat: Add optional JwtAuth

To handle the conditional logic with and without authentication within the model.

* feat: Add an endpoint to retrieve a banner

* feat: Add implementation for client to use banner and access API

* feat: Display a banner on UI

* feat: Script for updating and deleting banners

* style: Update banner style

* fix: Adjust the height when the banner is displayed

* fix: failed specs
This commit is contained in:
Yuichi Oneda 2024-09-11 06:34:25 -07:00 committed by GitHub
parent 07e5531b5b
commit aea01f0bc5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 453 additions and 4 deletions

View file

@ -0,0 +1,15 @@
const express = require('express');
const { getBanner } = require('~/models/Banner');
const optionalJwtAuth = require('~/server/middleware/optionalJwtAuth');
const router = express.Router();
router.get('/', optionalJwtAuth, async (req, res) => {
try {
res.status(200).send(await getBanner(req.user));
} catch (error) {
res.status(500).json({ message: 'Error getting banner' });
}
});
module.exports = router;

View file

@ -24,6 +24,7 @@ const edit = require('./edit');
const keys = require('./keys');
const user = require('./user');
const ask = require('./ask');
const banner = require('./banner');
module.exports = {
ask,
@ -52,4 +53,5 @@ module.exports = {
assistants,
categories,
staticRoute,
banner,
};