feat: add Telegram album purchase bot

This commit is contained in:
2026-08-21 18:07:50 +03:30
parent 9478aa319f
commit 1e7b752532
21 changed files with 1399 additions and 459 deletions
+33
View File
@@ -29,6 +29,7 @@ export type PaymentMethod = 'ipg' | 'card-to-card';
export interface Purchase {
id?: number;
albumId: string;
albumIds?: string[];
transactionId: string;
customerName?: string;
email?: string;
@@ -37,4 +38,36 @@ export interface Purchase {
purchaseDate: Date | number;
approvalStatus?: PurchaseStatus; // pending, approved, rejected
paymentMethod?: PaymentMethod; // ipg or card-to-card
reviewedByTelegramId?: string;
reviewedAt?: Date | number;
telegramUserId?: string;
telegramChatId?: string;
receiptType?: 'text' | 'photo';
receiptTelegramFileId?: string;
}
export interface TelegramApprover {
userId: string;
label?: string;
createdAt?: Date | number;
}
export interface TelegramBotSettings {
baseUrl: string;
botTokenConfigured: boolean;
greetingText: string;
cardNumber: string;
cardHolderName: string;
updatedAt?: Date | number;
}
export type TelegramSessionState = 'browsing' | 'awaiting_receipt';
export interface TelegramUserSession {
userId: string;
chatId: string;
state: TelegramSessionState;
cartAlbumIds: string[];
displayName?: string;
updatedAt: Date | number;
}