fix
Deploy app frontend / app frontend (push) Successful in 2m40s
Deploy db-migrations / db-migrations (push) Successful in 1m8s
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Successful in 1m30s
Deploy service tg-bot / service tg-bot (push) Failing after 1m51s

This commit is contained in:
2024-12-15 00:59:44 +02:00
parent 37df34815f
commit 8541dd6b99
18 changed files with 269 additions and 186 deletions
+1 -1
View File
@@ -68,7 +68,7 @@
"sass-embedded": "^1.82.0",
"tailwindcss": "^3.4.14",
"tailwindcss-safe-area": "^0.6.0",
"typescript": "~5.6.3",
"typescript": "~5.7.2",
"unplugin-auto-import": "^0.18.6",
"unplugin-info": "^1.2.1",
"unplugin-vue-components": "^0.27.4",
+1 -1
View File
@@ -22,6 +22,6 @@
"@hereconnect/types": "workspace:^"
},
"peerDependencies": {
"typescript": "~5.6.3"
"typescript": "~5.7.2"
}
}
+1 -1
View File
@@ -43,6 +43,6 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.2.1",
"prettier": "^3.4.1",
"typescript": "^5.7.2"
"typescript": "~5.7.2"
}
}
@@ -3,7 +3,7 @@
"target": "ES2020",
"module": "ESNext",
"lib": ["DOM", "ES2020"],
"outDir": "dist",
"outDir": "./dist",
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true,
@@ -20,6 +20,6 @@
},
"devDependencies": {
"@types/node": "^20.17.6",
"typescript": "~5.6.3"
"typescript": "~5.7.2"
}
}
+12 -8
View File
@@ -1,22 +1,26 @@
{
"name": "@hereconnect/lib-service-seq-tracker",
"version": "1.0.0",
"main": "src/serviceSeqTracker.ts",
"main": "dist/serviceSeqTracker.js",
"types": "dist/serviceSeqTracker.d.ts",
"exports": {
".": {
"import": "./src/serviceSeqTracker.ts",
"default": "./src/serviceSeqTracker.ts"
"import": "./dist/serviceSeqTracker.js",
"types": "./dist/serviceSeqTracker.d.ts",
"default": "./dist/serviceSeqTracker.js"
}
},
"files": ["src/**/*"],
"files": [
"src/**/*"
],
"private": true,
"scripts": {
"lint": "tsc --noEmit src/serviceSeqTracker.ts",
"build": "pnpm run lint"
"build": "tsc",
"prepare": "npm run build"
},
"devDependencies": {
"typescript": "~5.6.3",
"@types/node": "^20.17.6",
"@types/pouchdb-core": "^7.0.15"
"@types/pouchdb-core": "^7.0.15",
"typescript": "~5.7.2"
}
}
@@ -1,10 +1,14 @@
{
"compilerOptions": {
"declaration": true,
"emitDeclarationOnly": true,
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"outDir": "./dist",
"strict": true,
"types": ["node"]
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["index.ts"]
}
"include": ["src/serviceSeqTracker.ts"],
"exclude": ["node_modules", "dist"]
}
+1 -1
View File
@@ -2,7 +2,7 @@
"compilerOptions": {
"target": "ES5",
"module": "CommonJS",
"outDir": "dist",
"outDir": "./dist",
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true,
+1 -1
View File
@@ -18,7 +18,7 @@
"prepare": "npm run build"
},
"peerDependencies": {
"typescript": "~5.6.3",
"typescript": "~5.7.2",
"@types/web-push": "^3.6.4"
}
}
@@ -28,7 +28,7 @@ export interface MessageDocument extends BaseDocument {
user_uuid: string;
/** Идентификатор браузера, отправившего сообщение */
browser_uuid: string;
browser_uuid?: string;
/** Вложения, такие как фото */
// _attachments?: {
+126 -147
View File
@@ -12,7 +12,7 @@ importers:
dependencies:
'@f3ve/vue-markdown-it':
specifier: ^0.2.3
version: 0.2.3(vue@3.5.13(typescript@5.6.3))
version: 0.2.3(vue@3.5.13(typescript@5.7.2))
'@hereconnect/constants':
specifier: workspace:^
version: link:../../packages/constants
@@ -21,16 +21,16 @@ importers:
version: link:../../packages/types
'@primevue/forms':
specifier: ^4.2.1
version: 4.2.4(vue@3.5.13(typescript@5.6.3))
version: 4.2.4(vue@3.5.13(typescript@5.7.2))
'@primevue/themes':
specifier: ^4.2.1
version: 4.2.4
'@tanstack/vue-query':
specifier: ^5.60.6
version: 5.61.5(vue@3.5.13(typescript@5.6.3))
version: 5.61.5(vue@3.5.13(typescript@5.7.2))
'@unhead/vue':
specifier: ^1.11.13
version: 1.11.13(vue@3.5.13(typescript@5.6.3))
version: 1.11.13(vue@3.5.13(typescript@5.7.2))
events:
specifier: ^3.3.0
version: 3.3.0
@@ -39,7 +39,7 @@ importers:
version: 2.3.0
pinia:
specifier: ^2.2.6
version: 2.2.8(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3))
version: 2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))
pouchdb-browser:
specifier: ^9.0.0
version: 9.0.0
@@ -54,7 +54,7 @@ importers:
version: 7.0.0
primevue:
specifier: ^4.2.1
version: 4.2.4(vue@3.5.13(typescript@5.6.3))
version: 4.2.4(vue@3.5.13(typescript@5.7.2))
qr-code-styling:
specifier: ^1.8.4
version: 1.8.4
@@ -72,10 +72,10 @@ importers:
version: 1.11.13
vue:
specifier: ^3.5.12
version: 3.5.13(typescript@5.6.3)
version: 3.5.13(typescript@5.7.2)
vue-router:
specifier: ^4.4.5
version: 4.5.0(vue@3.5.13(typescript@5.6.3))
version: 4.5.0(vue@3.5.13(typescript@5.7.2))
devDependencies:
'@playwright/test':
specifier: ^1.48.2
@@ -103,16 +103,16 @@ importers:
version: 2.2.9
'@vitejs/plugin-vue':
specifier: ^5.1.4
version: 5.2.1(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.6.3))
version: 5.2.1(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.7.2))
'@vitest/eslint-plugin':
specifier: 1.1.7
version: 1.1.7(@typescript-eslint/utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)(vitest@2.1.6(@types/node@20.17.9)(jsdom@25.0.1(canvas@2.11.2))(sass-embedded@1.82.0))
version: 1.1.7(@typescript-eslint/utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@20.17.9)(jsdom@25.0.1(canvas@2.11.2))(sass-embedded@1.82.0))
'@vue/eslint-config-prettier':
specifier: ^10.1.0
version: 10.1.0(eslint@9.15.0(jiti@1.21.6))(prettier@3.4.1)
'@vue/eslint-config-typescript':
specifier: ^14.1.3
version: 14.1.4(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-plugin-vue@9.31.0(eslint@9.15.0(jiti@1.21.6)))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
version: 14.1.4(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint-plugin-vue@9.31.0(eslint@9.15.0(jiti@1.21.6)))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@vue/test-utils':
specifier: ^2.4.6
version: 2.4.6
@@ -156,8 +156,8 @@ importers:
specifier: ^0.6.0
version: 0.6.0(tailwindcss@3.4.15)
typescript:
specifier: ~5.6.3
version: 5.6.3
specifier: ~5.7.2
version: 5.7.2
unplugin-auto-import:
specifier: ^0.18.6
version: 0.18.6(rollup@4.27.4)
@@ -166,7 +166,7 @@ importers:
version: 1.2.1(esbuild@0.23.1)(rollup@4.27.4)(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))
unplugin-vue-components:
specifier: ^0.27.4
version: 0.27.5(@babel/parser@7.26.2)(rollup@4.27.4)(vue@3.5.13(typescript@5.6.3))
version: 0.27.5(@babel/parser@7.26.2)(rollup@4.27.4)(vue@3.5.13(typescript@5.7.2))
vite:
specifier: ^5.4.10
version: 5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0)
@@ -175,19 +175,19 @@ importers:
version: 4.0.6
vite-plugin-vue-devtools:
specifier: ^7.5.4
version: 7.6.7(rollup@4.27.4)(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.6.3))
version: 7.6.7(rollup@4.27.4)(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.7.2))
vitest:
specifier: ^2.1.4
version: 2.1.6(@types/node@20.17.9)(jsdom@25.0.1(canvas@2.11.2))(sass-embedded@1.82.0)
vue-tsc:
specifier: ^2.1.10
version: 2.1.10(typescript@5.6.3)
version: 2.1.10(typescript@5.7.2)
packages/constants:
dependencies:
typescript:
specifier: ~5.6.3
version: 5.6.3
specifier: ~5.7.2
version: 5.7.2
devDependencies:
'@hereconnect/types':
specifier: workspace:^
@@ -217,7 +217,7 @@ importers:
specifier: ^3.4.1
version: 3.4.2
typescript:
specifier: ^5.7.2
specifier: ~5.7.2
version: 5.7.2
packages/lib-service-health-checkserver:
@@ -226,20 +226,17 @@ importers:
specifier: ^20.17.6
version: 20.17.9
typescript:
specifier: ~5.6.3
version: 5.6.3
specifier: ~5.7.2
version: 5.7.2
packages/lib-service-seq-tracker:
devDependencies:
'@types/node':
specifier: ^20.17.6
version: 20.17.9
'@types/pouchdb-core':
specifier: ^7.0.15
version: 7.0.15
typescript:
specifier: ~5.6.3
version: 5.6.3
specifier: ~5.7.2
version: 5.7.2
packages/tg-bot-webhook-ddoc:
devDependencies:
@@ -262,8 +259,8 @@ importers:
specifier: ^3.6.4
version: 3.6.4
typescript:
specifier: ~5.6.3
version: 5.6.3
specifier: ~5.7.2
version: 5.7.2
services/db-migrations:
dependencies:
@@ -329,8 +326,8 @@ importers:
specifier: ^4.19.2
version: 4.19.2
typescript:
specifier: ~5.6.3
version: 5.6.3
specifier: ~5.7.2
version: 5.7.2
services/tg-bot:
dependencies:
@@ -432,7 +429,7 @@ importers:
specifier: ^4.30.1
version: 4.30.1
typescript:
specifier: ^5.7.2
specifier: ~5.7.2
version: 5.7.2
packages:
@@ -1348,6 +1345,9 @@ packages:
'@types/node@22.10.1':
resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==}
'@types/node@22.10.2':
resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==}
'@types/pouchdb-adapter-http@6.1.6':
resolution: {integrity: sha512-DJur1mt07GJXwGb5K+MOILoCOSgoQpsi7hybcTzRLeR3IO8Y8eq7TnhTkftAJdx9VHJGOiOXFjO+8BYM69j5yA==}
@@ -3663,11 +3663,6 @@ packages:
typescript:
optional: true
typescript@5.6.3:
resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
engines: {node: '>=14.17'}
hasBin: true
typescript@5.7.2:
resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
engines: {node: '>=14.17'}
@@ -4429,10 +4424,10 @@ snapshots:
dependencies:
levn: 0.4.1
'@f3ve/vue-markdown-it@0.2.3(vue@3.5.13(typescript@5.6.3))':
'@f3ve/vue-markdown-it@0.2.3(vue@3.5.13(typescript@5.7.2))':
dependencies:
markdown-it: 14.1.0
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
'@grammyjs/conversations@1.2.0(grammy@1.33.0)':
dependencies:
@@ -4641,24 +4636,24 @@ snapshots:
dependencies:
'@primevue/metadata': 4.2.4
'@primevue/core@4.2.4(vue@3.5.13(typescript@5.6.3))':
'@primevue/core@4.2.4(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@primeuix/styled': 0.3.2
'@primeuix/utils': 0.3.2
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
'@primevue/forms@4.2.4(vue@3.5.13(typescript@5.6.3))':
'@primevue/forms@4.2.4(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@primeuix/forms': 0.0.2
'@primeuix/utils': 0.3.2
'@primevue/core': 4.2.4(vue@3.5.13(typescript@5.6.3))
'@primevue/core': 4.2.4(vue@3.5.13(typescript@5.7.2))
transitivePeerDependencies:
- vue
'@primevue/icons@4.2.4(vue@3.5.13(typescript@5.6.3))':
'@primevue/icons@4.2.4(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@primeuix/utils': 0.3.2
'@primevue/core': 4.2.4(vue@3.5.13(typescript@5.6.3))
'@primevue/core': 4.2.4(vue@3.5.13(typescript@5.7.2))
transitivePeerDependencies:
- vue
@@ -4742,13 +4737,13 @@ snapshots:
'@tanstack/query-core@5.61.5': {}
'@tanstack/vue-query@5.61.5(vue@3.5.13(typescript@5.6.3))':
'@tanstack/vue-query@5.61.5(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@tanstack/match-sorter-utils': 8.19.4
'@tanstack/query-core': 5.61.5
'@vue/devtools-api': 6.6.4
vue: 3.5.13(typescript@5.6.3)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3))
vue: 3.5.13(typescript@5.7.2)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
'@trysound/sax@0.2.0': {}
@@ -4803,6 +4798,10 @@ snapshots:
dependencies:
undici-types: 6.20.0
'@types/node@22.10.2':
dependencies:
undici-types: 6.20.0
'@types/pouchdb-adapter-http@6.1.6':
dependencies:
'@types/pouchdb-core': 7.0.15
@@ -4852,11 +4851,11 @@ snapshots:
'@types/web-push@3.6.4':
dependencies:
'@types/node': 22.10.1
'@types/node': 22.10.2
'@types/ws@8.5.13':
dependencies:
'@types/node': 22.10.1
'@types/node': 22.10.2
'@types/yargs-parser@21.0.3': {}
@@ -4864,38 +4863,38 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.3
'@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/scope-manager': 8.16.0
'@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.16.0
eslint: 9.15.0(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
ts-api-utils: 1.4.3(typescript@5.6.3)
ts-api-utils: 1.4.3(typescript@5.7.2)
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/scope-manager': 8.18.0
'@typescript-eslint/type-utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/type-utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.18.0
eslint: 9.15.0(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
ts-api-utils: 1.4.3(typescript@5.6.3)
typescript: 5.6.3
ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -4916,16 +4915,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.16.0
'@typescript-eslint/types': 8.16.0
'@typescript-eslint/typescript-estree': 8.16.0(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.16.0
debug: 4.3.7
eslint: 9.15.0(jiti@1.21.6)
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -4951,26 +4950,26 @@ snapshots:
'@typescript-eslint/types': 8.18.0
'@typescript-eslint/visitor-keys': 8.18.0
'@typescript-eslint/type-utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/type-utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.16.0(typescript@5.6.3)
'@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
'@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
debug: 4.3.7
eslint: 9.15.0(jiti@1.21.6)
ts-api-utils: 1.4.3(typescript@5.6.3)
ts-api-utils: 1.4.3(typescript@5.7.2)
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/type-utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/type-utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.6.3)
'@typescript-eslint/utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
debug: 4.3.7
eslint: 9.15.0(jiti@1.21.6)
ts-api-utils: 1.4.3(typescript@5.6.3)
typescript: 5.6.3
ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -4989,7 +4988,7 @@ snapshots:
'@typescript-eslint/types@8.18.0': {}
'@typescript-eslint/typescript-estree@8.16.0(typescript@5.6.3)':
'@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)':
dependencies:
'@typescript-eslint/types': 8.16.0
'@typescript-eslint/visitor-keys': 8.16.0
@@ -4998,23 +4997,9 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
ts-api-utils: 1.4.3(typescript@5.6.3)
ts-api-utils: 1.4.3(typescript@5.7.2)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@8.18.0(typescript@5.6.3)':
dependencies:
'@typescript-eslint/types': 8.18.0
'@typescript-eslint/visitor-keys': 8.18.0
debug: 4.3.7
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
ts-api-utils: 1.4.3(typescript@5.6.3)
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -5032,26 +5017,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/utils@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6))
'@typescript-eslint/scope-manager': 8.16.0
'@typescript-eslint/types': 8.16.0
'@typescript-eslint/typescript-estree': 8.16.0(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
eslint: 9.15.0(jiti@1.21.6)
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@typescript-eslint/utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6))
'@typescript-eslint/scope-manager': 8.18.0
'@typescript-eslint/types': 8.18.0
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
eslint: 9.15.0(jiti@1.21.6)
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -5090,26 +5075,26 @@ snapshots:
dependencies:
'@unhead/schema': 1.11.13
'@unhead/vue@1.11.13(vue@3.5.13(typescript@5.6.3))':
'@unhead/vue@1.11.13(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@unhead/schema': 1.11.13
'@unhead/shared': 1.11.13
defu: 6.1.4
hookable: 5.5.3
unhead: 1.11.13
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
'@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.6.3))':
'@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
vite: 5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0)
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
'@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)(vitest@2.1.6(@types/node@20.17.9)(jsdom@25.0.1(canvas@2.11.2))(sass-embedded@1.82.0))':
'@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)(vitest@2.1.6(@types/node@20.17.9)(jsdom@25.0.1(canvas@2.11.2))(sass-embedded@1.82.0))':
dependencies:
'@typescript-eslint/utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/utils': 8.18.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
eslint: 9.15.0(jiti@1.21.6)
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
vitest: 2.1.6(@types/node@20.17.9)(jsdom@25.0.1(canvas@2.11.2))(sass-embedded@1.82.0)
'@vitest/expect@2.1.6':
@@ -5231,7 +5216,7 @@ snapshots:
'@vue/devtools-api@6.6.4': {}
'@vue/devtools-core@7.6.7(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.6.3))':
'@vue/devtools-core@7.6.7(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@vue/devtools-kit': 7.6.7
'@vue/devtools-shared': 7.6.7
@@ -5239,7 +5224,7 @@ snapshots:
nanoid: 5.0.9
pathe: 1.1.2
vite-hot-client: 0.2.4(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
transitivePeerDependencies:
- vite
@@ -5266,21 +5251,21 @@ snapshots:
transitivePeerDependencies:
- '@types/eslint'
'@vue/eslint-config-typescript@14.1.4(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-plugin-vue@9.31.0(eslint@9.15.0(jiti@1.21.6)))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)':
'@vue/eslint-config-typescript@14.1.4(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint-plugin-vue@9.31.0(eslint@9.15.0(jiti@1.21.6)))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
eslint: 9.15.0(jiti@1.21.6)
eslint-plugin-vue: 9.31.0(eslint@9.15.0(jiti@1.21.6))
fast-glob: 3.3.2
typescript-eslint: 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
typescript-eslint: 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
vue-eslint-parser: 9.4.3(eslint@9.15.0(jiti@1.21.6))
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- '@typescript-eslint/parser'
- supports-color
'@vue/language-core@2.1.10(typescript@5.6.3)':
'@vue/language-core@2.1.10(typescript@5.7.2)':
dependencies:
'@volar/language-core': 2.4.10
'@vue/compiler-dom': 3.5.13
@@ -5291,7 +5276,7 @@ snapshots:
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
'@vue/reactivity@3.5.13':
dependencies:
@@ -5309,11 +5294,11 @@ snapshots:
'@vue/shared': 3.5.13
csstype: 3.1.3
'@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.6.3))':
'@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@vue/compiler-ssr': 3.5.13
'@vue/shared': 3.5.13
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
'@vue/shared@3.5.13': {}
@@ -6296,7 +6281,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 22.10.1
'@types/node': 22.10.2
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -6690,13 +6675,13 @@ snapshots:
pify@2.3.0: {}
pinia@2.2.8(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)):
pinia@2.2.8(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@vue/devtools-api': 6.6.4
vue: 3.5.13(typescript@5.6.3)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3))
vue: 3.5.13(typescript@5.7.2)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
pirates@4.0.6: {}
@@ -6874,12 +6859,12 @@ snapshots:
primeicons@7.0.0: {}
primevue@4.2.4(vue@3.5.13(typescript@5.6.3)):
primevue@4.2.4(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@primeuix/styled': 0.3.2
'@primeuix/utils': 0.3.2
'@primevue/core': 4.2.4(vue@3.5.13(typescript@5.6.3))
'@primevue/icons': 4.2.4(vue@3.5.13(typescript@5.6.3))
'@primevue/core': 4.2.4(vue@3.5.13(typescript@5.7.2))
'@primevue/icons': 4.2.4(vue@3.5.13(typescript@5.7.2))
transitivePeerDependencies:
- vue
@@ -7375,10 +7360,6 @@ snapshots:
dependencies:
punycode: 2.3.1
ts-api-utils@1.4.3(typescript@5.6.3):
dependencies:
typescript: 5.6.3
ts-api-utils@1.4.3(typescript@5.7.2):
dependencies:
typescript: 5.7.2
@@ -7402,19 +7383,17 @@ snapshots:
type-fest@4.30.1: {}
typescript-eslint@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3):
typescript-eslint@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2):
dependencies:
'@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)
'@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/parser': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.16.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.7.2)
eslint: 9.15.0(jiti@1.21.6)
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
typescript@5.6.3: {}
typescript@5.7.2: {}
uc.micro@2.1.0: {}
@@ -7485,7 +7464,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
unplugin-vue-components@0.27.5(@babel/parser@7.26.2)(rollup@4.27.4)(vue@3.5.13(typescript@5.6.3)):
unplugin-vue-components@0.27.5(@babel/parser@7.26.2)(rollup@4.27.4)(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.3(rollup@4.27.4)
@@ -7497,7 +7476,7 @@ snapshots:
minimatch: 9.0.5
mlly: 1.7.3
unplugin: 1.16.0
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
optionalDependencies:
'@babel/parser': 7.26.2
transitivePeerDependencies:
@@ -7574,9 +7553,9 @@ snapshots:
globby: 13.2.2
sirv: 2.0.4
vite-plugin-vue-devtools@7.6.7(rollup@4.27.4)(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.6.3)):
vite-plugin-vue-devtools@7.6.7(rollup@4.27.4)(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@vue/devtools-core': 7.6.7(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.6.3))
'@vue/devtools-core': 7.6.7(vite@5.4.11(@types/node@20.17.9)(sass-embedded@1.82.0))(vue@3.5.13(typescript@5.7.2))
'@vue/devtools-kit': 7.6.7
'@vue/devtools-shared': 7.6.7
execa: 9.5.1
@@ -7655,9 +7634,9 @@ snapshots:
vue-component-type-helpers@2.1.10: {}
vue-demi@0.14.10(vue@3.5.13(typescript@5.6.3)):
vue-demi@0.14.10(vue@3.5.13(typescript@5.7.2)):
dependencies:
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
vue-eslint-parser@9.4.3(eslint@9.15.0(jiti@1.21.6)):
dependencies:
@@ -7672,27 +7651,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
vue-router@4.5.0(vue@3.5.13(typescript@5.6.3)):
vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@vue/devtools-api': 6.6.4
vue: 3.5.13(typescript@5.6.3)
vue: 3.5.13(typescript@5.7.2)
vue-tsc@2.1.10(typescript@5.6.3):
vue-tsc@2.1.10(typescript@5.7.2):
dependencies:
'@volar/typescript': 2.4.10
'@vue/language-core': 2.1.10(typescript@5.6.3)
'@vue/language-core': 2.1.10(typescript@5.7.2)
semver: 7.6.3
typescript: 5.6.3
typescript: 5.7.2
vue@3.5.13(typescript@5.6.3):
vue@3.5.13(typescript@5.7.2):
dependencies:
'@vue/compiler-dom': 3.5.13
'@vue/compiler-sfc': 3.5.13
'@vue/runtime-dom': 3.5.13
'@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.6.3))
'@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.2))
'@vue/shared': 3.5.13
optionalDependencies:
typescript: 5.6.3
typescript: 5.7.2
vuvuzela@1.0.3: {}
@@ -48,6 +48,6 @@
"@types/pouchdb-find": "^7.3.3",
"@types/web-push": "^3.6.4",
"tsx": "^4.19.2",
"typescript": "~5.6.3"
"typescript": "~5.7.2"
}
}
+1 -1
View File
@@ -73,6 +73,6 @@
"eslint": "^9.16.0",
"tsx": "^4.19.2",
"type-fest": "^4.30.1",
"typescript": "^5.7.2"
"typescript": "~5.7.2"
}
}
+7 -3
View File
@@ -4,6 +4,7 @@ import { MyContext } from "../types/myContext";
import { env } from "../config/env";
import { CouchDBStorageAdapter } from "./storageAdapters/CouchDBStorageAdapter";
import { loadUserMiddleware } from "./middleware/loadUser";
import { replayToQrCodeMessageMiddleware } from "./middleware/replayToQrCodeMessageMiddleware";
import { tgBotSessionsDb } from "../dbs";
import { startCommand } from "./commands/start";
import { helpCommand } from "./commands/help";
@@ -39,13 +40,16 @@ export const createBot = ({
// Подключаем сессии. По необходимости определите initial state для сессии
bot.use(session({ storage, initial: () => ({}) }));
// Middleware для загрузки или создания пользователя
bot.use(loadUserMiddleware);
// Middleware для обработки ответов на сообщения
bot.use(replayToQrCodeMessageMiddleware);
// Подключаем conversations для многошаговых сценариев
bot.use(conversations());
bot.use(createConversation(newQRCodeConversation));
// Middleware для загрузки или создания пользователя
bot.use(loadUserMiddleware);
// Регистрация команд
bot.command("start", startCommand);
bot.command("help", helpCommand);
@@ -0,0 +1,92 @@
import { MyContext } from "../../types/myContext";
import { qrDb, messagesDb } from "../../dbs";
import type { MessageDocument } from "@hereconnect/types";
import { secondsToISOString } from "../../utils/date";
/**
* Middleware for handling replies to messages containing QR code identifiers.
*
* This middleware checks if a received message is a reply to another message
* containing a specific pattern with QR code and chat identifiers. If the
* pattern is found, it logs and processes the identifiers and sends a reply
* acknowledging the response. If the pattern is not found or if the message
* is not a reply, appropriate logs and responses are generated.
*
* @param ctx - The context object containing the message and other request details.
* @param next - The next middleware function in the stack to be executed.
*/
export const replayToQrCodeMessageMiddleware = async (
ctx: MyContext,
next: () => Promise<void>,
) => {
if (!ctx.has(":text")) {
return next();
}
if (!ctx.msg.reply_to_message) {
console.log("Это не ответное сообщение.");
return next();
}
// Получаем текст сообщения, на которое пришёл ответ
const originalMessage = ctx.msg.reply_to_message.text;
const m = originalMessage?.match(/#qr(?<qr_code_uri>\S+)_c(?<chat>\S+)/);
if (!m?.groups) {
console.log("m.groups is empty", m, m?.groups);
await ctx.reply(
`Я не смогу обработать это сообщение.\nВыберете в телеграм ответить у любого сообщения QR-кода чтобы я его мог переслать в диалог.`,
);
return next();
}
const { qr_code_uri, chat } = m.groups;
console.log(qr_code_uri, chat);
// Логируем исходное сообщение и ответ
console.log("Ответ на сообщение: ", originalMessage);
console.log("Ответное сообщение: ", ctx.msg.text);
const qrCodeDoc = await qrDb.get(`qr_code:${qr_code_uri}`).catch((error) => {
if (error.name === "not_found") return;
throw error;
});
if (!qrCodeDoc) {
await ctx.reply(
`Я не смогу обработать это сообщение. QR-код с ID ${qr_code_uri} не найден.`,
);
return next();
}
if (!ctx.userDoc) {
await ctx.reply(`Я не смогу обработать это сообщение. Вы не авторизованы`);
return next();
}
console.log(ctx.userDoc?.telegram_id, "!==", qrCodeDoc.telegram_id);
if (ctx.userDoc?.telegram_id !== qrCodeDoc.telegram_id) {
await ctx.reply(`Я не смогу обработать это сообщение. Это не ваш QR-код`);
return next();
}
const created_at = secondsToISOString(ctx.msg.date);
const user_uuid = ctx.userDoc!.user_uuid;
const message: MessageDocument = {
_id: `message:${qr_code_uri}:${chat}:${created_at}`,
type: "message",
qr_code_uri,
chat,
from: "owner",
body: ctx.msg.text.trim(),
user_uuid,
created_at,
};
await messagesDb.put(message);
// Вы можете выполнить любую логику с этими данными
await ctx.reply(
`Вы ответили на сообщение: "${originalMessage}" с текстом: "${ctx.msg.text}"`,
);
};
+5 -13
View File
@@ -3,11 +3,10 @@ import { ServiceSeqTrackerDatabase } from "@hereconnect/lib-service-seq-tracker"
import type {
QRCodeDocument,
MessageDeliveryMethodWebPushVapid,
UserChatSettingsDocument,
WebPushSubscriptionDocument,
PublicSettingsDocument,
UserDocument,
MessageDocument,
} from "@hereconnect/types";
import type { ServiceSeqTrackerDocument } from "@hereconnect/lib-service-seq-tracker";
@@ -26,17 +25,11 @@ export const MESSAGES_DB_NAME = "messages";
export const TG_BOT_DB_URL = `${env.API_URL}/${TG_BOT_DB_NAME}`;
export const MESSAGES_DB_URL = `${env.API_URL}/${MESSAGES_DB_NAME}`;
export const messagesDb = new PouchDB<MessageDocument>(MESSAGES_DB_URL, {
skip_setup: true,
});
export const messagesServiceSeqTrackerDb =
new PouchDB<ServiceSeqTrackerDocument>(MESSAGES_DB_URL, {
skip_setup: true,
});
export const serverSettingsDb = new PouchDB<MessageDeliveryMethodWebPushVapid>(
`${env.API_URL}/server_settings`,
{
skip_setup: true,
},
);
messagesDb satisfies PouchDB.Database as unknown as PouchDB.Database<ServiceSeqTrackerDocument>;
export const publicSettingsDb = new PouchDB<PublicSettingsDocument>(
`${env.API_URL}/public_settings`,
@@ -75,7 +68,6 @@ export const usersDb = new PouchDB<UserDocument>(`${env.API_URL}/_users`, {
const checkDatabases = async () => {
const databases = {
serverSettingsDb,
publicSettingsDb,
qrDb,
usersDb,
@@ -53,7 +53,7 @@ async function handleChange(msgDoc: MessageDocument, bot: Bot<MyContext>) {
console.log(`sending to ${telegramUsersDocs.length} telegram accounts`);
}
const hashTag = `#qr_${qrDoc.uri}_c${msgDoc.chat}`;
const hashTag = `#qr${qrDoc.uri}_c${msgDoc.chat}`;
const manageMessageUrl = `${env.APP_BASE_URL}/manage/qr/${qrDoc.uri}/chat/${msgDoc.chat}#message-${encodeURIComponent(msgDoc.created_at)}`;
// const manageMessageUrl = `tg://resolve?domain=${bot.botInfo.username}&start=message:${qrDoc.uri}:${msgDoc.created_at}`;
// const msgCaption = ` — ${link("сообщение", manageMessageUrl)} QR-кода «${qrDoc.name}»`;
+8
View File
@@ -2,3 +2,11 @@
export function getIsoDate(): string {
return new Date().toISOString();
}
export function secondsToISOString(seconds: number): string {
// Преобразуем секунды в миллисекунды
const milliseconds = seconds * 1000;
// Создаем объект Date и преобразуем в ISOString
return new Date(milliseconds).toISOString();
}