diff --git a/js/src/graphql/webPush.ts b/js/src/graphql/webPush.ts new file mode 100644 index 000000000..fec7ca9ad --- /dev/null +++ b/js/src/graphql/webPush.ts @@ -0,0 +1,9 @@ +import gql from "graphql-tag"; + +export const REGISTER_PUSH_MUTATION = gql` + mutation RegisterPush($endpoint: String!, $keys: PushSubscriptionKeys!) { + registerPush(endpoint: $endpoint, keys: $keys) { + status + } + } +`; diff --git a/js/src/views/Settings/Notifications.vue b/js/src/views/Settings/Notifications.vue index 23f742d81..e064e67a4 100644 --- a/js/src/views/Settings/Notifications.vue +++ b/js/src/views/Settings/Notifications.vue @@ -213,6 +213,7 @@ import RouteName from "../../router/name"; import { IFeedToken } from "@/types/feedtoken.model"; import { CREATE_FEED_TOKEN, DELETE_FEED_TOKEN } from "@/graphql/feed_tokens"; import { subscribeUserToPush } from "../../services/push-subscription"; +import { REGISTER_PUSH_MUTATION } from "@/graphql/webPush"; @Component({ apollo: { @@ -318,8 +319,14 @@ export default class Notifications extends Vue { async subscribeToWebPush(): Promise { if (this.canShowWebPush()) { - const a = await subscribeUserToPush(); - console.log(a); + const subscription = await subscribeUserToPush(); + const { data } = await this.$apollo.mutate({ + mutation: REGISTER_PUSH_MUTATION, + variables: { + ...subscription, + }, + }); + console.log(data); } else { console.log("can't do webpush"); }