diff --git a/apps/core/test/src/modules/snippet/snippet.controller.e2e-spec.ts b/apps/core/test/src/modules/snippet/snippet.controller.e2e-spec.ts index 2f28ca1d..daf3b110 100644 --- a/apps/core/test/src/modules/snippet/snippet.controller.e2e-spec.ts +++ b/apps/core/test/src/modules/snippet/snippet.controller.e2e-spec.ts @@ -8,6 +8,7 @@ import { SnippetController } from '~/modules/snippet/snippet.controller' import { SnippetModel, SnippetType } from '~/modules/snippet/snippet.model' import { SnippetService } from '~/modules/snippet/snippet.service' import { DatabaseService } from '~/processors/database/database.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' describe('test /snippets', () => { let app: NestFastifyApplication @@ -17,6 +18,12 @@ describe('test /snippets', () => { providers: [ SnippetService, { provide: DatabaseService, useValue: {} }, + { + provide: EventManagerService, + useValue: { + async emit() {}, + }, + }, { provide: ServerlessService, diff --git a/apps/core/test/src/modules/snippet/snippet.service.spec.ts b/apps/core/test/src/modules/snippet/snippet.service.spec.ts index 779549b0..4b6f5c7f 100644 --- a/apps/core/test/src/modules/snippet/snippet.service.spec.ts +++ b/apps/core/test/src/modules/snippet/snippet.service.spec.ts @@ -8,9 +8,11 @@ import { ServerlessService } from '~/modules/serverless/serverless.service' import { SnippetModel, SnippetType } from '~/modules/snippet/snippet.model' import { SnippetService } from '~/modules/snippet/snippet.service' import { DatabaseService } from '~/processors/database/database.service' +import { EventManagerService } from '~/processors/helper/helper.event.service' import { CacheService } from '~/processors/redis/cache.service' import { getModelToken } from '~/transformers/model.transformer' +const mockedEventManageService = { async emit() {} } describe('test Snippet Service', () => { let service: SnippetService @@ -22,6 +24,7 @@ describe('test Snippet Service', () => { { provide: DatabaseService, useValue: {} }, { provide: CacheService, useValue: redis.CacheService }, { provide: ServerlessService, useValue: {} }, + { provide: EventManagerService, useValue: mockedEventManageService }, { provide: getModelToken(SnippetModel.name), diff --git a/packages/api-client/controllers/aggregate.ts b/packages/api-client/controllers/aggregate.ts index 6947f0ac..9fa8693b 100644 --- a/packages/api-client/controllers/aggregate.ts +++ b/packages/api-client/controllers/aggregate.ts @@ -3,7 +3,7 @@ import type { IController } from '~/interfaces/controller' import type { SortOrder } from '~/interfaces/options' import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request' import type { - AggregateRoot, + AggregateRootWithTheme, AggregateStat, AggregateTop, TimelineData, @@ -36,8 +36,14 @@ export class AggregateController implements IController { /** * 获取聚合数据 */ - getAggregateData(): RequestProxyResult { - return this.proxy.get() + getAggregateData( + theme?: string, + ): RequestProxyResult, ResponseWrapper> { + return this.proxy.get>({ + params: { + theme, + }, + }) } /** diff --git a/packages/api-client/models/aggregate.ts b/packages/api-client/models/aggregate.ts index 5b655c46..207ffd81 100644 --- a/packages/api-client/models/aggregate.ts +++ b/packages/api-client/models/aggregate.ts @@ -12,6 +12,14 @@ export interface AggregateRoot { url: Url categories: CategoryModel[] pageMeta: Pick[] | null + /** + * @available 4.2.2 + */ + latestNoteId: { id: string; nid: number } +} + +export interface AggregateRootWithTheme extends AggregateRoot { + theme?: Theme } export interface Url {