add guest subscribe push notification
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { type BaseDocument } from "./BaseDocument";
|
||||
import { MessageDocument } from "./MessageDocument";
|
||||
|
||||
/**
|
||||
* Интерфейс для документа настройки чата.
|
||||
* Используется для хранения настроек чата пользователя.
|
||||
*/
|
||||
export interface UserChatSettingsDocument extends BaseDocument {
|
||||
/** Тип документа, всегда 'message' */
|
||||
type: "user_chat_settings";
|
||||
|
||||
/** Идентификатор QR‑кода, к которому относится сообщение */
|
||||
qr_code_uri: string;
|
||||
|
||||
/** Идентификатор чата для связывания сообщений */
|
||||
chat: string;
|
||||
|
||||
user_chat_role: MessageDocument["from"];
|
||||
|
||||
/** Идентификатор пользователя, отправившего сообщение */
|
||||
user_uuid: string;
|
||||
|
||||
/** Идентификатор браузера, отправившего сообщение */
|
||||
browser_uuid: string;
|
||||
|
||||
/** Включены ли push-уведомления */
|
||||
is_push_notification_enabled: boolean;
|
||||
|
||||
/** Дата последнего обновления */
|
||||
updated_at?: string;
|
||||
}
|
||||
@@ -1,12 +1,14 @@
|
||||
import type { BaseDocument } from "./BaseDocument";
|
||||
import type { PushSubscription } from "web-push";
|
||||
|
||||
export interface WebPushSubscriptionDocument extends BaseDocument {
|
||||
export interface WebPushSubscriptionDocument<
|
||||
Subscription extends PushSubscription | PushSubscriptionJSON,
|
||||
> extends BaseDocument {
|
||||
_id: string; // Формат: "web_push_subscription:<user_uuid>:<browser_uuid>"
|
||||
type: "web_push_subscription";
|
||||
user_uuid: string; // UUID пользователя, связанного с подпиской
|
||||
browser_uuid: string; // UUID браузера, связанного с подпиской
|
||||
subscription: PushSubscription;
|
||||
subscription: Subscription;
|
||||
created_at: string; // Дата создания подписки в ISO формате
|
||||
updated_at?: string; // Дата последнего обновления подписки
|
||||
}
|
||||
|
||||
@@ -4,4 +4,5 @@ export * from "./PublicSettingsDocument";
|
||||
export * from "./QRCodeDocument";
|
||||
export * from "./ServerSettingsDocument";
|
||||
export * from "./UserDocument";
|
||||
export * from "./UserChatSettingsDocument";
|
||||
export * from "./WebPushSubscriptionDocument";
|
||||
|
||||
Reference in New Issue
Block a user