Skip to content

Commit

Permalink
feat: info route to serve logo url
Browse files Browse the repository at this point in the history
  • Loading branch information
7sete7 committed Oct 11, 2024
1 parent e47ee5f commit 2140a49
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/imports/auth/info/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ interface UserInfoResponse {
name?: string;
namespace?: {
_id: string;
logoURL: string;
logoURL?: string;
siteURL: string;
title: string;
};
Expand Down
1 change: 1 addition & 0 deletions src/imports/model/Namespace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export const NamespaceSchema = z
trackUserGeolocation: z.boolean().optional(),
loginExpiration: z.number().optional(),
dateFormat: z.string().optional(),
logoURL: z.string().optional(),

storage: z.discriminatedUnion('type', [S3Storage, FSStorage]).optional(),
RocketChat: z
Expand Down
30 changes: 30 additions & 0 deletions src/server/routes/api/no-auth/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { FastifyPluginCallback } from 'fastify';
import fp from 'fastify-plugin';

import { MetaObject } from '@imports/model/MetaObject';
import { logger } from '@imports/utils/logger';

const translationApi: FastifyPluginCallback = async fastify => {
fastify.get<{ Querystring: { asImage?: string } }>('/api/info/logo', async (req, reply) => {
const asImage = req.query.asImage != null;

try {
const { logoURL } = MetaObject.Namespace;
if (logoURL == null) {
return reply.status(404).send('Logo url not found');
}

if (asImage) {
const response = await fetch(logoURL);
return reply.send(response.body);
}

return reply.send({ success: true, data: logoURL });
} catch (error) {
logger.error(error, `Error getting logo url`);
return reply.status(500).send('Internal server error');
}
});
};

export default fp(translationApi);
2 changes: 2 additions & 0 deletions src/server/routes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import formApi from './api/form';
import listViewApi from './api/list-view';
import mainMenuApi from './api/menu/main';
import metasByDocumentApi from './api/metas-by-document';
import noAuth from './api/no-auth';
import translatioApi from './api/translation';
import authApi from './rest/auth/authApi';
import changeUserApi from './rest/changeUser/changeUserApi';
Expand Down Expand Up @@ -68,6 +69,7 @@ fastify.register(file2Api);
fastify.register(menuApi);
fastify.register(processApi);
fastify.register(rocketchatApi);
fastify.register(noAuth);
if (process.env.UI_PROXY === 'true') {
fastify.register(proxy, {
upstream: process.env.UI_PROXY_URL ?? 'http://localhost:3000',
Expand Down

0 comments on commit 2140a49

Please sign in to comment.