refactor: upgrade masto 5 (#867)
This commit is contained in:
parent
39034c5777
commit
5c8f75b9b7
108 changed files with 438 additions and 445 deletions
|
@ -1,8 +1,4 @@
|
|||
import type {
|
||||
CreatePushSubscriptionParams,
|
||||
PushSubscription as MastoPushSubscription,
|
||||
SubscriptionPolicy,
|
||||
} from 'masto'
|
||||
import type { mastodon } from 'masto'
|
||||
import type {
|
||||
CreatePushNotification,
|
||||
PushManagerSubscriptionInfo,
|
||||
|
@ -12,14 +8,14 @@ import type {
|
|||
export const createPushSubscription = async (
|
||||
user: RequiredUserLogin,
|
||||
notificationData: CreatePushNotification,
|
||||
policy: SubscriptionPolicy = 'all',
|
||||
policy: mastodon.v1.SubscriptionPolicy = 'all',
|
||||
force = false,
|
||||
): Promise<MastoPushSubscription | undefined> => {
|
||||
): Promise<mastodon.v1.WebPushSubscription | undefined> => {
|
||||
const { server: serverEndpoint, vapidKey } = user
|
||||
|
||||
return await getRegistration()
|
||||
.then(getPushSubscription)
|
||||
.then(({ registration, subscription }): Promise<MastoPushSubscription | undefined> => {
|
||||
.then(({ registration, subscription }): Promise<mastodon.v1.WebPushSubscription | undefined> => {
|
||||
if (subscription) {
|
||||
const currentServerKey = (new Uint8Array(subscription.options.applicationServerKey!)).toString()
|
||||
const subscriptionServerKey = urlBase64ToUint8Array(vapidKey).toString()
|
||||
|
@ -114,10 +110,10 @@ async function removePushNotificationDataOnError(e: Error) {
|
|||
async function sendSubscriptionToBackend(
|
||||
subscription: PushSubscription,
|
||||
data: CreatePushNotification,
|
||||
policy: SubscriptionPolicy,
|
||||
): Promise<MastoPushSubscription> {
|
||||
policy: mastodon.v1.SubscriptionPolicy,
|
||||
): Promise<mastodon.v1.WebPushSubscription> {
|
||||
const { endpoint, keys } = subscription.toJSON()
|
||||
const params: CreatePushSubscriptionParams = {
|
||||
const params: mastodon.v1.CreateWebPushSubscriptionParams = {
|
||||
policy,
|
||||
subscription: {
|
||||
endpoint: endpoint!,
|
||||
|
@ -129,5 +125,5 @@ async function sendSubscriptionToBackend(
|
|||
data,
|
||||
}
|
||||
|
||||
return await useMasto().pushSubscriptions.create(params)
|
||||
return await useMasto().v1.webPushSubscriptions.create(params)
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import type { Emoji, PushSubscription as MastoPushSubscription, PushSubscriptionAlerts, SubscriptionPolicy } from 'masto'
|
||||
import type { mastodon } from 'masto'
|
||||
|
||||
import type { UserLogin } from '~/types'
|
||||
|
||||
|
@ -9,18 +9,18 @@ export interface PushManagerSubscriptionInfo {
|
|||
}
|
||||
|
||||
export interface RequiredUserLogin extends Required<Omit<UserLogin, 'account' | 'pushSubscription'>> {
|
||||
pushSubscription?: MastoPushSubscription
|
||||
pushSubscription?: mastodon.v1.WebPushSubscription
|
||||
}
|
||||
|
||||
export interface CreatePushNotification {
|
||||
alerts?: Partial<PushSubscriptionAlerts> | null
|
||||
policy?: SubscriptionPolicy
|
||||
alerts?: Partial<mastodon.v1.WebPushSubscriptionAlerts> | null
|
||||
policy?: mastodon.v1.SubscriptionPolicy
|
||||
}
|
||||
|
||||
export type PushNotificationRequest = Record<string, boolean>
|
||||
export type PushNotificationPolicy = Record<string, SubscriptionPolicy>
|
||||
export type PushNotificationPolicy = Record<string, mastodon.v1.SubscriptionPolicy>
|
||||
|
||||
export interface CustomEmojisInfo {
|
||||
lastUpdate: number
|
||||
emojis: Emoji[]
|
||||
emojis: mastodon.v1.CustomEmoji[]
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import type { SubscriptionPolicy } from 'masto'
|
||||
import type { mastodon } from 'masto'
|
||||
import type {
|
||||
CreatePushNotification,
|
||||
PushNotificationPolicy,
|
||||
|
@ -62,7 +62,7 @@ export const usePushManager = () => {
|
|||
|
||||
const subscribe = async (
|
||||
notificationData?: CreatePushNotification,
|
||||
policy?: SubscriptionPolicy,
|
||||
policy?: mastodon.v1.SubscriptionPolicy,
|
||||
force?: boolean,
|
||||
): Promise<SubscriptionResult> => {
|
||||
if (!isSupported)
|
||||
|
@ -117,7 +117,7 @@ export const usePushManager = () => {
|
|||
await removePushNotificationData(currentUser.value)
|
||||
}
|
||||
|
||||
const saveSettings = async (policy?: SubscriptionPolicy) => {
|
||||
const saveSettings = async (policy?: mastodon.v1.SubscriptionPolicy) => {
|
||||
if (policy)
|
||||
pushNotificationData.value.policy = policy
|
||||
|
||||
|
@ -168,7 +168,7 @@ export const usePushManager = () => {
|
|||
if (policyChanged)
|
||||
await subscribe(data, policy, true)
|
||||
else
|
||||
currentUser.value.pushSubscription = await masto.pushSubscriptions.update({ data })
|
||||
currentUser.value.pushSubscription = await masto.v1.webPushSubscriptions.update({ data })
|
||||
|
||||
policyChanged && await nextTick()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue