backend: update appearance config route to allow anonymous access and adjust related tests

This commit is contained in:
juancarmore 2025-09-30 11:06:17 +02:00
parent c499dbf6e3
commit 67dfd5df63
3 changed files with 5 additions and 22 deletions

View File

@ -5,6 +5,7 @@ import * as appearanceConfigCtrl from '../controllers/global-config/appearance-c
import * as securityConfigCtrl from '../controllers/global-config/security-config.controller.js'; import * as securityConfigCtrl from '../controllers/global-config/security-config.controller.js';
import * as webhookConfigCtrl from '../controllers/global-config/webhook-config.controller.js'; import * as webhookConfigCtrl from '../controllers/global-config/webhook-config.controller.js';
import { import {
allowAnonymous,
tokenAndRoleValidator, tokenAndRoleValidator,
validateRoomsAppearanceConfig, validateRoomsAppearanceConfig,
validateSecurityConfig, validateSecurityConfig,
@ -34,7 +35,7 @@ configRouter.put(
validateSecurityConfig, validateSecurityConfig,
securityConfigCtrl.updateSecurityConfig securityConfigCtrl.updateSecurityConfig
); );
configRouter.get('/security', securityConfigCtrl.getSecurityConfig); configRouter.get('/security', withAuth(allowAnonymous), securityConfigCtrl.getSecurityConfig);
// Appearance config // Appearance config
configRouter.put( configRouter.put(
@ -43,8 +44,4 @@ configRouter.put(
validateRoomsAppearanceConfig, validateRoomsAppearanceConfig,
appearanceConfigCtrl.updateRoomsAppearanceConfig appearanceConfigCtrl.updateRoomsAppearanceConfig
); );
configRouter.get( configRouter.get('/rooms/appearance', withAuth(allowAnonymous), appearanceConfigCtrl.getRoomsAppearanceConfig);
'/rooms/appearance',
withAuth(tokenAndRoleValidator(UserRole.ADMIN)),
appearanceConfigCtrl.getRoomsAppearanceConfig
);

View File

@ -80,10 +80,8 @@ export const getApiKeys = async () => {
export const getRoomsAppearanceConfig = async () => { export const getRoomsAppearanceConfig = async () => {
checkAppIsRunning(); checkAppIsRunning();
const adminCookie = await loginUser();
const response = await request(app) const response = await request(app)
.get(`${INTERNAL_CONFIG.INTERNAL_API_BASE_PATH_V1}/config/rooms/appearance`) .get(`${INTERNAL_CONFIG.INTERNAL_API_BASE_PATH_V1}/config/rooms/appearance`)
.set('Cookie', adminCookie)
.send(); .send();
return response; return response;
}; };

View File

@ -152,21 +152,9 @@ describe('Global Config API Security Tests', () => {
}); });
describe('Get Rooms Appearance Config Tests', () => { describe('Get Rooms Appearance Config Tests', () => {
it('should fail when request includes API key', async () => { it('should succeed when user is not authenticated', async () => {
const response = await request(app)
.get(`${CONFIG_PATH}/rooms/appearance`)
.set(INTERNAL_CONFIG.API_KEY_HEADER, MEET_INITIAL_API_KEY);
expect(response.status).toBe(401);
});
it('should succeed when user is authenticated as admin', async () => {
const response = await request(app).get(`${CONFIG_PATH}/rooms/appearance`).set('Cookie', adminCookie);
expect(response.status).toBe(200);
});
it('should fail when user is not authenticated', async () => {
const response = await request(app).get(`${CONFIG_PATH}/rooms/appearance`); const response = await request(app).get(`${CONFIG_PATH}/rooms/appearance`);
expect(response.status).toBe(401); expect(response.status).toBe(200);
}); });
}); });
}); });