From 35e18646e5bfb4a367dff39cc56aa5d04b59c57a Mon Sep 17 00:00:00 2001 From: Innei Date: Mon, 13 Feb 2023 23:20:26 +0800 Subject: [PATCH] fix(subscribe): provide toC `allow_type` Signed-off-by: Innei --- .../__tests__/contronllers/subscribe.test.ts | 11 +++++++++++ packages/api-client/controllers/subscribe.ts | 3 ++- paw.paw | 4 ++-- src/modules/subscribe/subscribe.controller.ts | 10 ++++------ 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/packages/api-client/__tests__/contronllers/subscribe.test.ts b/packages/api-client/__tests__/contronllers/subscribe.test.ts index afbda1b4..cfb8a17b 100644 --- a/packages/api-client/__tests__/contronllers/subscribe.test.ts +++ b/packages/api-client/__tests__/contronllers/subscribe.test.ts @@ -18,4 +18,15 @@ describe('test topic client', () => { const data = await client.subscribe.unsubscribe('foo@example.com', 'token') expect(data).toEqual(mocked) }) + + test('GET /subscribe/status', async () => { + const mocked = mockResponse('/subscribe/status', { + enable: true, + bit_map: { post_c: 1, note_c: 2, say_c: 4, recently_c: 8, all: 15 }, + allow_bits: [2, 1], + allow_types: ['note_c', 'post_c'], + }) + const data = await client.subscribe.check() + expect(data).toEqual(camelcaseKeys(mocked, { deep: true })) + }) }) diff --git a/packages/api-client/controllers/subscribe.ts b/packages/api-client/controllers/subscribe.ts index d940886c..2b47aa91 100644 --- a/packages/api-client/controllers/subscribe.ts +++ b/packages/api-client/controllers/subscribe.ts @@ -34,7 +34,8 @@ export class SubscribeController implements IController { return this.proxy.status.get<{ enable: boolean bitMap: Record - allowTypes: number[] + allowBits: number[] + allowTypes: SubscribeType[] }>() } diff --git a/paw.paw b/paw.paw index 74a9e5c2..a8334d6f 100644 --- a/paw.paw +++ b/paw.paw @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:308902dc0ba16450fdc2ba34764f89051f63471fe9ca95099b6730ca8e5e2f4a -size 101442 +oid sha256:92c5523d93dee059e54c5056dc000fc3162aee6ec2398ffb2a354f3f980efa4c +size 102593 diff --git a/src/modules/subscribe/subscribe.controller.ts b/src/modules/subscribe/subscribe.controller.ts index c53f00a2..a6281a31 100644 --- a/src/modules/subscribe/subscribe.controller.ts +++ b/src/modules/subscribe/subscribe.controller.ts @@ -5,11 +5,7 @@ import { Auth } from '~/common/decorators/auth.decorator' import { HTTPDecorators } from '~/common/decorators/http.decorator' import { PagerDto } from '~/shared/dto/pager.dto' -import { - SubscribeNoteCreateBit, - SubscribePostCreateBit, - SubscribeTypeToBitMap, -} from './subscribe.constant' +import { SubscribeTypeToBitMap } from './subscribe.constant' import { CancelSubscribeDto, SubscribeDto } from './subscribe.dto' import { SubscribeService } from './subscribe.service' @@ -21,11 +17,13 @@ export class SubscribeController { // 检查特征是否开启 @HTTPDecorators.Bypass async checkStatus() { + const allow_types = ['note_c', 'post_c'] return { enable: await this.service.checkEnable(), bit_map: SubscribeTypeToBitMap, // TODO move to service - allow_types: [SubscribeNoteCreateBit, SubscribePostCreateBit], + allow_bits: allow_types.map((t) => SubscribeTypeToBitMap[t]), + allow_types, } }