feat(member): add household lifecycle states

This commit is contained in:
2026-03-11 13:44:38 +04:00
parent 015298281c
commit 773abf2531
32 changed files with 3671 additions and 38 deletions

View File

@@ -2,8 +2,10 @@ import type { CurrencyCode, SupportedLocale } from '@household/domain'
import type { ReminderTarget } from './reminders'
export const HOUSEHOLD_TOPIC_ROLES = ['purchase', 'feedback', 'reminders', 'payments'] as const
export const HOUSEHOLD_MEMBER_LIFECYCLE_STATUSES = ['active', 'away', 'left'] as const
export type HouseholdTopicRole = (typeof HOUSEHOLD_TOPIC_ROLES)[number]
export type HouseholdMemberLifecycleStatus = (typeof HOUSEHOLD_MEMBER_LIFECYCLE_STATUSES)[number]
export interface HouseholdTelegramChatRecord {
householdId: string
@@ -43,6 +45,7 @@ export interface HouseholdMemberRecord {
householdId: string
telegramUserId: string
displayName: string
status: HouseholdMemberLifecycleStatus
preferredLocale: SupportedLocale | null
householdDefaultLocale: SupportedLocale
rentShareWeight: number
@@ -130,6 +133,7 @@ export interface HouseholdConfigurationRepository {
householdId: string
telegramUserId: string
displayName: string
status?: HouseholdMemberLifecycleStatus
preferredLocale?: SupportedLocale | null
rentShareWeight?: number
isAdmin?: boolean
@@ -188,4 +192,9 @@ export interface HouseholdConfigurationRepository {
memberId: string,
rentShareWeight: number
): Promise<HouseholdMemberRecord | null>
updateHouseholdMemberStatus(
householdId: string,
memberId: string,
status: HouseholdMemberLifecycleStatus
): Promise<HouseholdMemberRecord | null>
}

View File

@@ -13,10 +13,12 @@ export type {
ReleaseProcessedBotMessageInput
} from './processed-bot-messages'
export {
HOUSEHOLD_MEMBER_LIFECYCLE_STATUSES,
HOUSEHOLD_TOPIC_ROLES,
type HouseholdConfigurationRepository,
type HouseholdBillingSettingsRecord,
type HouseholdJoinTokenRecord,
type HouseholdMemberLifecycleStatus,
type HouseholdMemberRecord,
type HouseholdPendingMemberRecord,
type HouseholdTelegramChatRecord,