mirror of
https://github.com/whekin/household-bot.git
synced 2026-03-31 19:14:03 +00:00
feat(miniapp): show topic routing in admin settings
This commit is contained in:
@@ -27,7 +27,14 @@ function repository(): HouseholdConfigurationRepository {
|
||||
}),
|
||||
getHouseholdTopicBinding: async () => null,
|
||||
findHouseholdTopicByTelegramContext: async () => null,
|
||||
listHouseholdTopicBindings: async () => [],
|
||||
listHouseholdTopicBindings: async () => [
|
||||
{
|
||||
householdId: 'household-1',
|
||||
role: 'purchase',
|
||||
telegramThreadId: '2',
|
||||
topicName: 'Общие покупки'
|
||||
}
|
||||
],
|
||||
listReminderTargets: async () => [],
|
||||
upsertHouseholdJoinToken: async () => ({
|
||||
householdId: 'household-1',
|
||||
@@ -167,7 +174,7 @@ function repository(): HouseholdConfigurationRepository {
|
||||
}
|
||||
|
||||
describe('createMiniAppAdminService', () => {
|
||||
test('returns billing settings, utility categories, and members for admins', async () => {
|
||||
test('returns billing settings, topic bindings, utility categories, and members for admins', async () => {
|
||||
const service = createMiniAppAdminService(repository())
|
||||
|
||||
const result = await service.getSettings({
|
||||
@@ -188,6 +195,14 @@ describe('createMiniAppAdminService', () => {
|
||||
utilitiesReminderDay: 3,
|
||||
timezone: 'Asia/Tbilisi'
|
||||
},
|
||||
topics: [
|
||||
{
|
||||
householdId: 'household-1',
|
||||
role: 'purchase',
|
||||
telegramThreadId: '2',
|
||||
topicName: 'Общие покупки'
|
||||
}
|
||||
],
|
||||
categories: [],
|
||||
members: []
|
||||
})
|
||||
|
||||
@@ -3,6 +3,7 @@ import type {
|
||||
HouseholdConfigurationRepository,
|
||||
HouseholdMemberRecord,
|
||||
HouseholdPendingMemberRecord,
|
||||
HouseholdTopicBindingRecord,
|
||||
HouseholdUtilityCategoryRecord
|
||||
} from '@household/ports'
|
||||
import { Money, type CurrencyCode } from '@household/domain'
|
||||
@@ -27,6 +28,7 @@ export interface MiniAppAdminService {
|
||||
settings: HouseholdBillingSettingsRecord
|
||||
categories: readonly HouseholdUtilityCategoryRecord[]
|
||||
members: readonly HouseholdMemberRecord[]
|
||||
topics: readonly HouseholdTopicBindingRecord[]
|
||||
}
|
||||
| {
|
||||
status: 'rejected'
|
||||
@@ -138,17 +140,19 @@ export function createMiniAppAdminService(
|
||||
}
|
||||
}
|
||||
|
||||
const [settings, categories, members] = await Promise.all([
|
||||
const [settings, categories, members, topics] = await Promise.all([
|
||||
repository.getHouseholdBillingSettings(input.householdId),
|
||||
repository.listHouseholdUtilityCategories(input.householdId),
|
||||
repository.listHouseholdMembers(input.householdId)
|
||||
repository.listHouseholdMembers(input.householdId),
|
||||
repository.listHouseholdTopicBindings(input.householdId)
|
||||
])
|
||||
|
||||
return {
|
||||
status: 'ok',
|
||||
settings,
|
||||
categories,
|
||||
members
|
||||
members,
|
||||
topics
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user