@@ -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 cluster from 'cluster'
|
||||||
import { argv } from 'zx-cjs'
|
import { argv } from 'zx-cjs'
|
||||||
|
|
||||||
|
|||||||
@@ -52,97 +52,99 @@ import { HelperModule } from './processors/helper/helper.module'
|
|||||||
import { LoggerModule } from './processors/logger/logger.module'
|
import { LoggerModule } from './processors/logger/logger.module'
|
||||||
import { RedisModule } from './processors/redis/redis.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 {
|
export class AppModule {
|
||||||
static register(isInit: boolean): DynamicModule {
|
static register(isInit: boolean): DynamicModule {
|
||||||
return {
|
return {
|
||||||
module: AppModule,
|
module: AppModule,
|
||||||
imports: [
|
imports: [!isInit && InitModule].filter(Boolean) as Type<NestModule>[],
|
||||||
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,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,8 @@
|
|||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
|
|
||||||
import {
|
import { BadRequestException, Injectable, Logger } from '@nestjs/common'
|
||||||
BadRequestException,
|
|
||||||
Inject,
|
|
||||||
Injectable,
|
|
||||||
Logger,
|
|
||||||
Scope,
|
|
||||||
} from '@nestjs/common'
|
|
||||||
import { REQUEST } from '@nestjs/core'
|
|
||||||
|
|
||||||
import { ConfigsService } from '~/modules/configs/configs.service'
|
import { ConfigsService } from '~/modules/configs/configs.service'
|
||||||
import { Request } from '~/types/request'
|
|
||||||
import { deepCloneWithFunction } from '~/utils'
|
import { deepCloneWithFunction } from '~/utils'
|
||||||
import { safeEval } from '~/utils/safe-eval.util'
|
import { safeEval } from '~/utils/safe-eval.util'
|
||||||
|
|
||||||
@@ -20,15 +12,11 @@ const RegMap = {
|
|||||||
'?': /^\?\??(.*?)\??\?$/g,
|
'?': /^\?\??(.*?)\??\?$/g,
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({})
|
||||||
scope: Scope.REQUEST,
|
|
||||||
durable: true,
|
|
||||||
})
|
|
||||||
export class TextMacroService {
|
export class TextMacroService {
|
||||||
private readonly logger: Logger
|
private readonly logger: Logger
|
||||||
constructor(
|
constructor(
|
||||||
private readonly configService: ConfigsService,
|
private readonly configService: ConfigsService, // @Inject(REQUEST) private readonly request: Request,
|
||||||
@Inject(REQUEST) private readonly request: Request,
|
|
||||||
) {
|
) {
|
||||||
this.logger = new Logger(TextMacroService.name)
|
this.logger = new Logger(TextMacroService.name)
|
||||||
}
|
}
|
||||||
@@ -86,9 +74,9 @@ export class TextMacroService {
|
|||||||
// time utils
|
// time utils
|
||||||
dayjs: deepCloneWithFunction(dayjs),
|
dayjs: deepCloneWithFunction(dayjs),
|
||||||
fromNow: (time: Date | string) => dayjs(time).fromNow(),
|
fromNow: (time: Date | string) => dayjs(time).fromNow(),
|
||||||
onlyMe: (text: string) => {
|
// onlyMe: (text: string) => {
|
||||||
return this.request.isMaster ? text : ''
|
// return this.request.isMaster ? text : ''
|
||||||
},
|
// },
|
||||||
|
|
||||||
// typography
|
// typography
|
||||||
center: (text: string) => {
|
center: (text: string) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user