chore: 更新依赖并支持从 etcd 读取配置。
This commit is contained in:
@ -6,12 +6,9 @@ import { AppController } from './app.controller';
|
||||
import { AppResolver } from './app.resolver';
|
||||
import { AppService } from './app.service';
|
||||
import configuration from './commons/config/configuration';
|
||||
import { RedisModule } from 'nestjs-redis';
|
||||
import { ParseBodyMiddleware } from './commons/middleware/parse-body.middleware';
|
||||
import { BullModule } from '@nestjs/bull';
|
||||
import { PubSubModule } from './commons/pub-sub/pub-sub.module';
|
||||
import { ArticlesModule } from './articles/articles.module';
|
||||
import { EtcdModule } from 'nestjs-etcd';
|
||||
import { EtcdModule } from '@nestjs-lib/etcd3';
|
||||
import { CommonsModule } from './commons/commons.module';
|
||||
import { TagsModule } from './tags/tags.module';
|
||||
|
||||
@ -19,9 +16,9 @@ import { TagsModule } from './tags/tags.module';
|
||||
imports: [
|
||||
ConfigModule.forRoot({
|
||||
load: [configuration],
|
||||
isGlobal: true,
|
||||
}),
|
||||
TypeOrmModule.forRootAsync({
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
type: 'postgres',
|
||||
host: configService.get<string>('db.postgres.host'),
|
||||
@ -35,7 +32,6 @@ import { TagsModule } from './tags/tags.module';
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
GraphQLModule.forRootAsync({
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
debug: configService.get<string>('env') !== 'prod',
|
||||
playground: true,
|
||||
@ -44,40 +40,7 @@ import { TagsModule } from './tags/tags.module';
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
BullModule.forRootAsync({
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
redis: {
|
||||
host: configService.get<string>('db.redis.host', 'localhost'),
|
||||
port: configService.get<number>('db.redis.port', undefined),
|
||||
password: configService.get<string>('db.redis.password', undefined),
|
||||
},
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
PubSubModule.forRootAsync({
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
redis: {
|
||||
host: configService.get<string>('db.redis.host', 'localhost'),
|
||||
port: configService.get<number>('db.redis.port', undefined),
|
||||
password: configService.get<string>('db.redis.password', undefined),
|
||||
},
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
RedisModule.forRootAsync({
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
host: configService.get<string>('db.redis.host', 'localhost'),
|
||||
port: configService.get<number>('db.redis.port', 6379),
|
||||
password: configService.get<string>('db.redis.password', ''),
|
||||
keyPrefix: configService.get<string>('db.redis.prefix', 'blog') + ':',
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
EtcdModule.forRootAsync({
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
hosts: configService.get<string>('db.etcd.hosts', 'localhost:2379'),
|
||||
}),
|
||||
|
@ -12,7 +12,7 @@ import { Article } from './entities/article.entity';
|
||||
import { CreateArticleInput } from './dto/create-article.input';
|
||||
import { UpdateArticleInput } from './dto/update-article.input';
|
||||
import * as marked from 'marked';
|
||||
import { getLanguage, highlight } from 'highlight.js';
|
||||
import highlight from 'highlight.js';
|
||||
import { AccountRole, Roles } from '@nestjs-lib/auth';
|
||||
|
||||
@Resolver(() => Article)
|
||||
@ -65,8 +65,8 @@ export class ArticlesResolver {
|
||||
smartypants: true,
|
||||
langPrefix: 'hljs language-',
|
||||
highlight: (code, language) => {
|
||||
return highlight(code, {
|
||||
language: getLanguage(language) ? language : 'plaintext',
|
||||
return highlight.highlight(code, {
|
||||
language: highlight.getLanguage(language) ? language : 'plaintext',
|
||||
}).value;
|
||||
},
|
||||
});
|
||||
|
@ -1,9 +1,9 @@
|
||||
import { readFileSync } from 'fs';
|
||||
import * as yaml from 'js-yaml';
|
||||
import { join } from 'path';
|
||||
import { readConfiguration } from '@fennec/configuration';
|
||||
|
||||
export default () => {
|
||||
return yaml.load(
|
||||
readFileSync(join(__dirname, '../../../config.yml'), 'utf8'),
|
||||
) as unknown;
|
||||
return readConfiguration({
|
||||
etcd: {
|
||||
hosts: '192.168.31.2:2379',
|
||||
},
|
||||
});
|
||||
};
|
||||
|
@ -16,5 +16,8 @@ async function bootstrap() {
|
||||
);
|
||||
app.useGlobalFilters(new HttpExceptionFilter());
|
||||
await app.listen(configService.get<number>('http.port'));
|
||||
const register = new ServiceRegister({ etcd: { hosts: 'http://rpi:2379' } });
|
||||
register.register('fennec/api', `http://localhost:${port}`);
|
||||
register.register('api.fennec', `http://localhost:${port}`);
|
||||
}
|
||||
bootstrap();
|
||||
|
Reference in New Issue
Block a user