mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-02-17 12:52:17 +00:00
Remove banner from frontend config
NestJS adds the headers "Last Modified" and "ETag" to asset serving responses. Therefore all the information we need for the banner are already given by the file content or the file meta data. Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
af106fdf50
commit
1f626465fb
3 changed files with 0 additions and 50 deletions
|
@ -7,7 +7,6 @@
|
|||
import {
|
||||
IsArray,
|
||||
IsBoolean,
|
||||
IsDate,
|
||||
IsNumber,
|
||||
IsOptional,
|
||||
IsString,
|
||||
|
@ -78,22 +77,6 @@ export class AuthProviders {
|
|||
internal: boolean;
|
||||
}
|
||||
|
||||
export class BannerDto {
|
||||
/**
|
||||
* The text that is shown in the banner
|
||||
* @example This is a test banner
|
||||
*/
|
||||
@IsString()
|
||||
text: string;
|
||||
|
||||
/**
|
||||
* When the banner was last changed
|
||||
* @example "2020-12-01 12:23:34"
|
||||
*/
|
||||
@IsDate()
|
||||
updateTime: Date;
|
||||
}
|
||||
|
||||
export class BrandingDto {
|
||||
/**
|
||||
* The name to be displayed next to the HedgeDoc logo
|
||||
|
@ -227,12 +210,6 @@ export class FrontendConfigDto {
|
|||
@ValidateNested()
|
||||
branding: BrandingDto;
|
||||
|
||||
/**
|
||||
* An optional banner that will be shown
|
||||
*/
|
||||
@ValidateNested()
|
||||
banner: BannerDto;
|
||||
|
||||
/**
|
||||
* The custom names of auth providers, which can be specified multiple times
|
||||
*/
|
||||
|
|
|
@ -276,10 +276,6 @@ describe('FrontendConfigService', () => {
|
|||
authConfig.oauth2.length !== 0,
|
||||
);
|
||||
expect(config.allowAnonymous).toEqual(false);
|
||||
expect(config.banner.text).toEqual('');
|
||||
expect(config.banner.updateTime).toEqual(
|
||||
new Date(0),
|
||||
);
|
||||
expect(config.branding.name).toEqual(customName);
|
||||
expect(config.branding.logo).toEqual(
|
||||
customLogo ? new URL(customLogo) : undefined,
|
||||
|
|
|
@ -8,7 +8,6 @@ import { Inject, Injectable } from '@nestjs/common';
|
|||
import { ConsoleLoggerService } from '../logger/console-logger.service';
|
||||
import {
|
||||
AuthProviders,
|
||||
BannerDto,
|
||||
BrandingDto,
|
||||
CustomAuthNamesDto,
|
||||
FrontendConfigDto,
|
||||
|
@ -24,8 +23,6 @@ import externalServicesConfiguration, {
|
|||
ExternalServicesConfig,
|
||||
} from '../config/external-services.config';
|
||||
import { getServerVersionFromPackageJson } from '../utils/serverVersion';
|
||||
import { promises as fs, Stats } from 'fs';
|
||||
import { join } from 'path';
|
||||
|
||||
@Injectable()
|
||||
export class FrontendConfigService {
|
||||
|
@ -49,7 +46,6 @@ export class FrontendConfigService {
|
|||
allowAnonymous: false,
|
||||
allowRegister: this.authConfig.email.enableRegister,
|
||||
authProviders: this.getAuthProviders(),
|
||||
banner: await FrontendConfigService.getBanner(),
|
||||
branding: this.getBranding(),
|
||||
customAuthNames: this.getCustomAuthNames(),
|
||||
iframeCommunication: this.getIframeCommunication(),
|
||||
|
@ -138,23 +134,4 @@ export class FrontendConfigService {
|
|||
: new URL(this.appConfig.domain),
|
||||
};
|
||||
}
|
||||
|
||||
private static async getBanner(): Promise<BannerDto> {
|
||||
const path = join(__dirname, '../../banner.md');
|
||||
try {
|
||||
const bannerContent: string = await fs.readFile(path, {
|
||||
encoding: 'utf8',
|
||||
});
|
||||
const fileStats: Stats = await fs.stat(path);
|
||||
return {
|
||||
text: bannerContent,
|
||||
updateTime: fileStats.mtime,
|
||||
};
|
||||
} catch (e) {
|
||||
return {
|
||||
text: '',
|
||||
updateTime: new Date(0),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue