From 1c8019d41a385dc6030f8016bb15bbf01c790703 Mon Sep 17 00:00:00 2001 From: Vasilii Mikhailovskii Date: Wed, 27 Nov 2024 15:57:11 +0200 Subject: [PATCH] WIP message-delivery-method-web-push --- apps/frontend/package.json | 1 + apps/frontend/src/api/dbs.ts | 4 +- apps/frontend/src/api/qrCode.ts | 2 +- apps/frontend/src/api/webPush.ts | 2 +- .../frontend/src/components/ChatComponent.vue | 8 +- .../CreateMessageDeliveryMethodSection.vue | 2 +- .../create/CreateMessageDeliveryOption.vue | 2 +- .../CreateMessageDeliveryOptionTelegram.vue | 2 +- .../CreateMessageDeliveryOptionWebPush.vue | 2 +- .../create/CreatePlacementSection.vue | 2 +- .../CreatePredefinedMessagesSection.vue | 2 +- .../create/CreateSectionManager.vue | 2 +- .../create/CreateSummarySection.vue | 2 +- .../manage/ManagePlacementInstructions.vue | 2 +- .../src/components/read/ReadContactInfo.vue | 2 +- .../src/components/read/ReadMessageSender.vue | 6 +- .../DBDocumentTypes/PublicSettingsDocument.ts | 16 --- .../WebPushSubscriptionDocument.ts | 11 --- .../src/types/DBDocumentTypes/index.ts | 5 - apps/frontend/src/views/CreateView.vue | 2 +- .../src/views/ManageQRCodeReadyView.vue | 98 +++++++++++-------- apps/frontend/src/views/PublicChatView.vue | 2 +- apps/frontend/src/views/ReadQRCodeView.vue | 2 +- docker-compose.yml | 6 ++ package-lock.json | 65 +++++++----- package.json | 1 - packages/types/.gitignore | 1 + .../types/DBDocuments}/BaseDocument.ts | 0 .../types/DBDocuments}/MessageDocument.ts | 6 ++ .../DBDocuments/PublicSettingsDocument.ts | 16 +++ .../types/DBDocuments}/QRCodeDocument.ts | 0 .../DBDocuments/ServerSettingsDocument.ts | 24 +++++ .../types/DBDocuments}/UserDocument.ts | 0 .../WebPushSubscriptionDocument.ts | 11 +++ packages/types/DBDocuments/index.ts | 7 ++ packages/types/index.ts | 1 + packages/types/package.json | 10 ++ packages/types/tsconfig.json | 9 ++ .../PouchDB.js | 4 - .../package.json | 11 ++- .../src/PouchDB.ts | 7 ++ .../src/dbs.ts | 38 +++++++ .../{ => src}/generate-keys.js | 0 .../src/server.ts | 81 +++++++++++++++ .../src/serviceSeqTracker.ts | 38 +++++++ .../src/setupVapidDetails.ts | 77 +++++++++++++++ .../test-send-notification-cancel.js | 0 .../{ => src}/test-send-notification.js | 0 48 files changed, 464 insertions(+), 128 deletions(-) delete mode 100644 apps/frontend/src/types/DBDocumentTypes/PublicSettingsDocument.ts delete mode 100644 apps/frontend/src/types/DBDocumentTypes/WebPushSubscriptionDocument.ts delete mode 100644 apps/frontend/src/types/DBDocumentTypes/index.ts create mode 100644 packages/types/.gitignore rename {apps/frontend/src/types/DBDocumentTypes => packages/types/DBDocuments}/BaseDocument.ts (100%) rename {apps/frontend/src/types/DBDocumentTypes => packages/types/DBDocuments}/MessageDocument.ts (81%) create mode 100644 packages/types/DBDocuments/PublicSettingsDocument.ts rename {apps/frontend/src/types/DBDocumentTypes => packages/types/DBDocuments}/QRCodeDocument.ts (100%) create mode 100644 packages/types/DBDocuments/ServerSettingsDocument.ts rename {apps/frontend/src/types/DBDocumentTypes => packages/types/DBDocuments}/UserDocument.ts (100%) create mode 100644 packages/types/DBDocuments/WebPushSubscriptionDocument.ts create mode 100644 packages/types/DBDocuments/index.ts create mode 100644 packages/types/index.ts create mode 100644 packages/types/package.json create mode 100644 packages/types/tsconfig.json delete mode 100644 services/message-delivery-method-web-push/PouchDB.js create mode 100644 services/message-delivery-method-web-push/src/PouchDB.ts create mode 100644 services/message-delivery-method-web-push/src/dbs.ts rename services/message-delivery-method-web-push/{ => src}/generate-keys.js (100%) create mode 100644 services/message-delivery-method-web-push/src/server.ts create mode 100644 services/message-delivery-method-web-push/src/serviceSeqTracker.ts create mode 100644 services/message-delivery-method-web-push/src/setupVapidDetails.ts rename services/message-delivery-method-web-push/{ => src}/test-send-notification-cancel.js (100%) rename services/message-delivery-method-web-push/{ => src}/test-send-notification.js (100%) diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 38d8112..a43c3bd 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -17,6 +17,7 @@ }, "dependencies": { "@f3ve/vue-markdown-it": "^0.2.3", + "@hereconnect/types": "^1.0.0", "@primevue/forms": "^4.2.1", "@primevue/themes": "^4.2.1", "@tanstack/vue-query": "^5.60.6", diff --git a/apps/frontend/src/api/dbs.ts b/apps/frontend/src/api/dbs.ts index c7616fa..cd4a3fd 100644 --- a/apps/frontend/src/api/dbs.ts +++ b/apps/frontend/src/api/dbs.ts @@ -4,8 +4,8 @@ import type { QRCodeDocument, MessageDocument, WebPushSubscriptionDocument, -} from '@/types/DBDocumentTypes' -import type { PublicSettingsDocument } from '@/types/DBDocumentTypes/PublicSettingsDocument' + PublicSettingsDocument, +} from '@hereconnect/types' export const qrCodeDbRemote = new PouchDB(`${import.meta.env.VITE_API_URL}/qr`, { skip_setup: true, diff --git a/apps/frontend/src/api/qrCode.ts b/apps/frontend/src/api/qrCode.ts index 85b4611..bbaf0e6 100644 --- a/apps/frontend/src/api/qrCode.ts +++ b/apps/frontend/src/api/qrCode.ts @@ -1,4 +1,4 @@ -import type { QRCodeDocument } from '@/types/DBDocumentTypes' +import type { QRCodeDocument } from '@hereconnect/types' import { qrCodeDbLocal, qrCodeDbRemote } from '@/api/dbs' import { getUserUuid } from '@/utils/getUserUuid' import { getBrowserUuid } from '@/utils/getBrowserUuid' diff --git a/apps/frontend/src/api/webPush.ts b/apps/frontend/src/api/webPush.ts index fc73788..8882f90 100644 --- a/apps/frontend/src/api/webPush.ts +++ b/apps/frontend/src/api/webPush.ts @@ -1,4 +1,4 @@ -import type { WebPushSubscriptionDocument } from '@/types/DBDocumentTypes' +import type { WebPushSubscriptionDocument } from '@hereconnect/types' import { publicSettingsDbRemote, webPushSubscriptionsDbRemote } from '@/api/dbs' import { getUserUuid } from '@/utils/getUserUuid' import { getBrowserUuid } from '@/utils/getBrowserUuid' diff --git a/apps/frontend/src/components/ChatComponent.vue b/apps/frontend/src/components/ChatComponent.vue index e5d36c6..07d4fa0 100644 --- a/apps/frontend/src/components/ChatComponent.vue +++ b/apps/frontend/src/components/ChatComponent.vue @@ -40,7 +40,9 @@ diff --git a/apps/frontend/src/views/ReadQRCodeView.vue b/apps/frontend/src/views/ReadQRCodeView.vue index 0c1d2f5..b43556d 100644 --- a/apps/frontend/src/views/ReadQRCodeView.vue +++ b/apps/frontend/src/views/ReadQRCodeView.vue @@ -31,7 +31,7 @@