libre-webui 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +7 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js +107 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js.map +1 -0
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.js +162 -0
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresSecurityRepositories.js +150 -0
- package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -1
- package/backend/dist/persistence/resourceTypes.d.ts +59 -0
- package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
- package/backend/dist/persistence/resourceTypes.js.map +1 -1
- package/backend/dist/persistence/securityTypes.d.ts +59 -0
- package/backend/dist/persistence/securityTypes.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.d.ts +1 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.js +194 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js +134 -0
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteSecurityRepositories.js +134 -0
- package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.js +45 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobContracts.d.ts +2 -0
- package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobContracts.js +2 -0
- package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.js +65 -2
- package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +419 -1
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/documents.d.ts.map +1 -1
- package/backend/dist/routes/documents.js +4 -0
- package/backend/dist/routes/documents.js.map +1 -1
- package/backend/dist/routes/push.d.ts +3 -0
- package/backend/dist/routes/push.d.ts.map +1 -0
- package/backend/dist/routes/push.js +105 -0
- package/backend/dist/routes/push.js.map +1 -0
- package/backend/dist/routes/recovery.d.ts +3 -0
- package/backend/dist/routes/recovery.d.ts.map +1 -0
- package/backend/dist/routes/recovery.js +83 -0
- package/backend/dist/routes/recovery.js.map +1 -0
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +35 -0
- package/backend/dist/routes/users.js.map +1 -1
- package/backend/dist/services/authService.d.ts +6 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +9 -0
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/automationSchedulerService.d.ts.map +1 -1
- package/backend/dist/services/automationSchedulerService.js +7 -0
- package/backend/dist/services/automationSchedulerService.js.map +1 -1
- package/backend/dist/services/dataArchiveService.d.ts.map +1 -1
- package/backend/dist/services/dataArchiveService.js +3 -0
- package/backend/dist/services/dataArchiveService.js.map +1 -1
- package/backend/dist/services/documentMediaExtractionService.d.ts +40 -0
- package/backend/dist/services/documentMediaExtractionService.d.ts.map +1 -0
- package/backend/dist/services/documentMediaExtractionService.js +157 -0
- package/backend/dist/services/documentMediaExtractionService.js.map +1 -0
- package/backend/dist/services/documentService.d.ts +6 -0
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +58 -4
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/encryptionService.d.ts +6 -0
- package/backend/dist/services/encryptionService.d.ts.map +1 -1
- package/backend/dist/services/encryptionService.js +12 -0
- package/backend/dist/services/encryptionService.js.map +1 -1
- package/backend/dist/services/mfaService.d.ts +64 -0
- package/backend/dist/services/mfaService.d.ts.map +1 -0
- package/backend/dist/services/mfaService.js +263 -0
- package/backend/dist/services/mfaService.js.map +1 -0
- package/backend/dist/services/notificationService.d.ts +5 -0
- package/backend/dist/services/notificationService.d.ts.map +1 -1
- package/backend/dist/services/notificationService.js +33 -1
- package/backend/dist/services/notificationService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts +1 -1
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +1 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/recoveryDrillService.d.ts +57 -0
- package/backend/dist/services/recoveryDrillService.d.ts.map +1 -0
- package/backend/dist/services/recoveryDrillService.js +363 -0
- package/backend/dist/services/recoveryDrillService.js.map +1 -0
- package/backend/dist/services/webPushService.d.ts +71 -0
- package/backend/dist/services/webPushService.d.ts.map +1 -0
- package/backend/dist/services/webPushService.js +328 -0
- package/backend/dist/services/webPushService.js.map +1 -0
- package/backend/dist/services/webauthnService.d.ts +58 -0
- package/backend/dist/services/webauthnService.d.ts.map +1 -0
- package/backend/dist/services/webauthnService.js +300 -0
- package/backend/dist/services/webauthnService.js.map +1 -0
- package/backend/dist/types/index.d.ts +3 -2
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/documentExtraction.d.ts +31 -3
- package/backend/dist/utils/documentExtraction.d.ts.map +1 -1
- package/backend/dist/utils/documentExtraction.js +106 -0
- package/backend/dist/utils/documentExtraction.js.map +1 -1
- package/backend/dist/utils/toolEgress.d.ts +2 -1
- package/backend/dist/utils/toolEgress.d.ts.map +1 -1
- package/backend/dist/utils/toolEgress.js +14 -2
- package/backend/dist/utils/toolEgress.js.map +1 -1
- package/backend/dist/utils/totp.d.ts +19 -0
- package/backend/dist/utils/totp.d.ts.map +1 -0
- package/backend/dist/utils/totp.js +117 -0
- package/backend/dist/utils/totp.js.map +1 -0
- package/backend/dist/utils/webauthn.d.ts +43 -0
- package/backend/dist/utils/webauthn.d.ts.map +1 -0
- package/backend/dist/utils/webauthn.js +294 -0
- package/backend/dist/utils/webauthn.js.map +1 -0
- package/backend/package.json +1 -1
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-DBAf_VaS.js +47 -0
- package/frontend/dist/assets/index-kn_Axjts.css +1 -0
- package/frontend/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/frontend/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/frontend/dist/fonts/jetbrains-mono.css +24 -0
- package/frontend/dist/index.html +20 -13
- package/frontend/dist/js/ArtifactContainer-C9zNtCay.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-D0JEIAbZ.js → ArtifactDemoPage-C-EBFBCt.js} +1 -1
- package/frontend/dist/js/ArtifactSandboxFrame-CTA1j_d1.js +111 -0
- package/frontend/dist/js/ArtifactSlideOutPanel-BOENbOiv.js +1 -0
- package/frontend/dist/js/AutomationsPage-C58MQ4te.js +1 -0
- package/frontend/dist/js/CalendarPage-BcdAZ292.js +1 -0
- package/frontend/dist/js/ChannelsPage-DPr9Yajs.js +1 -0
- package/frontend/dist/js/ChatPage-DsbB748s.js +14 -0
- package/frontend/dist/js/{EvaluationsPage-Bm8FRoeX.js → EvaluationsPage-FWIJu2fI.js} +1 -1
- package/frontend/dist/js/FirstTimeSetup-Cy-w6xko.js +1 -0
- package/frontend/dist/js/GalleryPage-DDAtxM-x.js +1 -0
- package/frontend/dist/js/{HomePage-BqNy-FWX.js → HomePage-DLKwmE7n.js} +1 -1
- package/frontend/dist/js/LibreClawPage-vKOj-9w9.js +1 -0
- package/frontend/dist/js/{ModelManagerModals-DX9eT5r2.js → ModelManagerModals-BY5TK38_.js} +1 -1
- package/frontend/dist/js/ModelSelector-CoCS6MZ9.js +1 -0
- package/frontend/dist/js/NotesPage-BElIpXgA.js +3 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-xgyE3dRA.js +1 -0
- package/frontend/dist/js/PersonasPage-P40jVbfU.js +13 -0
- package/frontend/dist/js/{PluginUsagePage-Ctoka6JZ.js → PluginUsagePage-CKUEPCJN.js} +1 -1
- package/frontend/dist/js/RichMessageContent-Bm2WaEGi.js +3 -0
- package/frontend/dist/js/SettingsModal-DxSGzx9A.js +19 -0
- package/frontend/dist/js/SystemPage-BT07dTMT.js +1 -0
- package/frontend/dist/js/UserManagementPage-B9Vz5cm3.js +1 -0
- package/frontend/dist/js/WorkPage-qoN_e_jK.js +6 -0
- package/frontend/dist/js/api-D7Ff5M2Q.js +14 -0
- package/frontend/dist/js/appStore-DmV5wqDz.js +2 -0
- package/frontend/dist/js/ar-YHHTVP8f.js +2 -0
- package/frontend/dist/js/artifactHtml-DDmfpcB0.js +41 -0
- package/frontend/dist/js/{authStore-DbqqrfZv.js → authStore-BYW8-kP6.js} +3 -3
- package/frontend/dist/js/bn-C8VTxBVl.js +2 -0
- package/frontend/dist/js/chatStore-D-NTlArO.js +3 -0
- package/frontend/dist/js/{config-8KdgjtEx.js → config-BqZ5304Q.js} +1 -1
- package/frontend/dist/js/cs-CCngB5fC.js +2 -0
- package/frontend/dist/js/da-CM2PP2ma.js +2 -0
- package/frontend/dist/js/de-BqVkD-dw.js +2 -0
- package/frontend/dist/js/es-BtWsWBjZ.js +2 -0
- package/frontend/dist/js/{estree-BU5-LV_1.js → estree-DPkpBuOU.js} +1 -1
- package/frontend/dist/js/{evaluationsApi-CwZJsgeG.js → evaluationsApi-Dnf2dTd-.js} +1 -1
- package/frontend/dist/js/fr-C68w9abT.js +2 -0
- package/frontend/dist/js/hi-DtBlcyXZ.js +2 -0
- package/frontend/dist/js/{html-DeoAy2bo.js → html-BpGUXG8E.js} +1 -1
- package/frontend/dist/js/id-BWzIu8tn.js +2 -0
- package/frontend/dist/js/is-yeFwu4dJ.js +2 -0
- package/frontend/dist/js/it-AxEMG8Jg.js +2 -0
- package/frontend/dist/js/ja-B-VyokB8.js +2 -0
- package/frontend/dist/js/ko-CvwzYr9k.js +2 -0
- package/frontend/dist/js/{markdown-DOLsYkBY.js → markdown-DCBRWJSK.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-DhVgizF-.js → messageCodeStyles-BQwf7sSz.js} +2 -2
- package/frontend/dist/js/ms-BhEwb4b7.js +2 -0
- package/frontend/dist/js/nl-Dq-QRx1L.js +2 -0
- package/frontend/dist/js/pl-BNEy8mQm.js +2 -0
- package/frontend/dist/js/pt-_3Jl3FdY.js +2 -0
- package/frontend/dist/js/ru-IhQiJ8ta.js +2 -0
- package/frontend/dist/js/{standalone-BO5pzI8_.js → standalone-BFrK0R2A.js} +1 -1
- package/frontend/dist/js/sv-DWunXUNz.js +2 -0
- package/frontend/dist/js/{syntax-highlight-DcR9Vhb7.js → syntax-highlight-P2zo9o06.js} +1 -1
- package/frontend/dist/js/th-DVnW2yyh.js +2 -0
- package/frontend/dist/js/tr-Do8CFmhR.js +2 -0
- package/frontend/dist/js/{typescript-6GJ8APmn.js → typescript-DYVyvmm_.js} +1 -1
- package/frontend/dist/js/ui-db9meqAB.js +2 -0
- package/frontend/dist/js/ui-vendor-C0DZ8-Cm.js +177 -0
- package/frontend/dist/js/uk-BNPKIZga.js +2 -0
- package/frontend/dist/js/vi-CZMFo9je.js +2 -0
- package/frontend/dist/js/{workApi-BruWTlHM.js → workApi-CcprMH_1.js} +2 -2
- package/frontend/dist/js/zh-Pg0881v0.js +2 -0
- package/frontend/dist/manifest.webmanifest +32 -0
- package/frontend/dist/sw.js +125 -0
- package/package.json +2 -2
- package/frontend/dist/assets/index-BPsH9FII.js +0 -80
- package/frontend/dist/assets/index-BtXF0Oxa.css +0 -1
- package/frontend/dist/js/ArtifactContainer-CIoFoMv8.js +0 -1
- package/frontend/dist/js/ArtifactSandboxFrame-REazyIrx.js +0 -151
- package/frontend/dist/js/ArtifactSlideOutPanel-A-i94ghF.js +0 -1
- package/frontend/dist/js/AutomationsPage-Dow_lbIf.js +0 -1
- package/frontend/dist/js/CalendarPage-DLjasZOd.js +0 -1
- package/frontend/dist/js/ChannelsPage-C8hvTD7J.js +0 -1
- package/frontend/dist/js/ChatPage-BAgBHUES.js +0 -16
- package/frontend/dist/js/FirstTimeSetup-BxJapNul.js +0 -1
- package/frontend/dist/js/GalleryPage-DHz9DkK7.js +0 -1
- package/frontend/dist/js/LibreClawPage-BDzDILjY.js +0 -1
- package/frontend/dist/js/ModelSelector-ol8mK2ja.js +0 -1
- package/frontend/dist/js/NotesPage-DzHEx2O4.js +0 -3
- package/frontend/dist/js/OptimizedSyntaxHighlighter-CZNPwN0i.js +0 -1
- package/frontend/dist/js/PersonasPage-M_WKH2a9.js +0 -13
- package/frontend/dist/js/RichMessageContent-BqgafH4p.js +0 -3
- package/frontend/dist/js/SettingsModal-R9EDadAV.js +0 -19
- package/frontend/dist/js/SystemPage-aOkrSuY7.js +0 -1
- package/frontend/dist/js/UserManagementPage-BOuaX3ay.js +0 -1
- package/frontend/dist/js/WorkPage-DxZISerQ.js +0 -6
- package/frontend/dist/js/api-6bSMtSNh.js +0 -14
- package/frontend/dist/js/appStore-CdObhQBb.js +0 -2
- package/frontend/dist/js/ar-DT_VLBO3.js +0 -2
- package/frontend/dist/js/bn-BrvEqhGA.js +0 -2
- package/frontend/dist/js/chatStore-DbZPJNsu.js +0 -3
- package/frontend/dist/js/cs-BthnM_YI.js +0 -2
- package/frontend/dist/js/da-DCth-6_j.js +0 -2
- package/frontend/dist/js/de-BBWt0gJ_.js +0 -2
- package/frontend/dist/js/es-DuslOPqM.js +0 -2
- package/frontend/dist/js/fr-DZAeg46S.js +0 -2
- package/frontend/dist/js/hi-ijDSiY77.js +0 -2
- package/frontend/dist/js/id-BS6qS0oq.js +0 -2
- package/frontend/dist/js/is-CO2PMDte.js +0 -2
- package/frontend/dist/js/it-ChhxT4hs.js +0 -2
- package/frontend/dist/js/ja-cyeqUeJN.js +0 -2
- package/frontend/dist/js/ko-CfqHTLXj.js +0 -2
- package/frontend/dist/js/ms-DZ5pACe1.js +0 -2
- package/frontend/dist/js/nl-BsRsnOVp.js +0 -2
- package/frontend/dist/js/pl-DXSTAW4M.js +0 -2
- package/frontend/dist/js/pt-DmDx0JxB.js +0 -2
- package/frontend/dist/js/ru-d2g8EWfY.js +0 -2
- package/frontend/dist/js/sv-CIhYUTVQ.js +0 -2
- package/frontend/dist/js/th-B3wSxanB.js +0 -2
- package/frontend/dist/js/tr-R4UGgPOY.js +0 -2
- package/frontend/dist/js/ui-CV0LYmkM.js +0 -2
- package/frontend/dist/js/ui-vendor-CWjIBW-z.js +0 -177
- package/frontend/dist/js/uk-BzUF4Vkt.js +0 -2
- package/frontend/dist/js/vi-CKc6Fg4h.js +0 -2
- package/frontend/dist/js/zh-CXL-kDe8.js +0 -2
|
@@ -1033,6 +1033,138 @@ class SQLiteWebhookTargetRepository {
|
|
|
1033
1033
|
.run(targetId).changes > 0);
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
|
+
class SQLitePushSubscriptionRepository {
|
|
1037
|
+
constructor(database) {
|
|
1038
|
+
this.database = database;
|
|
1039
|
+
}
|
|
1040
|
+
async upsertByEndpoint(record) {
|
|
1041
|
+
this.database
|
|
1042
|
+
.prepare(`INSERT INTO push_subscriptions
|
|
1043
|
+
(id, user_id, session_id, endpoint_lookup, subscription,
|
|
1044
|
+
user_agent, created_at, last_used_at)
|
|
1045
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
1046
|
+
ON CONFLICT(endpoint_lookup) DO UPDATE SET
|
|
1047
|
+
user_id = excluded.user_id,
|
|
1048
|
+
session_id = excluded.session_id,
|
|
1049
|
+
subscription = excluded.subscription,
|
|
1050
|
+
user_agent = excluded.user_agent,
|
|
1051
|
+
last_used_at = excluded.last_used_at`)
|
|
1052
|
+
.run(record.id, record.user_id, record.session_id, record.endpoint_lookup, record.subscription, record.user_agent, record.created_at, record.last_used_at);
|
|
1053
|
+
}
|
|
1054
|
+
async listByUser(userId) {
|
|
1055
|
+
return this.database
|
|
1056
|
+
.prepare(`SELECT * FROM push_subscriptions
|
|
1057
|
+
WHERE user_id = ?
|
|
1058
|
+
ORDER BY created_at ASC`)
|
|
1059
|
+
.all(userId);
|
|
1060
|
+
}
|
|
1061
|
+
async findByLookup(endpointLookup) {
|
|
1062
|
+
return (this.database
|
|
1063
|
+
.prepare('SELECT * FROM push_subscriptions WHERE endpoint_lookup = ?')
|
|
1064
|
+
.get(endpointLookup) ??
|
|
1065
|
+
null);
|
|
1066
|
+
}
|
|
1067
|
+
async findById(id) {
|
|
1068
|
+
return (this.database
|
|
1069
|
+
.prepare('SELECT * FROM push_subscriptions WHERE id = ?')
|
|
1070
|
+
.get(id) ?? null);
|
|
1071
|
+
}
|
|
1072
|
+
async touch(id, lastUsedAt) {
|
|
1073
|
+
return (this.database
|
|
1074
|
+
.prepare('UPDATE push_subscriptions SET last_used_at = ? WHERE id = ?')
|
|
1075
|
+
.run(lastUsedAt, id).changes > 0);
|
|
1076
|
+
}
|
|
1077
|
+
async delete(id) {
|
|
1078
|
+
return (this.database
|
|
1079
|
+
.prepare('DELETE FROM push_subscriptions WHERE id = ?')
|
|
1080
|
+
.run(id).changes > 0);
|
|
1081
|
+
}
|
|
1082
|
+
async deleteByLookup(userId, endpointLookup) {
|
|
1083
|
+
return (this.database
|
|
1084
|
+
.prepare(`DELETE FROM push_subscriptions
|
|
1085
|
+
WHERE user_id = ? AND endpoint_lookup = ?`)
|
|
1086
|
+
.run(userId, endpointLookup).changes > 0);
|
|
1087
|
+
}
|
|
1088
|
+
async deleteForSession(sessionId) {
|
|
1089
|
+
return this.database
|
|
1090
|
+
.prepare('DELETE FROM push_subscriptions WHERE session_id = ?')
|
|
1091
|
+
.run(sessionId).changes;
|
|
1092
|
+
}
|
|
1093
|
+
async deleteForUser(userId) {
|
|
1094
|
+
return this.database
|
|
1095
|
+
.prepare('DELETE FROM push_subscriptions WHERE user_id = ?')
|
|
1096
|
+
.run(userId).changes;
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
class SQLiteRecoveryDrillRepository {
|
|
1100
|
+
constructor(database) {
|
|
1101
|
+
this.database = database;
|
|
1102
|
+
}
|
|
1103
|
+
async insert(record) {
|
|
1104
|
+
this.database
|
|
1105
|
+
.prepare(`INSERT INTO recovery_drills
|
|
1106
|
+
(id, status, origin, started_at, finished_at, snapshot_bytes,
|
|
1107
|
+
rpo_seconds, restore_ms, error, report, created_by, created_at)
|
|
1108
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
1109
|
+
.run(record.id, record.status, record.origin, record.started_at, record.finished_at, record.snapshot_bytes, record.rpo_seconds, record.restore_ms, record.error, record.report, record.created_by, record.created_at);
|
|
1110
|
+
}
|
|
1111
|
+
async update(id, patch) {
|
|
1112
|
+
const assignments = [];
|
|
1113
|
+
const parameters = [];
|
|
1114
|
+
for (const [column, value] of Object.entries(patch)) {
|
|
1115
|
+
if (value === undefined)
|
|
1116
|
+
continue;
|
|
1117
|
+
assignments.push(`${column} = ?`);
|
|
1118
|
+
parameters.push(value);
|
|
1119
|
+
}
|
|
1120
|
+
if (assignments.length === 0)
|
|
1121
|
+
return false;
|
|
1122
|
+
parameters.push(id);
|
|
1123
|
+
return (this.database
|
|
1124
|
+
.prepare(`UPDATE recovery_drills SET ${assignments.join(', ')} WHERE id = ?`)
|
|
1125
|
+
.run(...parameters).changes > 0);
|
|
1126
|
+
}
|
|
1127
|
+
async findById(id) {
|
|
1128
|
+
return (this.database
|
|
1129
|
+
.prepare('SELECT * FROM recovery_drills WHERE id = ?')
|
|
1130
|
+
.get(id) ?? null);
|
|
1131
|
+
}
|
|
1132
|
+
async list(limit) {
|
|
1133
|
+
return this.database
|
|
1134
|
+
.prepare(`SELECT * FROM recovery_drills
|
|
1135
|
+
ORDER BY started_at DESC, id DESC
|
|
1136
|
+
LIMIT ?`)
|
|
1137
|
+
.all(limit);
|
|
1138
|
+
}
|
|
1139
|
+
async findLatestFinished() {
|
|
1140
|
+
return (this.database
|
|
1141
|
+
.prepare(`SELECT * FROM recovery_drills
|
|
1142
|
+
WHERE status != 'running'
|
|
1143
|
+
ORDER BY started_at DESC, id DESC
|
|
1144
|
+
LIMIT 1`)
|
|
1145
|
+
.get() ?? null);
|
|
1146
|
+
}
|
|
1147
|
+
async findRunning() {
|
|
1148
|
+
return (this.database
|
|
1149
|
+
.prepare(`SELECT * FROM recovery_drills
|
|
1150
|
+
WHERE status = 'running'
|
|
1151
|
+
ORDER BY started_at DESC, id DESC
|
|
1152
|
+
LIMIT 1`)
|
|
1153
|
+
.get() ?? null);
|
|
1154
|
+
}
|
|
1155
|
+
async pruneToLimit(limit) {
|
|
1156
|
+
return this.database
|
|
1157
|
+
.prepare(`DELETE FROM recovery_drills
|
|
1158
|
+
WHERE status != 'running'
|
|
1159
|
+
AND id NOT IN (
|
|
1160
|
+
SELECT id FROM recovery_drills
|
|
1161
|
+
WHERE status != 'running'
|
|
1162
|
+
ORDER BY started_at DESC, id DESC
|
|
1163
|
+
LIMIT ?
|
|
1164
|
+
)`)
|
|
1165
|
+
.run(limit).changes;
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1036
1168
|
class SQLiteAutomationRepository {
|
|
1037
1169
|
constructor(database) {
|
|
1038
1170
|
this.database = database;
|
|
@@ -2262,6 +2394,8 @@ export const createSQLiteResourceRepositories = (database) => ({
|
|
|
2262
2394
|
channelMessages: new SQLiteChannelMessageRepository(database),
|
|
2263
2395
|
notifications: new SQLiteNotificationRepository(database),
|
|
2264
2396
|
webhookTargets: new SQLiteWebhookTargetRepository(database),
|
|
2397
|
+
pushSubscriptions: new SQLitePushSubscriptionRepository(database),
|
|
2398
|
+
recoveryDrills: new SQLiteRecoveryDrillRepository(database),
|
|
2265
2399
|
automations: new SQLiteAutomationRepository(database),
|
|
2266
2400
|
automationRuns: new SQLiteAutomationRunRepository(database),
|
|
2267
2401
|
toolServers: new SQLiteToolServerRepository(database),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteResourceRepositories.js","sourceRoot":"","sources":["../../src/persistence/sqliteResourceRepositories.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqliteResourceRepositories.js","sourceRoot":"","sources":["../../src/persistence/sqliteResourceRepositories.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteSecurityRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/sqliteSecurityRepositories.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sqliteSecurityRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/sqliteSecurityRepositories.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAYV,oBAAoB,EACpB,wBAAwB,EAazB,MAAM,oBAAoB,CAAC;AA08B5B,eAAO,MAAM,gCAAgC,aACjC,QAAQ,CAAC,QAAQ,KAC1B,oBASD,CAAC;AAEH,eAAO,MAAM,oCAAoC,aACrC,uBAAuB,KAChC,wBAID,CAAC"}
|
|
@@ -481,6 +481,138 @@ class SQLiteSecurityAuditSyncRepository {
|
|
|
481
481
|
]);
|
|
482
482
|
}
|
|
483
483
|
}
|
|
484
|
+
class SQLiteMfaRepository {
|
|
485
|
+
constructor(database) {
|
|
486
|
+
this.database = database;
|
|
487
|
+
}
|
|
488
|
+
async find(userId) {
|
|
489
|
+
return (this.database
|
|
490
|
+
.prepare('SELECT * FROM user_mfa WHERE user_id = ?')
|
|
491
|
+
.get(userId) ?? null);
|
|
492
|
+
}
|
|
493
|
+
async upsert(record) {
|
|
494
|
+
this.database
|
|
495
|
+
.prepare(`INSERT INTO user_mfa
|
|
496
|
+
(user_id, totp_secret, activated_at, last_used_step,
|
|
497
|
+
created_at, updated_at)
|
|
498
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
499
|
+
ON CONFLICT(user_id) DO UPDATE SET
|
|
500
|
+
totp_secret = excluded.totp_secret,
|
|
501
|
+
activated_at = excluded.activated_at,
|
|
502
|
+
last_used_step = excluded.last_used_step,
|
|
503
|
+
updated_at = excluded.updated_at`)
|
|
504
|
+
.run(record.user_id, record.totp_secret, record.activated_at, record.last_used_step, record.created_at, record.updated_at);
|
|
505
|
+
}
|
|
506
|
+
async activate(userId, activatedAt, updatedAt) {
|
|
507
|
+
return (this.database
|
|
508
|
+
.prepare(`UPDATE user_mfa SET activated_at = ?, updated_at = ?
|
|
509
|
+
WHERE user_id = ? AND activated_at IS NULL`)
|
|
510
|
+
.run(activatedAt, updatedAt, userId).changes > 0);
|
|
511
|
+
}
|
|
512
|
+
async markStepUsed(userId, step, updatedAt) {
|
|
513
|
+
return (this.database
|
|
514
|
+
.prepare(`UPDATE user_mfa SET last_used_step = ?, updated_at = ?
|
|
515
|
+
WHERE user_id = ?
|
|
516
|
+
AND (last_used_step IS NULL OR last_used_step < ?)`)
|
|
517
|
+
.run(step, updatedAt, userId, step).changes > 0);
|
|
518
|
+
}
|
|
519
|
+
async delete(userId) {
|
|
520
|
+
const remove = this.database.transaction(() => {
|
|
521
|
+
this.database
|
|
522
|
+
.prepare('DELETE FROM mfa_recovery_codes WHERE user_id = ?')
|
|
523
|
+
.run(userId);
|
|
524
|
+
return (this.database
|
|
525
|
+
.prepare('DELETE FROM user_mfa WHERE user_id = ?')
|
|
526
|
+
.run(userId).changes > 0);
|
|
527
|
+
});
|
|
528
|
+
return remove.immediate();
|
|
529
|
+
}
|
|
530
|
+
async replaceRecoveryCodes(userId, records) {
|
|
531
|
+
const replace = this.database.transaction(() => {
|
|
532
|
+
this.database
|
|
533
|
+
.prepare('DELETE FROM mfa_recovery_codes WHERE user_id = ?')
|
|
534
|
+
.run(userId);
|
|
535
|
+
const insert = this.database.prepare(`INSERT INTO mfa_recovery_codes
|
|
536
|
+
(id, user_id, code_lookup, created_at, used_at)
|
|
537
|
+
VALUES (?, ?, ?, ?, ?)`);
|
|
538
|
+
for (const record of records) {
|
|
539
|
+
insert.run(record.id, record.user_id, record.code_lookup, record.created_at, record.used_at);
|
|
540
|
+
}
|
|
541
|
+
});
|
|
542
|
+
replace.immediate();
|
|
543
|
+
}
|
|
544
|
+
async findRecoveryCode(codeLookup) {
|
|
545
|
+
return (this.database
|
|
546
|
+
.prepare('SELECT * FROM mfa_recovery_codes WHERE code_lookup = ?')
|
|
547
|
+
.get(codeLookup) ?? null);
|
|
548
|
+
}
|
|
549
|
+
async consumeRecoveryCode(id, usedAt) {
|
|
550
|
+
return (this.database
|
|
551
|
+
.prepare(`UPDATE mfa_recovery_codes SET used_at = ?
|
|
552
|
+
WHERE id = ? AND used_at IS NULL`)
|
|
553
|
+
.run(usedAt, id).changes > 0);
|
|
554
|
+
}
|
|
555
|
+
async countUnusedRecoveryCodes(userId) {
|
|
556
|
+
const row = this.database
|
|
557
|
+
.prepare(`SELECT COUNT(*) AS count FROM mfa_recovery_codes
|
|
558
|
+
WHERE user_id = ? AND used_at IS NULL`)
|
|
559
|
+
.get(userId);
|
|
560
|
+
return row.count;
|
|
561
|
+
}
|
|
562
|
+
async deleteRecoveryCodes(userId) {
|
|
563
|
+
return this.database
|
|
564
|
+
.prepare('DELETE FROM mfa_recovery_codes WHERE user_id = ?')
|
|
565
|
+
.run(userId).changes;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
class SQLiteWebAuthnCredentialRepository {
|
|
569
|
+
constructor(database) {
|
|
570
|
+
this.database = database;
|
|
571
|
+
}
|
|
572
|
+
async insert(record) {
|
|
573
|
+
this.database
|
|
574
|
+
.prepare(`INSERT INTO webauthn_credentials
|
|
575
|
+
(id, user_id, credential_lookup, credential_data, name,
|
|
576
|
+
sign_count, created_at, last_used_at)
|
|
577
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
578
|
+
.run(record.id, record.user_id, record.credential_lookup, record.credential_data, record.name, record.sign_count, record.created_at, record.last_used_at);
|
|
579
|
+
}
|
|
580
|
+
async findByLookup(credentialLookup) {
|
|
581
|
+
return (this.database
|
|
582
|
+
.prepare('SELECT * FROM webauthn_credentials WHERE credential_lookup = ?')
|
|
583
|
+
.get(credentialLookup) ??
|
|
584
|
+
null);
|
|
585
|
+
}
|
|
586
|
+
async listByUser(userId) {
|
|
587
|
+
return this.database
|
|
588
|
+
.prepare(`SELECT * FROM webauthn_credentials
|
|
589
|
+
WHERE user_id = ?
|
|
590
|
+
ORDER BY created_at ASC`)
|
|
591
|
+
.all(userId);
|
|
592
|
+
}
|
|
593
|
+
async updateSignCount(id, signCount, lastUsedAt) {
|
|
594
|
+
return (this.database
|
|
595
|
+
.prepare(`UPDATE webauthn_credentials SET sign_count = ?, last_used_at = ?
|
|
596
|
+
WHERE id = ?`)
|
|
597
|
+
.run(signCount, lastUsedAt, id).changes > 0);
|
|
598
|
+
}
|
|
599
|
+
async delete(id, userId) {
|
|
600
|
+
return (this.database
|
|
601
|
+
.prepare('DELETE FROM webauthn_credentials WHERE id = ? AND user_id = ?')
|
|
602
|
+
.run(id, userId).changes > 0);
|
|
603
|
+
}
|
|
604
|
+
async deleteForUser(userId) {
|
|
605
|
+
return this.database
|
|
606
|
+
.prepare('DELETE FROM webauthn_credentials WHERE user_id = ?')
|
|
607
|
+
.run(userId).changes;
|
|
608
|
+
}
|
|
609
|
+
async countForUser(userId) {
|
|
610
|
+
const row = this.database
|
|
611
|
+
.prepare('SELECT COUNT(*) AS count FROM webauthn_credentials WHERE user_id = ?')
|
|
612
|
+
.get(userId);
|
|
613
|
+
return row.count;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
484
616
|
export const createSQLiteSecurityRepositories = (database) => ({
|
|
485
617
|
groups: new SQLiteGroupRepository(database),
|
|
486
618
|
grants: new SQLiteResourceGrantRepository(database),
|
|
@@ -488,6 +620,8 @@ export const createSQLiteSecurityRepositories = (database) => ({
|
|
|
488
620
|
apiTokens: new SQLiteApiTokenRepository(database),
|
|
489
621
|
oauthIdentities: new SQLiteOAuthIdentityRepository(database),
|
|
490
622
|
audit: new SQLiteSecurityAuditRepository(database),
|
|
623
|
+
mfa: new SQLiteMfaRepository(database),
|
|
624
|
+
webauthnCredentials: new SQLiteWebAuthnCredentialRepository(database),
|
|
491
625
|
});
|
|
492
626
|
export const createSQLiteSecuritySyncRepositories = (executor) => ({
|
|
493
627
|
groups: new SQLiteGroupSyncRepository(executor),
|