@@ -1,4 +1,5 @@
|
||||
import { AxiosRequestConfig } from 'axios'
|
||||
/* eslint-disable @typescript-eslint/consistent-type-imports */
|
||||
import type { AxiosRequestConfig } from 'axios'
|
||||
import cluster from 'cluster'
|
||||
import { argv } from 'zx-cjs'
|
||||
|
||||
|
||||
@@ -52,97 +52,99 @@ import { HelperModule } from './processors/helper/helper.module'
|
||||
import { LoggerModule } from './processors/logger/logger.module'
|
||||
import { RedisModule } from './processors/redis/redis.module'
|
||||
|
||||
@Module({})
|
||||
@Module({
|
||||
imports: [
|
||||
LoggerModule,
|
||||
DatabaseModule,
|
||||
RedisModule,
|
||||
|
||||
AggregateModule,
|
||||
AnalyzeModule,
|
||||
AuthModule,
|
||||
BackupModule,
|
||||
CategoryModule,
|
||||
CommentModule,
|
||||
ConfigsModule,
|
||||
DEMO_MODE && DemoModule,
|
||||
DependencyModule,
|
||||
FeedModule,
|
||||
FileModule,
|
||||
HealthModule,
|
||||
|
||||
LinkModule,
|
||||
MarkdownModule,
|
||||
NoteModule,
|
||||
OptionModule,
|
||||
PageModule,
|
||||
PostModule,
|
||||
ProjectModule,
|
||||
PTYModule,
|
||||
RecentlyModule,
|
||||
UpdateModule,
|
||||
TopicModule,
|
||||
SayModule,
|
||||
SearchModule,
|
||||
ServerlessModule,
|
||||
SitemapModule,
|
||||
SnippetModule,
|
||||
ToolModule,
|
||||
UserModule,
|
||||
|
||||
PageProxyModule,
|
||||
RenderEjsModule,
|
||||
|
||||
GatewayModule,
|
||||
HelperModule,
|
||||
|
||||
isDev && DebugModule,
|
||||
].filter(Boolean) as Type<NestModule>[],
|
||||
controllers: [AppController],
|
||||
providers: [
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: QueryInterceptor,
|
||||
},
|
||||
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: HttpCacheInterceptor, // 4
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: AnalyzeInterceptor,
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: CountingInterceptor, // 3
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: JSONTransformInterceptor, // 2
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: ResponseInterceptor, // 1
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: IdempotenceInterceptor, // 0
|
||||
},
|
||||
|
||||
{
|
||||
provide: APP_FILTER,
|
||||
useClass: AllExceptionsFilter,
|
||||
},
|
||||
{
|
||||
provide: APP_GUARD,
|
||||
useClass: RolesGuard,
|
||||
},
|
||||
],
|
||||
})
|
||||
export class AppModule {
|
||||
static register(isInit: boolean): DynamicModule {
|
||||
return {
|
||||
module: AppModule,
|
||||
imports: [
|
||||
LoggerModule,
|
||||
DatabaseModule,
|
||||
RedisModule,
|
||||
|
||||
AggregateModule,
|
||||
AnalyzeModule,
|
||||
AuthModule,
|
||||
BackupModule,
|
||||
CategoryModule,
|
||||
CommentModule,
|
||||
ConfigsModule,
|
||||
DEMO_MODE && DemoModule,
|
||||
DependencyModule,
|
||||
FeedModule,
|
||||
FileModule,
|
||||
HealthModule,
|
||||
!isInit && InitModule,
|
||||
LinkModule,
|
||||
MarkdownModule,
|
||||
NoteModule,
|
||||
OptionModule,
|
||||
PageModule,
|
||||
PostModule,
|
||||
ProjectModule,
|
||||
PTYModule,
|
||||
RecentlyModule,
|
||||
UpdateModule,
|
||||
TopicModule,
|
||||
SayModule,
|
||||
SearchModule,
|
||||
ServerlessModule,
|
||||
SitemapModule,
|
||||
SnippetModule,
|
||||
ToolModule,
|
||||
UserModule,
|
||||
|
||||
PageProxyModule,
|
||||
RenderEjsModule,
|
||||
|
||||
GatewayModule,
|
||||
HelperModule,
|
||||
|
||||
isDev ? DebugModule : undefined,
|
||||
].filter(Boolean) as Type<NestModule>[],
|
||||
controllers: [AppController],
|
||||
providers: [
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: QueryInterceptor,
|
||||
},
|
||||
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: HttpCacheInterceptor, // 4
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: AnalyzeInterceptor,
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: CountingInterceptor, // 3
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: JSONTransformInterceptor, // 2
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: ResponseInterceptor, // 1
|
||||
},
|
||||
{
|
||||
provide: APP_INTERCEPTOR,
|
||||
useClass: IdempotenceInterceptor, // 0
|
||||
},
|
||||
|
||||
{
|
||||
provide: APP_FILTER,
|
||||
useClass: AllExceptionsFilter,
|
||||
},
|
||||
{
|
||||
provide: APP_GUARD,
|
||||
useClass: RolesGuard,
|
||||
},
|
||||
],
|
||||
imports: [!isInit && InitModule].filter(Boolean) as Type<NestModule>[],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
import dayjs from 'dayjs'
|
||||
|
||||
import {
|
||||
BadRequestException,
|
||||
Inject,
|
||||
Injectable,
|
||||
Logger,
|
||||
Scope,
|
||||
} from '@nestjs/common'
|
||||
import { REQUEST } from '@nestjs/core'
|
||||
import { BadRequestException, Injectable, Logger } from '@nestjs/common'
|
||||
|
||||
import { ConfigsService } from '~/modules/configs/configs.service'
|
||||
import { Request } from '~/types/request'
|
||||
import { deepCloneWithFunction } from '~/utils'
|
||||
import { safeEval } from '~/utils/safe-eval.util'
|
||||
|
||||
@@ -20,15 +12,11 @@ const RegMap = {
|
||||
'?': /^\?\??(.*?)\??\?$/g,
|
||||
} as const
|
||||
|
||||
@Injectable({
|
||||
scope: Scope.REQUEST,
|
||||
durable: true,
|
||||
})
|
||||
@Injectable({})
|
||||
export class TextMacroService {
|
||||
private readonly logger: Logger
|
||||
constructor(
|
||||
private readonly configService: ConfigsService,
|
||||
@Inject(REQUEST) private readonly request: Request,
|
||||
private readonly configService: ConfigsService, // @Inject(REQUEST) private readonly request: Request,
|
||||
) {
|
||||
this.logger = new Logger(TextMacroService.name)
|
||||
}
|
||||
@@ -86,9 +74,9 @@ export class TextMacroService {
|
||||
// time utils
|
||||
dayjs: deepCloneWithFunction(dayjs),
|
||||
fromNow: (time: Date | string) => dayjs(time).fromNow(),
|
||||
onlyMe: (text: string) => {
|
||||
return this.request.isMaster ? text : ''
|
||||
},
|
||||
// onlyMe: (text: string) => {
|
||||
// return this.request.isMaster ? text : ''
|
||||
// },
|
||||
|
||||
// typography
|
||||
center: (text: string) => {
|
||||
|
||||
Reference in New Issue
Block a user