This repository has no description
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546// SPDX-License-Identifier: AGPL-3.0-or-later
import type {UserID} from '../BrandedTypes';import type {PushSubscriptionPlatform, PushSubscriptionRow} from '../database/types/UserTypes';
export class PushSubscription { readonly userId: UserID; readonly subscriptionId: string; readonly authSessionIdHash: string | null; readonly endpoint: string; readonly p256dhKey: string | null; readonly authKey: string | null; readonly userAgent: string | null; readonly platform: PushSubscriptionPlatform; readonly appId: string | null; readonly providerEnvironment: string | null;
constructor(row: PushSubscriptionRow) { this.userId = row.user_id; this.subscriptionId = row.subscription_id; this.authSessionIdHash = row.auth_session_id_hash ?? null; this.endpoint = row.endpoint; this.p256dhKey = row.p256dh_key ?? null; this.authKey = row.auth_key ?? null; this.userAgent = row.user_agent ?? null; this.platform = row.platform ?? 'web_push'; this.appId = row.app_id ?? null; this.providerEnvironment = row.provider_environment ?? null; }
toRow(): PushSubscriptionRow { return { user_id: this.userId, subscription_id: this.subscriptionId, auth_session_id_hash: this.authSessionIdHash, endpoint: this.endpoint, p256dh_key: this.p256dhKey, auth_key: this.authKey, user_agent: this.userAgent, platform: this.platform, app_id: this.appId, provider_environment: this.providerEnvironment, }; }}