diff --git a/package.json b/package.json index 097fa246..edc84f4a 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,9 @@ "version": "0.2.5", "scripts": { "dev": "next dev -p 1420", - "build": "pnpm init-db && next build", + "build": "next build", "tauri": "tauri", - "init-db": "cd src-tauri/ && cargo prisma generate", + "add-migrate": "cd src-tauri/ && sqlx migrate add", "prepare": "husky install" }, "lint-staged": { @@ -40,6 +40,7 @@ "react-player": "^2.12.0", "react-string-replace": "^1.1.0", "react-virtuoso": "^4.2.1", + "tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql", "unique-names-generator": "^4.7.1", "ws": "^8.13.0" }, @@ -48,10 +49,10 @@ "@tauri-apps/cli": "^1.2.3", "@trivago/prettier-plugin-sort-imports": "^4.1.1", "@types/node": "^18.15.11", - "@types/react": "^18.0.35", + "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", - "@typescript-eslint/eslint-plugin": "^5.58.0", - "@typescript-eslint/parser": "^5.58.0", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", "autoprefixer": "^10.4.14", "csstype": "^3.1.2", "encoding": "^0.1.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d305c253..c9a2d77d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,10 +17,10 @@ specifiers: '@tauri-apps/cli': ^1.2.3 '@trivago/prettier-plugin-sort-imports': ^4.1.1 '@types/node': ^18.15.11 - '@types/react': ^18.0.35 + '@types/react': ^18.0.37 '@types/react-dom': ^18.0.11 - '@typescript-eslint/eslint-plugin': ^5.58.0 - '@typescript-eslint/parser': ^5.58.0 + '@typescript-eslint/eslint-plugin': ^5.59.0 + '@typescript-eslint/parser': ^5.59.0 autoprefixer: ^10.4.14 csstype: ^3.1.2 dayjs: ^1.11.7 @@ -51,6 +51,7 @@ specifiers: react-string-replace: ^1.1.0 react-virtuoso: ^4.2.1 tailwindcss: ^3.3.1 + tauri-plugin-sql-api: github:tauri-apps/tauri-plugin-sql typescript: ^4.9.5 unique-names-generator: ^4.7.1 ws: ^8.13.0 @@ -58,13 +59,13 @@ specifiers: dependencies: '@emoji-mart/data': 1.1.2 '@emoji-mart/react': 1.1.1_kyrnz3vmphzqyjjk2ivrm6bcsu - '@radix-ui/react-alert-dialog': 1.0.3_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-alert-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-collapsible': 1.0.2_biqbaboplfbrettd7655fr4n2y - '@radix-ui/react-dialog': 1.0.3_7geocmx3442bocz6x6zwg5lxxi - '@radix-ui/react-dropdown-menu': 2.0.4_7geocmx3442bocz6x6zwg5lxxi - '@radix-ui/react-popover': 1.0.5_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou + '@radix-ui/react-dropdown-menu': 2.0.4_jf7puk66b2eiqxne3oe3xlxkou + '@radix-ui/react-popover': 1.0.5_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-tabs': 1.0.3_biqbaboplfbrettd7655fr4n2y - '@radix-ui/react-tooltip': 1.0.5_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-tooltip': 1.0.5_jf7puk66b2eiqxne3oe3xlxkou '@rehooks/local-storage': 2.4.4_react@18.2.0 '@supabase/supabase-js': 2.20.0_encoding@0.1.13 '@tauri-apps/api': 1.2.0 @@ -83,6 +84,7 @@ dependencies: react-player: 2.12.0_react@18.2.0 react-string-replace: 1.1.0 react-virtuoso: 4.2.1_biqbaboplfbrettd7655fr4n2y + tauri-plugin-sql-api: github.com/tauri-apps/tauri-plugin-sql/1638a2520ece4570b26c16e344597b295ac77bed unique-names-generator: 4.7.1 ws: 8.13.0 @@ -91,10 +93,10 @@ devDependencies: '@tauri-apps/cli': 1.2.3 '@trivago/prettier-plugin-sort-imports': 4.1.1_prettier@2.8.7 '@types/node': 18.15.11 - '@types/react': 18.0.35 + '@types/react': 18.0.37 '@types/react-dom': 18.0.11 - '@typescript-eslint/eslint-plugin': 5.58.0_hzv37tkb63et4viajosjuuyxgi - '@typescript-eslint/parser': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/eslint-plugin': 5.59.0_fdxyi3g57a6lyb5rx36h2olw2q + '@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe autoprefixer: 10.4.14_postcss@8.4.22 csstype: 3.1.2 encoding: 0.1.13 @@ -332,7 +334,7 @@ packages: '@floating-ui/core': 0.7.3 dev: false - /@floating-ui/react-dom/0.7.2_7geocmx3442bocz6x6zwg5lxxi: + /@floating-ui/react-dom/0.7.2_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg== } peerDependencies: @@ -342,7 +344,7 @@ packages: '@floating-ui/dom': 0.5.4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - use-isomorphic-layout-effect: 1.1.2_yuz6bkerhkjfjuf6zeb7j6ybc4 + use-isomorphic-layout-effect: 1.1.2_24ukasupqqblpyncii3ycicuiu transitivePeerDependencies: - '@types/react' dev: false @@ -575,7 +577,7 @@ packages: '@babel/runtime': 7.21.0 dev: false - /@radix-ui/react-alert-dialog/1.0.3_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-alert-dialog/1.0.3_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-QXFy7+bhGi0u+paF2QbJeSCHZs4gLMJIPm6sajUamyW0fro6g1CaSGc5zmc4QmK2NlSGUrq8m+UsUqJYtzvXow== } peerDependencies: @@ -586,7 +588,7 @@ packages: '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-context': 1.0.0_react@18.2.0 - '@radix-ui/react-dialog': 1.0.3_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-dialog': 1.0.3_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-primitive': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-slot': 1.0.1_react@18.2.0 react: 18.2.0 @@ -664,7 +666,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dialog/1.0.3_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-dialog/1.0.3_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A== } peerDependencies: @@ -687,7 +689,7 @@ packages: aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - react-remove-scroll: 2.5.5_yuz6bkerhkjfjuf6zeb7j6ybc4 + react-remove-scroll: 2.5.5_24ukasupqqblpyncii3ycicuiu transitivePeerDependencies: - '@types/react' dev: false @@ -719,7 +721,7 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /@radix-ui/react-dropdown-menu/2.0.4_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-dropdown-menu/2.0.4_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-y6AT9+MydyXcByivdK1+QpjWoKaC7MLjkS/cH1Q3keEyMvDkiY85m8o2Bi6+Z1PPUlCsMULopxagQOSfN0wahg== } peerDependencies: @@ -731,7 +733,7 @@ packages: '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-context': 1.0.0_react@18.2.0 '@radix-ui/react-id': 1.0.0_react@18.2.0 - '@radix-ui/react-menu': 2.0.4_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-menu': 2.0.4_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-primitive': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-use-controllable-state': 1.0.0_react@18.2.0 react: 18.2.0 @@ -776,7 +778,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-menu/2.0.4_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-menu/2.0.4_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-mzKR47tZ1t193trEqlQoJvzY4u9vYfVH16ryBrVrCAGZzkgyWnMQYEZdUkM7y8ak9mrkKtJiqB47TlEnubeOFQ== } peerDependencies: @@ -793,7 +795,7 @@ packages: '@radix-ui/react-focus-guards': 1.0.0_react@18.2.0 '@radix-ui/react-focus-scope': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-id': 1.0.0_react@18.2.0 - '@radix-ui/react-popper': 1.1.1_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-popper': 1.1.1_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-portal': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-presence': 1.0.0_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-primitive': 1.0.2_biqbaboplfbrettd7655fr4n2y @@ -803,12 +805,12 @@ packages: aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - react-remove-scroll: 2.5.5_yuz6bkerhkjfjuf6zeb7j6ybc4 + react-remove-scroll: 2.5.5_24ukasupqqblpyncii3ycicuiu transitivePeerDependencies: - '@types/react' dev: false - /@radix-ui/react-popover/1.0.5_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-popover/1.0.5_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-GRHZ8yD12MrN2NLobHPE8Rb5uHTxd9x372DE9PPNnBjpczAQHcZ5ne0KXG4xpf+RDdXSzdLv9ym6mYJCDTaUZg== } peerDependencies: @@ -823,7 +825,7 @@ packages: '@radix-ui/react-focus-guards': 1.0.0_react@18.2.0 '@radix-ui/react-focus-scope': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-id': 1.0.0_react@18.2.0 - '@radix-ui/react-popper': 1.1.1_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-popper': 1.1.1_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-portal': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-presence': 1.0.0_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-primitive': 1.0.2_biqbaboplfbrettd7655fr4n2y @@ -832,12 +834,12 @@ packages: aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - react-remove-scroll: 2.5.5_yuz6bkerhkjfjuf6zeb7j6ybc4 + react-remove-scroll: 2.5.5_24ukasupqqblpyncii3ycicuiu transitivePeerDependencies: - '@types/react' dev: false - /@radix-ui/react-popper/1.1.1_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-popper/1.1.1_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w== } peerDependencies: @@ -845,7 +847,7 @@ packages: react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: '@babel/runtime': 7.21.0 - '@floating-ui/react-dom': 0.7.2_7geocmx3442bocz6x6zwg5lxxi + '@floating-ui/react-dom': 0.7.2_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-arrow': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-context': 1.0.0_react@18.2.0 @@ -953,7 +955,7 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /@radix-ui/react-tooltip/1.0.5_7geocmx3442bocz6x6zwg5lxxi: + /@radix-ui/react-tooltip/1.0.5_jf7puk66b2eiqxne3oe3xlxkou: resolution: { integrity: sha512-cDKVcfzyO6PpckZekODJZDe5ZxZ2fCZlzKzTmPhe4mX9qTHRfLcKgqb0OKf22xLwDequ2tVleim+ZYx3rabD5w== } peerDependencies: @@ -966,7 +968,7 @@ packages: '@radix-ui/react-context': 1.0.0_react@18.2.0 '@radix-ui/react-dismissable-layer': 1.0.3_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-id': 1.0.0_react@18.2.0 - '@radix-ui/react-popper': 1.1.1_7geocmx3442bocz6x6zwg5lxxi + '@radix-ui/react-popper': 1.1.1_jf7puk66b2eiqxne3oe3xlxkou '@radix-ui/react-portal': 1.0.2_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-presence': 1.0.0_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-primitive': 1.0.2_biqbaboplfbrettd7655fr4n2y @@ -1108,9 +1110,9 @@ packages: - encoding dev: false - /@supabase/gotrue-js/2.22.1_encoding@0.1.13: + /@supabase/gotrue-js/2.22.3_encoding@0.1.13: resolution: - { integrity: sha512-hwM8dFzGqqU/xqv9coxIpujSU++bs2Vw6EiZZSeUdGZkeKQ07YXFlNG56aQKkwnpHRIQjHSgZ2bAoVX1n9Owbw== } + { integrity: sha512-GBu+YT7jaWgmmVRNPZnT2YmO7TjscjoBVMzMDnr2yPL6C2ImzRmOKIbHnGliDeI5EaEsPPljWoYR4xB+WJb98w== } dependencies: cross-fetch: 3.1.5_encoding@0.1.13 transitivePeerDependencies: @@ -1151,7 +1153,7 @@ packages: { integrity: sha512-6sNX4WEaVBbmOS1K2U3PcpAhp0FcjVo1FRSEoj4N+NZ6DIokX+yut8IBhF176pg5kFCdFIL2wyNhf3SltREmWw== } dependencies: '@supabase/functions-js': 2.1.1_encoding@0.1.13 - '@supabase/gotrue-js': 2.22.1_encoding@0.1.13 + '@supabase/gotrue-js': 2.22.3_encoding@0.1.13 '@supabase/postgrest-js': 1.5.0_encoding@0.1.13 '@supabase/realtime-js': 2.7.2 '@supabase/storage-js': 2.5.1_encoding@0.1.13 @@ -1342,12 +1344,12 @@ packages: resolution: { integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== } dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 dev: true - /@types/react/18.0.35: + /@types/react/18.0.37: resolution: - { integrity: sha512-6Laome31HpetaIUGFWl1VQ3mdSImwxtFZ39rh059a1MNnKGqBpC88J6NJ8n/Is3Qx7CefDGLgf/KhN/sYCf7ag== } + { integrity: sha512-4yaZZtkRN3ZIQD3KSEwkfcik8s0SWV+82dlJot1AbGYHCzJkWP3ENBY6wYeDRmKZ6HkrgoGAmR2HqdwYGp6OEw== } dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -1369,9 +1371,9 @@ packages: '@types/node': 18.15.11 dev: false - /@typescript-eslint/eslint-plugin/5.58.0_hzv37tkb63et4viajosjuuyxgi: + /@typescript-eslint/eslint-plugin/5.59.0_fdxyi3g57a6lyb5rx36h2olw2q: resolution: - { integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA== } + { integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1382,25 +1384,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/type-utils': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe - '@typescript-eslint/utils': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/type-utils': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/utils': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe debug: 4.3.4 eslint: 8.38.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.4.0 + semver: 7.5.0 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.58.0_ze6bmax3gcsfve3yrzu6npguhe: + /@typescript-eslint/parser/5.59.0_ze6bmax3gcsfve3yrzu6npguhe: resolution: - { integrity: sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ== } + { integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1409,9 +1411,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/typescript-estree': 5.58.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0_typescript@4.9.5 debug: 4.3.4 eslint: 8.38.0 typescript: 4.9.5 @@ -1419,18 +1421,18 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.58.0: + /@typescript-eslint/scope-manager/5.59.0: resolution: - { integrity: sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA== } + { integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/visitor-keys': 5.58.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 dev: true - /@typescript-eslint/type-utils/5.58.0_ze6bmax3gcsfve3yrzu6npguhe: + /@typescript-eslint/type-utils/5.59.0_ze6bmax3gcsfve3yrzu6npguhe: resolution: - { integrity: sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w== } + { integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: '*' @@ -1439,8 +1441,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.58.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/typescript-estree': 5.59.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe debug: 4.3.4 eslint: 8.38.0 tsutils: 3.21.0_typescript@4.9.5 @@ -1449,15 +1451,15 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.58.0: + /@typescript-eslint/types/5.59.0: resolution: - { integrity: sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g== } + { integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/typescript-estree/5.58.0_typescript@4.9.5: + /@typescript-eslint/typescript-estree/5.59.0_typescript@4.9.5: resolution: - { integrity: sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q== } + { integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' @@ -1465,21 +1467,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/visitor-keys': 5.58.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.4.0 + semver: 7.5.0 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.58.0_ze6bmax3gcsfve3yrzu6npguhe: + /@typescript-eslint/utils/5.59.0_ze6bmax3gcsfve3yrzu6npguhe: resolution: - { integrity: sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ== } + { integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1487,23 +1489,23 @@ packages: '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0 '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.58.0 - '@typescript-eslint/types': 5.58.0 - '@typescript-eslint/typescript-estree': 5.58.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0_typescript@4.9.5 eslint: 8.38.0 eslint-scope: 5.1.1 - semver: 7.4.0 + semver: 7.5.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.58.0: + /@typescript-eslint/visitor-keys/5.59.0: resolution: - { integrity: sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA== } + { integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/types': 5.59.0 eslint-visitor-keys: 3.4.0 dev: true @@ -1716,9 +1718,9 @@ packages: engines: { node: '>= 0.4' } dev: true - /axe-core/4.6.3: + /axe-core/4.7.0: resolution: - { integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== } + { integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== } engines: { node: '>=4' } dev: true @@ -1763,7 +1765,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001480 - electron-to-chromium: 1.4.365 + electron-to-chromium: 1.4.367 node-releases: 2.0.10 update-browserslist-db: 1.0.11_browserslist@4.21.5 dev: true @@ -2116,9 +2118,9 @@ packages: { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } dev: true - /electron-to-chromium/1.4.365: + /electron-to-chromium/1.4.367: resolution: - { integrity: sha512-FRHZO+1tUNO4TOPXmlxetkoaIY8uwHzd1kKopK/Gx2SKn1L47wJXWD44wxP5CGRyyP98z/c8e1eBzJrgPeiBOg== } + { integrity: sha512-mNuDxb+HpLhPGUKrg0hSxbTjHWw8EziwkwlJNkFUj3W60ypigLDRVz04vU+VRsJPi8Gub+FDhYUpuTm9xiEwRQ== } dev: true /emoji-mart/5.5.2: @@ -2292,11 +2294,11 @@ packages: dependencies: '@next/eslint-plugin-next': 13.3.0 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5_slf3pdlxi65p6jlbyy4zgzrwbi - eslint-plugin-import: 2.27.5_rptv2rvhnimonuwgnwl36lcway + eslint-import-resolver-typescript: 3.5.5_iawizzeqthfdhkf7xarjhbielu + eslint-plugin-import: 2.27.5_zd47usm4wh46g3or3idhwsf3ym eslint-plugin-jsx-a11y: 6.7.1_eslint@8.38.0 eslint-plugin-react: 7.32.2_eslint@8.38.0 eslint-plugin-react-hooks: 4.6.0_eslint@8.38.0 @@ -2322,12 +2324,12 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.12.0 - resolve: 1.22.3 + resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: true - /eslint-import-resolver-typescript/3.5.5_slf3pdlxi65p6jlbyy4zgzrwbi: + /eslint-import-resolver-typescript/3.5.5_iawizzeqthfdhkf7xarjhbielu: resolution: { integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw== } engines: { node: ^14.18.0 || >=16.0.0 } @@ -2338,8 +2340,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.12.0 eslint: 8.38.0 - eslint-module-utils: 2.8.0_uijsfo6afl5uvsbmsghunq7i6m - eslint-plugin-import: 2.27.5_rptv2rvhnimonuwgnwl36lcway + eslint-module-utils: 2.8.0_amdmgvxvyswgee2ths52dmheye + eslint-plugin-import: 2.27.5_zd47usm4wh46g3or3idhwsf3ym get-tsconfig: 4.5.0 globby: 13.1.4 is-core-module: 2.12.0 @@ -2352,7 +2354,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.8.0_uijsfo6afl5uvsbmsghunq7i6m: + /eslint-module-utils/2.8.0_amdmgvxvyswgee2ths52dmheye: resolution: { integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== } engines: { node: '>=4' } @@ -2374,16 +2376,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe debug: 3.2.7 eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5_slf3pdlxi65p6jlbyy4zgzrwbi + eslint-import-resolver-typescript: 3.5.5_iawizzeqthfdhkf7xarjhbielu transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import/2.27.5_rptv2rvhnimonuwgnwl36lcway: + /eslint-plugin-import/2.27.5_zd47usm4wh46g3or3idhwsf3ym: resolution: { integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== } engines: { node: '>=4' } @@ -2394,7 +2396,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.58.0_ze6bmax3gcsfve3yrzu6npguhe + '@typescript-eslint/parser': 5.59.0_ze6bmax3gcsfve3yrzu6npguhe array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -2402,13 +2404,13 @@ packages: doctrine: 2.1.0 eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0_uijsfo6afl5uvsbmsghunq7i6m + eslint-module-utils: 2.8.0_amdmgvxvyswgee2ths52dmheye has: 1.0.3 is-core-module: 2.12.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.6 - resolve: 1.22.3 + resolve: 1.22.2 semver: 6.3.0 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -2429,7 +2431,7 @@ packages: array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 ast-types-flow: 0.0.7 - axe-core: 4.6.3 + axe-core: 4.7.0 axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 @@ -3934,7 +3936,7 @@ packages: postcss: 8.4.22 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.3 + resolve: 1.22.2 dev: true /postcss-js/4.0.1_postcss@8.4.22: @@ -4159,7 +4161,7 @@ packages: react-fast-compare: 3.2.1 dev: false - /react-remove-scroll-bar/2.3.4_yuz6bkerhkjfjuf6zeb7j6ybc4: + /react-remove-scroll-bar/2.3.4_24ukasupqqblpyncii3ycicuiu: resolution: { integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== } engines: { node: '>=10' } @@ -4170,13 +4172,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 react: 18.2.0 - react-style-singleton: 2.2.1_yuz6bkerhkjfjuf6zeb7j6ybc4 + react-style-singleton: 2.2.1_24ukasupqqblpyncii3ycicuiu tslib: 2.5.0 dev: false - /react-remove-scroll/2.5.5_yuz6bkerhkjfjuf6zeb7j6ybc4: + /react-remove-scroll/2.5.5_24ukasupqqblpyncii3ycicuiu: resolution: { integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== } engines: { node: '>=10' } @@ -4187,13 +4189,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 react: 18.2.0 - react-remove-scroll-bar: 2.3.4_yuz6bkerhkjfjuf6zeb7j6ybc4 - react-style-singleton: 2.2.1_yuz6bkerhkjfjuf6zeb7j6ybc4 + react-remove-scroll-bar: 2.3.4_24ukasupqqblpyncii3ycicuiu + react-style-singleton: 2.2.1_24ukasupqqblpyncii3ycicuiu tslib: 2.5.0 - use-callback-ref: 1.3.0_yuz6bkerhkjfjuf6zeb7j6ybc4 - use-sidecar: 1.1.2_yuz6bkerhkjfjuf6zeb7j6ybc4 + use-callback-ref: 1.3.0_24ukasupqqblpyncii3ycicuiu + use-sidecar: 1.1.2_24ukasupqqblpyncii3ycicuiu dev: false /react-string-replace/1.1.0: @@ -4202,7 +4204,7 @@ packages: engines: { node: '>=0.12.0' } dev: false - /react-style-singleton/2.2.1_yuz6bkerhkjfjuf6zeb7j6ybc4: + /react-style-singleton/2.2.1_24ukasupqqblpyncii3ycicuiu: resolution: { integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== } engines: { node: '>=10' } @@ -4213,7 +4215,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -4275,9 +4277,9 @@ packages: engines: { node: '>=4' } dev: true - /resolve/1.22.3: + /resolve/1.22.2: resolution: - { integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw== } + { integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== } hasBin: true dependencies: is-core-module: 2.12.0 @@ -4369,9 +4371,9 @@ packages: hasBin: true dev: true - /semver/7.4.0: + /semver/7.5.0: resolution: - { integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw== } + { integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== } engines: { node: '>=10' } hasBin: true dependencies: @@ -4668,7 +4670,7 @@ packages: postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 - resolve: 1.22.3 + resolve: 1.22.2 sucrase: 3.32.0 transitivePeerDependencies: - ts-node @@ -4855,7 +4857,7 @@ packages: punycode: 2.3.0 dev: true - /use-callback-ref/1.3.0_yuz6bkerhkjfjuf6zeb7j6ybc4: + /use-callback-ref/1.3.0_24ukasupqqblpyncii3ycicuiu: resolution: { integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== } engines: { node: '>=10' } @@ -4866,12 +4868,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 react: 18.2.0 tslib: 2.5.0 dev: false - /use-isomorphic-layout-effect/1.1.2_yuz6bkerhkjfjuf6zeb7j6ybc4: + /use-isomorphic-layout-effect/1.1.2_24ukasupqqblpyncii3ycicuiu: resolution: { integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== } peerDependencies: @@ -4881,11 +4883,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 react: 18.2.0 dev: false - /use-sidecar/1.1.2_yuz6bkerhkjfjuf6zeb7j6ybc4: + /use-sidecar/1.1.2_24ukasupqqblpyncii3ycicuiu: resolution: { integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== } engines: { node: '>=10' } @@ -4896,7 +4898,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.35 + '@types/react': 18.0.37 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.5.0 @@ -5060,3 +5062,14 @@ packages: { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } engines: { node: '>=10' } dev: true + + github.com/tauri-apps/tauri-plugin-sql/1638a2520ece4570b26c16e344597b295ac77bed: + resolution: + { + tarball: https://codeload.github.com/tauri-apps/tauri-plugin-sql/tar.gz/1638a2520ece4570b26c16e344597b295ac77bed, + } + name: tauri-plugin-sql-api + version: 0.0.0 + dependencies: + '@tauri-apps/api': 1.2.0 + dev: false diff --git a/src-tauri/.cargo/config.toml b/src-tauri/.cargo/config.toml deleted file mode 100644 index 2090db11..00000000 --- a/src-tauri/.cargo/config.toml +++ /dev/null @@ -1,2 +0,0 @@ -[alias] -prisma = "run -p prisma-cli --" diff --git a/src-tauri/.env b/src-tauri/.env new file mode 100644 index 00000000..de480199 --- /dev/null +++ b/src-tauri/.env @@ -0,0 +1 @@ +DATABASE_URL="/Users/phong/Library/Application Support/com.uselume.xyz" \ No newline at end of file diff --git a/src-tauri/.env-main b/src-tauri/.env-main new file mode 100644 index 00000000..26eec9d7 --- /dev/null +++ b/src-tauri/.env-main @@ -0,0 +1 @@ +DATABASE_ENV= \ No newline at end of file diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore index 0c1d05c7..aba21e24 100644 --- a/src-tauri/.gitignore +++ b/src-tauri/.gitignore @@ -1,6 +1,3 @@ # Generated by Cargo # will have compiled files and executables /target/ - -# prisma -src/db.rs diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 825615f4..74cda829 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2,21 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" - -[[package]] -name = "addr2line" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -dependencies = [ - "gimli", -] - [[package]] name = "adler" version = "1.0.2" @@ -73,12 +58,6 @@ version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - [[package]] name = "async-broadcast" version = "0.5.1" @@ -208,12 +187,12 @@ dependencies = [ ] [[package]] -name = "atomic-shim" -version = "0.2.0" +name = "atoi" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cd4b51d303cf3501c301e8125df442128d3c6d7c69f71b27833d253de47e77" +checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" dependencies = [ - "crossbeam-utils", + "num-traits", ] [[package]] @@ -256,42 +235,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] -name = "backtrace" -version = "0.3.67" +name = "backoff" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide 0.6.2", - "object", - "rustc-demangle", + "futures-core", + "getrandom 0.2.9", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", ] -[[package]] -name = "base-x" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" - -[[package]] -name = "base36" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9c26bddc1271f7112e5ec797e8eeba6de2de211c1488e506b9500196dbf77c5" -dependencies = [ - "base-x", - "failure", -] - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - [[package]] name = "base64" version = "0.13.1" @@ -304,43 +260,6 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" -[[package]] -name = "bigdecimal" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aaf33151a6429fe9211d1b276eafdf70cdff28b071e76c0b0e1503221ea3744" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", - "serde", -] - -[[package]] -name = "bigint" -version = "4.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0e8c8a600052b52482eff2cf4d810e462fdff1f656ac1ecb6232132a1ed7def" -dependencies = [ - "byteorder", - "crunchy", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bitflags" version = "1.3.2" @@ -353,15 +272,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -417,21 +327,6 @@ dependencies = [ "serde", ] -[[package]] -name = "builtin-psl-connectors" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "connection-string", - "either", - "enumflags2", - "indoc 1.0.9", - "lsp-types", - "once_cell", - "psl-core", - "regex", -] - [[package]] name = "bumpalo" version = "3.12.0" @@ -480,6 +375,37 @@ dependencies = [ "system-deps 6.0.4", ] +[[package]] +name = "camino" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", +] + [[package]] name = "cargo_toml" version = "0.13.3" @@ -543,12 +469,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" dependencies = [ "iana-time-zone", - "js-sys", "num-integer", "num-traits", - "serde", - "time 0.1.43", - "wasm-bindgen", + "winapi", +] + +[[package]] +name = "clap" +version = "3.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +dependencies = [ + "atty", + "bitflags", + "clap_derive", + "clap_lex", + "indexmap", + "once_cell", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_derive" +version = "3.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clipboard-win" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +dependencies = [ + "error-code", + "str-buf", "winapi", ] @@ -599,30 +571,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" -[[package]] -name = "colored" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" -dependencies = [ - "atty", - "lazy_static", - "winapi", -] - -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - [[package]] name = "combine" version = "4.6.6" @@ -643,13 +591,16 @@ dependencies = [ ] [[package]] -name = "connection-string" -version = "0.1.14" +name = "console" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4ecb0dc8c35d2c626e45ae70bbfcb1050b302f42bcdf025d913cc0c5a0b443" +checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" dependencies = [ - "js-sys", - "wasm-bindgen", + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.42.0", ] [[package]] @@ -658,21 +609,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "convert_case" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8" - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "core-foundation" version = "0.9.3" @@ -723,6 +659,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + [[package]] name = "crc32fast" version = "1.3.2" @@ -742,6 +693,17 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + [[package]] name = "crossbeam-epoch" version = "0.9.14" @@ -774,12 +736,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crunchy" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" - [[package]] name = "crypto-common" version = "0.1.6" @@ -827,33 +783,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "cuid" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5d03ac594f5f9cc680b142fff46f3ad9f197e19272042ebf1a40b383fee6fb" -dependencies = [ - "base36", - "bigint", - "cuid2", - "hostname", - "num", - "once_cell", - "rand 0.8.5", -] - -[[package]] -name = "cuid2" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1debbff0c0f0b54e681296c6f064a78f8ecec8e89e7fcc472443d9f85b98ca9a" -dependencies = [ - "num", - "proptest", - "rand 0.8.5", - "sha3", -] - [[package]] name = "cxx" version = "1.0.94" @@ -933,17 +862,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "datamodel-renderer" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "base64 0.13.1", - "once_cell", - "psl", - "regex", -] - [[package]] name = "derivative" version = "2.2.0" @@ -961,51 +879,23 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case 0.4.0", + "convert_case", "proc-macro2", "quote", "rustc_version", "syn 1.0.109", ] -[[package]] -name = "diagnostics" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "colored", - "indoc 1.0.9", - "pest", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", ] -[[package]] -name = "directories" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs" version = "4.0.0" @@ -1054,52 +944,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] -name = "dml" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "chrono", - "cuid", - "either", - "enumflags2", - "indoc 1.0.9", - "prisma-value", - "psl-core", - "schema-ast", - "serde", - "serde_json", - "uuid 1.3.1", -] - -[[package]] -name = "dmmf" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "bigdecimal", - "indexmap", - "prisma-models", - "psl", - "schema", - "schema-builder", - "serde", - "serde_json", -] - -[[package]] -name = "document-features" -version = "0.2.7" +name = "dotenvy" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e493c573fce17f00dcab13b6ac057994f3ce17d1af4dc39bfd482b83c6eb6157" -dependencies = [ - "litrs", -] - -[[package]] -name = "dotenv" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dtoa" @@ -1127,6 +975,9 @@ name = "either" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +dependencies = [ + "serde", +] [[package]] name = "embed_plist" @@ -1134,6 +985,12 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + [[package]] name = "encoding_rs" version = "0.8.32" @@ -1191,46 +1048,22 @@ dependencies = [ "libc", ] +[[package]] +name = "error-code" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +dependencies = [ + "libc", + "str-buf", +] + [[package]] name = "event-listener" version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -[[package]] -name = "failure" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" -dependencies = [ - "backtrace", - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" - [[package]] name = "fastrand" version = "1.9.0" @@ -1240,6 +1073,17 @@ dependencies = [ "instant", ] +[[package]] +name = "fd-lock" +version = "3.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642" +dependencies = [ + "cfg-if", + "rustix", + "windows-sys 0.48.0", +] + [[package]] name = "fdeflate" version = "0.3.0" @@ -1271,12 +1115,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "fixedbitset" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" - [[package]] name = "flate2" version = "1.0.25" @@ -1287,6 +1125,18 @@ dependencies = [ "miniz_oxide 0.6.2", ] +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project", + "spin 0.9.8", +] + [[package]] name = "fnv" version = "1.0.7" @@ -1317,12 +1167,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - [[package]] name = "futf" version = "0.1.5" @@ -1375,6 +1219,17 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-intrusive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.11.2", +] + [[package]] name = "futures-io" version = "0.3.28" @@ -1419,12 +1274,6 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" -[[package]] -name = "futures-timer" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" - [[package]] name = "futures-util" version = "0.3.28" @@ -1569,12 +1418,6 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] -[[package]] -name = "gimli" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" - [[package]] name = "gio" version = "0.15.12" @@ -1680,16 +1523,6 @@ dependencies = [ "system-deps 6.0.4", ] -[[package]] -name = "graphql-parser" -version = "0.3.0" -source = "git+https://github.com/prisma/graphql-parser#6a3f58bd879065588e710cb02b5bd30c1ce182c3" -dependencies = [ - "combine 3.8.1", - "indexmap", - "thiserror", -] - [[package]] name = "gtk" version = "0.15.5" @@ -1745,34 +1578,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "h2" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1784,11 +1589,11 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" +checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" dependencies = [ - "hashbrown 0.11.2", + "hashbrown", ] [[package]] @@ -1805,6 +1610,9 @@ name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "hermit-abi" @@ -1836,17 +1644,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi", -] - [[package]] name = "html5ever" version = "0.25.2" @@ -1872,72 +1669,12 @@ dependencies = [ "itoa 1.0.6", ] -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - [[package]] name = "http-range" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa 1.0.6", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - [[package]] name = "iana-time-zone" version = "0.1.56" @@ -2019,25 +1756,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "include_dir" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" -dependencies = [ - "proc-macro2", - "quote", -] - [[package]] name = "indexmap" version = "1.9.3" @@ -2045,22 +1763,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown 0.12.3", - "serde", + "hashbrown", ] -[[package]] -name = "indoc" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" - -[[package]] -name = "indoc" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f2cb48b81b1dc9f39676bf99f5499babfec7cd8fe14307f7b3d747208fb5690" - [[package]] name = "infer" version = "0.7.0" @@ -2079,21 +1784,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "introspection-connector" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "anyhow", - "async-trait", - "enumflags2", - "psl", - "serde", - "serde_json", - "thiserror", - "user-facing-errors", -] - [[package]] name = "io-lifetimes" version = "1.0.10" @@ -2105,12 +1795,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ipnet" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" - [[package]] name = "itertools" version = "0.10.5" @@ -2162,7 +1846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" dependencies = [ "cesu8", - "combine 4.6.6", + "combine", "jni-sys", "log", "thiserror", @@ -2195,41 +1879,6 @@ dependencies = [ "treediff", ] -[[package]] -name = "json-rpc-api-build" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "backtrace", - "heck 0.3.3", - "serde", - "toml 0.5.11", -] - -[[package]] -name = "jsonrpc-core" -version = "17.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4467ab6dfa369b69e52bd0692e480c4d117410538526a57a304a0f2250fd95e" -dependencies = [ - "futures", - "futures-executor", - "futures-util", - "log", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "keccak" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" -dependencies = [ - "cpufeatures", -] - [[package]] name = "kuchiki" version = "0.8.1" @@ -2288,17 +1937,11 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" - [[package]] name = "libsqlite3-sys" -version = "0.22.2" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" dependencies = [ "cc", "pkg-config", @@ -2329,12 +1972,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" -[[package]] -name = "litrs" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9275e0933cf8bb20f008924c0cb07a0692fe54d8064996520bf998de9eb79aa" - [[package]] name = "lock_api" version = "0.4.9" @@ -2369,43 +2006,19 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown 0.12.3", -] - -[[package]] -name = "lsp-types" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2368312c59425dd133cb9a327afee65be0a633a8ce471d248e2202a48f8f68ae" -dependencies = [ - "bitflags", - "serde", - "serde_json", - "serde_repr", - "url", -] - [[package]] name = "lume" version = "0.2.5" dependencies = [ "cocoa", "objc", - "prisma-client-rust", "serde", "serde_json", - "specta", + "sqlx-cli", "tauri", "tauri-build", "tauri-plugin-single-instance", - "tauri-specta", - "tokio", + "tauri-plugin-sql", ] [[package]] @@ -2414,15 +2027,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - [[package]] name = "malloc_buf" version = "0.0.6" @@ -2446,12 +2050,6 @@ dependencies = [ "tendril", ] -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.1.0" @@ -2473,6 +2071,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.7.1" @@ -2491,137 +2098,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "metrics" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e52eb6380b6d2a10eb3434aec0885374490f5b82c8aaf5cd487a183c98be834" -dependencies = [ - "ahash", - "metrics-macros", -] - -[[package]] -name = "metrics" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142c53885123b68d94108295a09d4afe1a1388ed95b54d5dacd9a454753030f2" -dependencies = [ - "ahash", - "metrics-macros", -] - -[[package]] -name = "metrics-exporter-prometheus" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953cbbb6f9ba4b9304f4df79b98cdc9d14071ed93065a9fca11c00c5d9181b66" -dependencies = [ - "hyper", - "indexmap", - "ipnet", - "metrics 0.19.0", - "metrics-util 0.13.0", - "parking_lot 0.11.2", - "quanta", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "metrics-macros" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e30813093f757be5cf21e50389a24dc7dbb22c49f23b7e8f51d69b508a5ffa" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "metrics-util" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65a9e83b833e1d2e07010a386b197c13aa199bbd0fca5cf69bfa147972db890a" -dependencies = [ - "aho-corasick", - "atomic-shim", - "crossbeam-epoch", - "crossbeam-utils", - "hashbrown 0.11.2", - "indexmap", - "metrics 0.18.1", - "num_cpus", - "ordered-float", - "parking_lot 0.11.2", - "quanta", - "radix_trie", - "sketches-ddsketch", -] - -[[package]] -name = "metrics-util" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1f4b69bef1e2b392b2d4a12902f2af90bb438ba4a66aa222d1023fa6561b50" -dependencies = [ - "atomic-shim", - "crossbeam-epoch", - "crossbeam-utils", - "hashbrown 0.11.2", - "metrics 0.19.0", - "num_cpus", - "parking_lot 0.11.2", - "quanta", - "sketches-ddsketch", -] - -[[package]] -name = "migration-connector" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "chrono", - "enumflags2", - "introspection-connector", - "psl", - "sha2 0.9.9", - "tracing", - "tracing-error", - "user-facing-errors", -] - -[[package]] -name = "migration-core" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "async-trait", - "chrono", - "enumflags2", - "json-rpc-api-build", - "jsonrpc-core", - "migration-connector", - "psl", - "serde", - "serde_json", - "sql-migration-connector", - "tokio", - "tracing", - "tracing-futures", - "tracing-subscriber", - "url", - "user-facing-errors", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2659,24 +2135,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "mobc" -version = "0.7.3" -source = "git+https://github.com/prisma/mobc?tag=1.0.6#80462c4870a2bf6aab49da15c88c021bae531da8" -dependencies = [ - "async-trait", - "futures-channel", - "futures-core", - "futures-timer", - "futures-util", - "log", - "metrics 0.18.1", - "thiserror", - "tokio", - "tracing", - "tracing-subscriber", -] - [[package]] name = "native-tls" version = "0.2.11" @@ -2738,6 +2196,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "nix" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" +dependencies = [ + "bitflags", + "cc", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + [[package]] name = "nix" version = "0.26.2" @@ -2778,40 +2249,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "num" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" -dependencies = [ - "num-traits", -] - [[package]] name = "num-integer" version = "0.1.45" @@ -2822,17 +2259,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -2840,7 +2266,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint", "num-integer", "num-traits", ] @@ -2852,7 +2277,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -2914,27 +2338,12 @@ dependencies = [ "objc", ] -[[package]] -name = "object" -version = "0.30.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - [[package]] name = "open" version = "3.2.0" @@ -2989,35 +2398,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "opentelemetry" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project", - "rand 0.8.5", - "thiserror", - "tokio", -] - -[[package]] -name = "ordered-float" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" -dependencies = [ - "num-traits", -] - [[package]] name = "ordered-stream" version = "0.2.0" @@ -3028,12 +2408,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "ordermap" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" - [[package]] name = "os_info" version = "3.7.0" @@ -3045,6 +2419,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "os_str_bytes" +version = "6.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" + [[package]] name = "overload" version = "0.1.1" @@ -3130,18 +2510,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "parser-database" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "diagnostics", - "either", - "enumflags2", - "indexmap", - "schema-ast", -] - [[package]] name = "paste" version = "1.0.12" @@ -3160,60 +2528,6 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" -[[package]] -name = "pest" -version = "2.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1403e8401ad5dedea73c626b99758535b342502f8d1e361f4a2dd952749122" -dependencies = [ - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be99c4c1d2fc2769b1d00239431d711d08f6efedcecb8b6e30707160aee99c15" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e56094789873daa36164de2e822b3888c6ae4b4f9da555a1103587658c805b1e" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "pest_meta" -version = "2.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6733073c7cff3d8459fda0e42f13a047870242aed8b509fe98000928975f359e" -dependencies = [ - "once_cell", - "pest", - "sha2 0.10.6", -] - -[[package]] -name = "petgraph" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f" -dependencies = [ - "fixedbitset", - "ordermap", -] - [[package]] name = "phf" version = "0.8.0" @@ -3361,7 +2675,7 @@ dependencies = [ "line-wrap", "quick-xml", "serde", - "time 0.3.20", + "time", ] [[package]] @@ -3405,132 +2719,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "prisma-cli" -version = "0.1.0" -dependencies = [ - "prisma-client-rust-cli", -] - -[[package]] -name = "prisma-client-rust" -version = "0.6.7" -source = "git+https://github.com/Brendonovich/prisma-client-rust?tag=0.6.7#f71ad9122537c4ed29bf496a4a643947a5fe9aef" -dependencies = [ - "base64 0.13.1", - "bigdecimal", - "chrono", - "diagnostics", - "dml", - "dmmf", - "dotenv", - "futures", - "include_dir", - "indexmap", - "migration-core", - "paste", - "prisma-client-rust-macros", - "prisma-models", - "psl", - "query-connector", - "query-core", - "schema", - "serde", - "serde-value", - "serde_json", - "specta", - "tempdir", - "thiserror", - "tokio", - "tracing", - "user-facing-errors", - "uuid 1.3.1", -] - -[[package]] -name = "prisma-client-rust-cli" -version = "0.6.7" -source = "git+https://github.com/Brendonovich/prisma-client-rust?tag=0.6.7#f71ad9122537c4ed29bf496a4a643947a5fe9aef" -dependencies = [ - "directories", - "flate2", - "http", - "prisma-client-rust-sdk", - "proc-macro2", - "quote", - "regex", - "reqwest", - "serde", - "serde_json", - "serde_path_to_error", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "prisma-client-rust-macros" -version = "0.6.7" -source = "git+https://github.com/Brendonovich/prisma-client-rust?tag=0.6.7#f71ad9122537c4ed29bf496a4a643947a5fe9aef" -dependencies = [ - "convert_case 0.6.0", - "proc-macro2", - "quote", - "specta", - "syn 1.0.109", -] - -[[package]] -name = "prisma-client-rust-sdk" -version = "0.6.7" -source = "git+https://github.com/Brendonovich/prisma-client-rust?tag=0.6.7#f71ad9122537c4ed29bf496a4a643947a5fe9aef" -dependencies = [ - "convert_case 0.5.0", - "dml", - "dmmf", - "prisma-models", - "proc-macro2", - "psl", - "query-core", - "quote", - "request-handlers", - "serde", - "serde_json", - "serde_path_to_error", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "prisma-models" -version = "0.0.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "bigdecimal", - "chrono", - "itertools", - "once_cell", - "prisma-value", - "psl", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "prisma-value" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "base64 0.12.3", - "bigdecimal", - "chrono", - "once_cell", - "regex", - "serde", - "serde_json", - "uuid 1.3.1", -] - [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -3581,195 +2769,14 @@ dependencies = [ ] [[package]] -name = "proptest" -version = "1.1.0" +name = "promptly" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f1b898011ce9595050a68e60f90bad083ff2987a695a42357134c8381fba70" +checksum = "9acbc6c5a5b029fe58342f58445acb00ccfe24624e538894bc2f04ce112980ba" dependencies = [ - "bit-set", - "bitflags", - "byteorder", - "lazy_static", - "num-traits", - "quick-error 2.0.1", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax", - "rusty-fork", - "tempfile", - "unarray", + "rustyline", ] -[[package]] -name = "psl" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "builtin-psl-connectors", - "dml", - "psl-core", -] - -[[package]] -name = "psl-core" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "bigdecimal", - "chrono", - "diagnostics", - "enumflags2", - "indoc 1.0.9", - "itertools", - "lsp-types", - "once_cell", - "parser-database", - "prisma-value", - "regex", - "schema-ast", - "serde", - "serde_json", - "url", -] - -[[package]] -name = "quaint" -version = "0.2.0-alpha.13" -source = "git+https://github.com/Brendonovich/quaint?tag=0.6.5#2bf0c3620f76d83982c17e567b71da6fc9d65d14" -dependencies = [ - "async-trait", - "base64 0.12.3", - "bigdecimal", - "chrono", - "connection-string", - "futures", - "hex", - "libsqlite3-sys", - "metrics 0.18.1", - "mobc", - "num_cpus", - "percent-encoding", - "rusqlite", - "serde_json", - "sqlformat", - "thiserror", - "tokio", - "tracing", - "tracing-core", - "url", - "uuid 1.3.1", -] - -[[package]] -name = "quanta" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20afe714292d5e879d8b12740aa223c6a88f118af41870e8b6196e39a02238a8" -dependencies = [ - "crossbeam-utils", - "libc", - "mach", - "once_cell", - "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", - "web-sys", - "winapi", -] - -[[package]] -name = "query-connector" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "anyhow", - "async-trait", - "chrono", - "futures", - "indexmap", - "itertools", - "prisma-models", - "prisma-value", - "serde", - "serde_json", - "thiserror", - "user-facing-errors", - "uuid 1.3.1", -] - -[[package]] -name = "query-core" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "async-trait", - "base64 0.12.3", - "bigdecimal", - "chrono", - "connection-string", - "crossbeam-queue", - "cuid", - "enumflags2", - "futures", - "indexmap", - "itertools", - "lazy_static", - "lru", - "once_cell", - "opentelemetry", - "parking_lot 0.12.1", - "petgraph", - "pin-utils", - "prisma-models", - "prisma-value", - "psl", - "query-connector", - "query-engine-metrics", - "schema", - "schema-builder", - "serde", - "serde_json", - "sql-query-connector", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "tracing-opentelemetry", - "tracing-subscriber", - "url", - "user-facing-errors", - "uuid 1.3.1", -] - -[[package]] -name = "query-engine-metrics" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "metrics 0.18.1", - "metrics-exporter-prometheus", - "metrics-util 0.12.1", - "once_cell", - "parking_lot 0.12.1", - "serde", - "serde_json", - "tracing", - "tracing-futures", - "tracing-subscriber", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - [[package]] name = "quick-xml" version = "0.28.2" @@ -3798,19 +2805,6 @@ dependencies = [ "nibble_vec", ] -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi", -] - [[package]] name = "rand" version = "0.7.3" @@ -3856,21 +2850,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - [[package]] name = "rand_core" version = "0.5.1" @@ -3907,24 +2886,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags", -] - [[package]] name = "raw-window-handle" version = "0.5.2" @@ -3932,12 +2893,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] -name = "rdrand" -version = "0.4.0" +name = "rayon" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" dependencies = [ - "rand_core 0.3.1", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", ] [[package]] @@ -3997,94 +2971,32 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "remove_dir_all" -version = "0.5.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +checksum = "882f368737489ea543bc5c340e6f3d34a28c39980bd9a979e47322b26f60ac40" dependencies = [ + "libc", + "log", + "num_cpus", + "rayon", "winapi", ] [[package]] -name = "request-handlers" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "bigdecimal", - "connection-string", - "dmmf", - "futures", - "graphql-parser", - "indexmap", - "itertools", - "psl", - "query-core", - "serde", - "serde_json", - "thiserror", - "tracing", - "url", - "user-facing-errors", -] - -[[package]] -name = "reqwest" -version = "0.11.16" +name = "ring" +version = "0.16.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" dependencies = [ - "base64 0.21.0", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", + "cc", + "libc", "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", + "spin 0.5.2", + "untrusted", "web-sys", - "winreg", + "winapi", ] -[[package]] -name = "rusqlite" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4b1eaf239b47034fb450ee9cdedd7d0226571689d8823030c4b6c2cb407152" -dependencies = [ - "bitflags", - "chrono", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "memchr", - "smallvec", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - [[package]] name = "rustc_version" version = "0.4.0" @@ -4108,6 +3020,27 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "rustls" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +dependencies = [ + "base64 0.21.0", +] + [[package]] name = "rustversion" version = "1.0.12" @@ -4115,15 +3048,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" [[package]] -name = "rusty-fork" -version = "0.3.0" +name = "rustyline" +version = "9.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039" dependencies = [ - "fnv", - "quick-error 1.2.3", - "tempfile", - "wait-timeout", + "bitflags", + "cfg-if", + "clipboard-win", + "dirs-next", + "fd-lock", + "libc", + "log", + "memchr", + "nix 0.23.2", + "radix_trie", + "scopeguard", + "smallvec", + "unicode-segmentation", + "unicode-width", + "utf8parse", + "winapi", ] [[package]] @@ -4156,39 +3101,6 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "schema" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "once_cell", - "prisma-models", - "psl", -] - -[[package]] -name = "schema-ast" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "diagnostics", - "pest", - "pest_derive", -] - -[[package]] -name = "schema-builder" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "itertools", - "lazy_static", - "once_cell", - "prisma-models", - "psl", - "schema", -] - [[package]] name = "scoped-tls" version = "1.0.1" @@ -4207,6 +3119,16 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "security-framework" version = "2.8.2" @@ -4268,16 +3190,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - [[package]] name = "serde_derive" version = "1.0.160" @@ -4295,21 +3207,11 @@ version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" dependencies = [ - "indexmap", "itoa 1.0.6", "ryu", "serde", ] -[[package]] -name = "serde_path_to_error" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0" -dependencies = [ - "serde", -] - [[package]] name = "serde_repr" version = "0.1.12" @@ -4404,20 +3306,7 @@ checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "digest", ] [[package]] @@ -4428,17 +3317,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", -] - -[[package]] -name = "sha3" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c" -dependencies = [ - "digest 0.10.6", - "keccak", + "digest", ] [[package]] @@ -4462,12 +3341,6 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" -[[package]] -name = "sketches-ddsketch" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d2ecae5fcf33b122e2e6bd520a57ccf152d2dde3b38c71039df1a6867264ee" - [[package]] name = "slab" version = "0.4.8" @@ -4522,144 +3395,18 @@ dependencies = [ ] [[package]] -name = "specta" -version = "1.0.2" +name = "spin" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be6d92bb3d2a34fd5da2463089b44e67d6e83eedff074a82ba0b3e830dbff7c" -dependencies = [ - "chrono", - "document-features", - "indexmap", - "indoc 1.0.9", - "once_cell", - "paste", - "serde", - "serde_json", - "specta-macros", - "tauri", - "thiserror", - "uuid 1.3.1", -] +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] -name = "specta-macros" -version = "1.0.2" +name = "spin" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "123bd8f0d65f556dce3d0e84346b759ad9701c49700cd9aa12c522bd0310d90b" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" dependencies = [ - "Inflector", - "itertools", - "proc-macro2", - "quote", - "syn 1.0.109", - "termcolor", -] - -[[package]] -name = "sql-ddl" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" - -[[package]] -name = "sql-introspection-connector" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "anyhow", - "async-trait", - "bigdecimal", - "datamodel-renderer", - "enumflags2", - "introspection-connector", - "once_cell", - "psl", - "quaint", - "regex", - "serde", - "serde_json", - "sql-schema-describer", - "thiserror", - "tracing", - "tracing-futures", - "user-facing-errors", -] - -[[package]] -name = "sql-migration-connector" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "chrono", - "connection-string", - "either", - "enumflags2", - "indoc 1.0.9", - "migration-connector", - "once_cell", - "psl", - "quaint", - "regex", - "serde_json", - "sql-ddl", - "sql-introspection-connector", - "sql-schema-describer", - "tokio", - "tracing", - "tracing-futures", - "url", - "user-facing-errors", - "uuid 1.3.1", -] - -[[package]] -name = "sql-query-connector" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "anyhow", - "async-trait", - "bigdecimal", - "chrono", - "cuid", - "futures", - "itertools", - "once_cell", - "opentelemetry", - "prisma-models", - "prisma-value", - "psl", - "quaint", - "query-connector", - "rand 0.7.3", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "tracing-opentelemetry", - "user-facing-errors", - "uuid 1.3.1", -] - -[[package]] -name = "sql-schema-describer" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "async-trait", - "bigdecimal", - "enumflags2", - "indexmap", - "indoc 1.0.9", - "once_cell", - "psl", - "quaint", - "regex", - "serde", - "tracing", - "tracing-error", - "tracing-futures", + "lock_api", ] [[package]] @@ -4673,6 +3420,124 @@ dependencies = [ "unicode_categories", ] +[[package]] +name = "sqlx" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188" +dependencies = [ + "sqlx-core", + "sqlx-macros", +] + +[[package]] +name = "sqlx-cli" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f4d0281dd550c01b985c0542b26a245111a63523575107f81b3de4098837b9" +dependencies = [ + "anyhow", + "async-trait", + "backoff", + "cargo_metadata", + "chrono", + "clap", + "console", + "dotenvy", + "filetime", + "futures", + "glob", + "promptly", + "remove_dir_all", + "serde", + "serde_json", + "sqlx", + "tokio", + "url", +] + +[[package]] +name = "sqlx-core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029" +dependencies = [ + "ahash", + "atoi", + "bitflags", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "dotenvy", + "either", + "event-listener", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "hashlink", + "hex", + "indexmap", + "itoa 1.0.6", + "libc", + "libsqlite3-sys", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlformat", + "sqlx-rt", + "stringprep", + "thiserror", + "time", + "tokio-stream", + "url", + "webpki-roots", +] + +[[package]] +name = "sqlx-macros" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9" +dependencies = [ + "dotenvy", + "either", + "heck 0.4.1", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-rt", + "syn 1.0.109", + "url", +] + +[[package]] +name = "sqlx-rt" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024" +dependencies = [ + "once_cell", + "tokio", + "tokio-rustls", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -4694,6 +3559,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + [[package]] name = "string_cache" version = "0.8.7" @@ -4720,6 +3591,16 @@ dependencies = [ "quote", ] +[[package]] +name = "stringprep" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "strsim" version = "0.10.0" @@ -4748,18 +3629,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-xid", -] - [[package]] name = "system-deps" version = "5.0.0" @@ -4928,10 +3797,10 @@ dependencies = [ "semver", "serde", "serde_json", - "sha2 0.10.6", + "sha2", "tauri-utils", "thiserror", - "time 0.3.20", + "time", "uuid 1.3.1", "walkdir", ] @@ -4953,7 +3822,7 @@ dependencies = [ [[package]] name = "tauri-plugin-single-instance" version = "0.1.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#cea1d4f7b54b94354e8100daf804b810c680efd7" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#5c79b6ae3025e4179c99ce83a98fbd029ba5282d" dependencies = [ "log", "serde", @@ -4964,6 +3833,22 @@ dependencies = [ "zbus", ] +[[package]] +name = "tauri-plugin-sql" +version = "0.1.0" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#5c79b6ae3025e4179c99ce83a98fbd029ba5282d" +dependencies = [ + "futures-core", + "log", + "serde", + "serde_json", + "sqlx", + "tauri", + "thiserror", + "time", + "tokio", +] + [[package]] name = "tauri-runtime" version = "0.12.1" @@ -5004,21 +3889,6 @@ dependencies = [ "wry", ] -[[package]] -name = "tauri-specta" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23419889204476d5a70a04077d4628061a5bb667b18804a4572df2fe6ccb8ba5" -dependencies = [ - "heck 0.4.1", - "indoc 2.0.1", - "serde", - "serde_json", - "specta", - "tauri", - "thiserror", -] - [[package]] name = "tauri-utils" version = "1.2.1" @@ -5047,16 +3917,6 @@ dependencies = [ "windows 0.39.0", ] -[[package]] -name = "tempdir" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" -dependencies = [ - "rand 0.4.6", - "remove_dir_all", -] - [[package]] name = "tempfile" version = "3.5.0" @@ -5090,6 +3950,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + [[package]] name = "thin-slice" version = "0.1.1" @@ -5126,16 +3992,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "time" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "time" version = "0.3.20" @@ -5189,7 +4045,6 @@ dependencies = [ "libc", "mio", "num_cpus", - "parking_lot 0.12.1", "pin-project-lite", "socket2", "tokio-macros", @@ -5208,27 +4063,25 @@ dependencies = [ ] [[package]] -name = "tokio-native-tls" -version = "0.3.1" +name = "tokio-rustls" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "native-tls", + "rustls", "tokio", + "webpki", ] [[package]] -name = "tokio-util" -version = "0.7.7" +name = "tokio-stream" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ - "bytes", "futures-core", - "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -5274,12 +4127,6 @@ dependencies = [ "winnow", ] -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - [[package]] name = "tracing" version = "0.1.37" @@ -5313,26 +4160,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" -dependencies = [ - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -5344,20 +4171,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" -dependencies = [ - "once_cell", - "opentelemetry", - "tracing", - "tracing-core", - "tracing-log", - "tracing-subscriber", -] - [[package]] name = "tracing-subscriber" version = "0.3.16" @@ -5385,24 +4198,12 @@ dependencies = [ "serde_json", ] -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - [[package]] name = "typenum" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" -[[package]] -name = "ucd-trie" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" - [[package]] name = "uds_windows" version = "1.0.2" @@ -5413,12 +4214,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - [[package]] name = "unicode-bidi" version = "0.3.13" @@ -5452,12 +4247,6 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - [[package]] name = "unicode_categories" version = "0.1.1" @@ -5465,13 +4254,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] -name = "unreachable" -version = "1.0.0" +name = "untrusted" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" @@ -5485,36 +4271,18 @@ dependencies = [ "serde", ] -[[package]] -name = "user-facing-error-macros" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "user-facing-errors" -version = "0.1.0" -source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0" -dependencies = [ - "backtrace", - "indoc 1.0.9", - "quaint", - "serde", - "serde_json", - "tracing", - "user-facing-error-macros", -] - [[package]] name = "utf-8" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "0.8.2" @@ -5528,7 +4296,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb" dependencies = [ "getrandom 0.2.9", - "serde", ] [[package]] @@ -5561,21 +4328,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - [[package]] name = "waker-fn" version = "1.1.0" @@ -5592,28 +4344,12 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -5645,18 +4381,6 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "wasm-bindgen-macro" version = "0.2.79" @@ -5743,6 +4467,25 @@ dependencies = [ "system-deps 6.0.4", ] +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + [[package]] name = "webview2-com" version = "0.19.1" @@ -6062,15 +4805,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - [[package]] name = "winres" version = "0.1.12" @@ -6106,7 +4840,7 @@ dependencies = [ "once_cell", "serde", "serde_json", - "sha2 0.10.6", + "sha2", "soup2", "tao", "thiserror", @@ -6171,7 +4905,7 @@ dependencies = [ "futures-sink", "futures-util", "hex", - "nix", + "nix 0.26.2", "once_cell", "ordered-stream", "rand 0.8.5", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 72d401a9..09ac802b 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,3 @@ -[workspace] -members = ["prisma-cli"] - [package] name = "lume" version = "0.2.5" @@ -20,11 +17,13 @@ tauri-build = { version = "1.2", features = [] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } tauri = { version = "1.2", features = ["clipboard-read-text", "clipboard-write-text", "http-request", "os-all", "shell-open", "system-tray", "window-close", "window-start-dragging"] } -prisma-client-rust = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.7", default-features = false, features = ["sqlite", "migrations", "mocking", "specta"] } -specta = "1.0.0" -tauri-specta = { version = "1.0.0", features = ["typescript"] } -tokio = { version = "1.26.0", features = ["macros"] } tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" } +sqlx-cli = {version = "0.6.3", default-features = false, features = ["sqlite"] } + +[dependencies.tauri-plugin-sql] +git = "https://github.com/tauri-apps/plugins-workspace" +branch = "dev" +features = ["sqlite"] [target.'cfg(target_os = "macos")'.dependencies] objc = "0.2.7" diff --git a/src-tauri/migrations/20230418013219_initial_data.sql b/src-tauri/migrations/20230418013219_initial_data.sql new file mode 100644 index 00000000..1046ba20 --- /dev/null +++ b/src-tauri/migrations/20230418013219_initial_data.sql @@ -0,0 +1,59 @@ +-- Add migration script here +-- create accounts table +-- is_active (multi-account feature), value: +-- 0: false +-- 1: true +CREATE TABLE + accounts ( + id INTEGER NOT NULL PRIMARY KEY, + pubkey TEXT NOT NULL UNIQUE, + privkey TEXT NOT NULL, + is_active INTEGER NOT NULL DEFAULT 0, + follows TEXT, + channels TEXT, + chats TEXT, + metadata TEXT, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP + ); + +-- create plebs table +CREATE TABLE + plebs ( + id INTEGER NOT NULL PRIMARY KEY, + pubkey TEXT NOT NULL UNIQUE, + metadata TEXT, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP + ); + +-- create notes table +CREATE TABLE + notes ( + id INTEGER NOT NULL PRIMARY KEY, + event_id TEXT NOT NULL UNIQUE, + account_id INTEGER NOT NULL, + pubkey TEXT NOT NULL, + kind INTEGER NOT NULL DEFAULT 1, + tags TEXT NOT NULL, + content TEXT NOT NULL, + created_at INTEGER NOT NULL, + parent_id TEXT, + FOREIGN KEY (account_id) REFERENCES accounts (id) + ); + +-- create channels table +CREATE TABLE + channels ( + id INTEGER NOT NULL PRIMARY KEY, + event_id TEXT NOT NULL UNIQUE, + metadata TEXT NOT NULL, + created_at INTEGER NOT NULL + ); + +-- create settings table +CREATE TABLE + settings ( + id INTEGER NOT NULL PRIMARY KEY, + key TEXT NOT NULL, + value TEXT NOT NULL, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP + ); \ No newline at end of file diff --git a/src-tauri/prisma-cli/Cargo.toml b/src-tauri/prisma-cli/Cargo.toml deleted file mode 100644 index 0098b0c8..00000000 --- a/src-tauri/prisma-cli/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "prisma-cli" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -prisma-client-rust-cli = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.7", default-features = false, features = ["sqlite", "migrations", "mocking", "specta"] } diff --git a/src-tauri/prisma-cli/src/main.rs b/src-tauri/prisma-cli/src/main.rs deleted file mode 100644 index b873b532..00000000 --- a/src-tauri/prisma-cli/src/main.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - prisma_client_rust_cli::run(); -} diff --git a/src-tauri/prisma/migrations/.keep b/src-tauri/prisma/migrations/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/src-tauri/prisma/migrations/20230404081740_initial/migration.sql b/src-tauri/prisma/migrations/20230404081740_initial/migration.sql deleted file mode 100644 index a682a658..00000000 --- a/src-tauri/prisma/migrations/20230404081740_initial/migration.sql +++ /dev/null @@ -1,73 +0,0 @@ --- CreateTable -CREATE TABLE "Account" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "pubkey" TEXT NOT NULL, - "privkey" TEXT NOT NULL, - "active" BOOLEAN NOT NULL DEFAULT false, - "metadata" TEXT NOT NULL -); - --- CreateTable -CREATE TABLE "Follow" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "pubkey" TEXT NOT NULL, - "kind" INTEGER NOT NULL, - "metadata" TEXT NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Follow_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); - --- CreateTable -CREATE TABLE "Note" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "eventId" TEXT NOT NULL, - "pubkey" TEXT NOT NULL, - "kind" INTEGER NOT NULL, - "tags" TEXT NOT NULL, - "content" TEXT NOT NULL, - "parent_id" TEXT NOT NULL, - "parent_comment_id" TEXT NOT NULL, - "createdAt" INTEGER NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Note_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); - --- CreateTable -CREATE TABLE "Message" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "pubkey" TEXT NOT NULL, - "content" TEXT NOT NULL, - "tags" TEXT NOT NULL, - "createdAt" INTEGER NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Message_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); - --- CreateTable -CREATE TABLE "Relay" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "url" TEXT NOT NULL, - "active" BOOLEAN NOT NULL DEFAULT true -); - --- CreateTable -CREATE TABLE "Setting" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "key" TEXT NOT NULL, - "value" TEXT NOT NULL -); - --- CreateIndex -CREATE UNIQUE INDEX "Account_privkey_key" ON "Account"("privkey"); - --- CreateIndex -CREATE INDEX "Account_pubkey_idx" ON "Account"("pubkey"); - --- CreateIndex -CREATE UNIQUE INDEX "Note_eventId_key" ON "Note"("eventId"); - --- CreateIndex -CREATE INDEX "Note_eventId_idx" ON "Note"("eventId"); - --- CreateIndex -CREATE INDEX "Message_pubkey_idx" ON "Message"("pubkey"); diff --git a/src-tauri/prisma/migrations/20230405012355_add_index_to_created_at/migration.sql b/src-tauri/prisma/migrations/20230405012355_add_index_to_created_at/migration.sql deleted file mode 100644 index bea82ded..00000000 --- a/src-tauri/prisma/migrations/20230405012355_add_index_to_created_at/migration.sql +++ /dev/null @@ -1,11 +0,0 @@ --- DropIndex -DROP INDEX "Message_pubkey_idx"; - --- DropIndex -DROP INDEX "Note_eventId_idx"; - --- CreateIndex -CREATE INDEX "Message_pubkey_createdAt_idx" ON "Message"("pubkey", "createdAt"); - --- CreateIndex -CREATE INDEX "Note_eventId_createdAt_idx" ON "Note"("eventId", "createdAt"); diff --git a/src-tauri/prisma/migrations/20230405082721_rename_follow_to_pleb/migration.sql b/src-tauri/prisma/migrations/20230405082721_rename_follow_to_pleb/migration.sql deleted file mode 100644 index 84fee655..00000000 --- a/src-tauri/prisma/migrations/20230405082721_rename_follow_to_pleb/migration.sql +++ /dev/null @@ -1,30 +0,0 @@ -/* - Warnings: - - - You are about to drop the `Follow` table. If the table is not empty, all the data it contains will be lost. - - A unique constraint covering the columns `[pubkey]` on the table `Account` will be added. If there are existing duplicate values, this will fail. - -*/ --- DropTable -PRAGMA foreign_keys=off; -DROP TABLE "Follow"; -PRAGMA foreign_keys=on; - --- CreateTable -CREATE TABLE "Pleb" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "pubkey" TEXT NOT NULL, - "kind" INTEGER NOT NULL, - "metadata" TEXT NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Pleb_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); - --- CreateIndex -CREATE UNIQUE INDEX "Pleb_pubkey_key" ON "Pleb"("pubkey"); - --- CreateIndex -CREATE INDEX "Pleb_pubkey_idx" ON "Pleb"("pubkey"); - --- CreateIndex -CREATE UNIQUE INDEX "Account_pubkey_key" ON "Account"("pubkey"); diff --git a/src-tauri/prisma/migrations/20230406012222_remove_unique_from_pleb/migration.sql b/src-tauri/prisma/migrations/20230406012222_remove_unique_from_pleb/migration.sql deleted file mode 100644 index 8bac356c..00000000 --- a/src-tauri/prisma/migrations/20230406012222_remove_unique_from_pleb/migration.sql +++ /dev/null @@ -1,5 +0,0 @@ --- DropIndex -DROP INDEX "Pleb_pubkey_idx"; - --- DropIndex -DROP INDEX "Pleb_pubkey_key"; diff --git a/src-tauri/prisma/migrations/20230406014004_add_plebid_to_pleb/migration.sql b/src-tauri/prisma/migrations/20230406014004_add_plebid_to_pleb/migration.sql deleted file mode 100644 index e2ed75a4..00000000 --- a/src-tauri/prisma/migrations/20230406014004_add_plebid_to_pleb/migration.sql +++ /dev/null @@ -1,23 +0,0 @@ -/* - Warnings: - - - Added the required column `plebId` to the `Pleb` table without a default value. This is not possible if the table is not empty. - -*/ --- RedefineTables -PRAGMA foreign_keys=OFF; -CREATE TABLE "new_Pleb" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "plebId" TEXT NOT NULL, - "pubkey" TEXT NOT NULL, - "kind" INTEGER NOT NULL, - "metadata" TEXT NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Pleb_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); -INSERT INTO "new_Pleb" ("accountId", "id", "kind", "metadata", "pubkey") SELECT "accountId", "id", "kind", "metadata", "pubkey" FROM "Pleb"; -DROP TABLE "Pleb"; -ALTER TABLE "new_Pleb" RENAME TO "Pleb"; -CREATE UNIQUE INDEX "Pleb_plebId_key" ON "Pleb"("plebId"); -PRAGMA foreign_key_check; -PRAGMA foreign_keys=ON; diff --git a/src-tauri/prisma/migrations/20230410024403_add_channel/migration.sql b/src-tauri/prisma/migrations/20230410024403_add_channel/migration.sql deleted file mode 100644 index e39630ca..00000000 --- a/src-tauri/prisma/migrations/20230410024403_add_channel/migration.sql +++ /dev/null @@ -1,12 +0,0 @@ --- CreateTable -CREATE TABLE "Channel" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "eventId" TEXT NOT NULL, - "content" TEXT NOT NULL -); - --- CreateIndex -CREATE UNIQUE INDEX "Channel_eventId_key" ON "Channel"("eventId"); - --- CreateIndex -CREATE INDEX "Channel_eventId_idx" ON "Channel"("eventId"); diff --git a/src-tauri/prisma/migrations/20230410071123_add_chat/migration.sql b/src-tauri/prisma/migrations/20230410071123_add_chat/migration.sql deleted file mode 100644 index 83fd87fb..00000000 --- a/src-tauri/prisma/migrations/20230410071123_add_chat/migration.sql +++ /dev/null @@ -1,12 +0,0 @@ --- CreateTable -CREATE TABLE "Chat" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "pubkey" TEXT NOT NULL, - "createdAt" INTEGER NOT NULL -); - --- CreateIndex -CREATE UNIQUE INDEX "Chat_pubkey_key" ON "Chat"("pubkey"); - --- CreateIndex -CREATE INDEX "Chat_pubkey_idx" ON "Chat"("pubkey"); diff --git a/src-tauri/prisma/migrations/20230410071606_add_account_related_to_chat_and_channel/migration.sql b/src-tauri/prisma/migrations/20230410071606_add_account_related_to_chat_and_channel/migration.sql deleted file mode 100644 index cf191a1b..00000000 --- a/src-tauri/prisma/migrations/20230410071606_add_account_related_to_chat_and_channel/migration.sql +++ /dev/null @@ -1,35 +0,0 @@ -/* - Warnings: - - - Added the required column `accountId` to the `Chat` table without a default value. This is not possible if the table is not empty. - - Added the required column `accountId` to the `Channel` table without a default value. This is not possible if the table is not empty. - -*/ --- RedefineTables -PRAGMA foreign_keys=OFF; -CREATE TABLE "new_Chat" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "pubkey" TEXT NOT NULL, - "createdAt" INTEGER NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Chat_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); -INSERT INTO "new_Chat" ("createdAt", "id", "pubkey") SELECT "createdAt", "id", "pubkey" FROM "Chat"; -DROP TABLE "Chat"; -ALTER TABLE "new_Chat" RENAME TO "Chat"; -CREATE UNIQUE INDEX "Chat_pubkey_key" ON "Chat"("pubkey"); -CREATE INDEX "Chat_pubkey_idx" ON "Chat"("pubkey"); -CREATE TABLE "new_Channel" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "eventId" TEXT NOT NULL, - "content" TEXT NOT NULL, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Channel_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); -INSERT INTO "new_Channel" ("content", "eventId", "id") SELECT "content", "eventId", "id" FROM "Channel"; -DROP TABLE "Channel"; -ALTER TABLE "new_Channel" RENAME TO "Channel"; -CREATE UNIQUE INDEX "Channel_eventId_key" ON "Channel"("eventId"); -CREATE INDEX "Channel_eventId_idx" ON "Channel"("eventId"); -PRAGMA foreign_key_check; -PRAGMA foreign_keys=ON; diff --git a/src-tauri/prisma/migrations/20230410091415_add_active_to_channel/migration.sql b/src-tauri/prisma/migrations/20230410091415_add_active_to_channel/migration.sql deleted file mode 100644 index 2f4baa64..00000000 --- a/src-tauri/prisma/migrations/20230410091415_add_active_to_channel/migration.sql +++ /dev/null @@ -1,17 +0,0 @@ --- RedefineTables -PRAGMA foreign_keys=OFF; -CREATE TABLE "new_Channel" ( - "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - "eventId" TEXT NOT NULL, - "content" TEXT NOT NULL, - "active" BOOLEAN NOT NULL DEFAULT false, - "accountId" INTEGER NOT NULL, - CONSTRAINT "Channel_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "Account" ("id") ON DELETE RESTRICT ON UPDATE CASCADE -); -INSERT INTO "new_Channel" ("accountId", "content", "eventId", "id") SELECT "accountId", "content", "eventId", "id" FROM "Channel"; -DROP TABLE "Channel"; -ALTER TABLE "new_Channel" RENAME TO "Channel"; -CREATE UNIQUE INDEX "Channel_eventId_key" ON "Channel"("eventId"); -CREATE INDEX "Channel_eventId_idx" ON "Channel"("eventId"); -PRAGMA foreign_key_check; -PRAGMA foreign_keys=ON; diff --git a/src-tauri/prisma/migrations/migration_lock.toml b/src-tauri/prisma/migrations/migration_lock.toml deleted file mode 100644 index e5e5c470..00000000 --- a/src-tauri/prisma/migrations/migration_lock.toml +++ /dev/null @@ -1,3 +0,0 @@ -# Please do not edit this file manually -# It should be added in your version-control system (i.e. Git) -provider = "sqlite" \ No newline at end of file diff --git a/src-tauri/prisma/schema.prisma b/src-tauri/prisma/schema.prisma deleted file mode 100644 index 197198ac..00000000 --- a/src-tauri/prisma/schema.prisma +++ /dev/null @@ -1,104 +0,0 @@ -datasource db { - provider = "sqlite" - url = "file:../../lume.db" -} - -generator client { - provider = "cargo prisma" - // The location to generate the client. Is relative to the position of the schema - output = "../src/db.rs" - module_path = "db" -} - -model Account { - id Int @id @default(autoincrement()) - pubkey String @unique - privkey String @unique - active Boolean @default(false) - metadata String - - // related - plebs Pleb[] - messages Message[] - notes Note[] - chats Chat[] - channels Channel[] - - @@index([pubkey]) -} - -model Pleb { - id Int @id @default(autoincrement()) - plebId String @unique - pubkey String - kind Int - metadata String - - Account Account @relation(fields: [accountId], references: [id]) - accountId Int -} - -model Note { - id Int @id @default(autoincrement()) - eventId String @unique - pubkey String - kind Int - tags String - content String - parent_id String - parent_comment_id String - createdAt Int - - Account Account @relation(fields: [accountId], references: [id]) - accountId Int - - @@index([eventId, createdAt]) -} - -model Message { - id Int @id @default(autoincrement()) - pubkey String - content String - tags String - createdAt Int - - Account Account @relation(fields: [accountId], references: [id]) - accountId Int - - @@index([pubkey, createdAt]) -} - -model Chat { - id Int @id @default(autoincrement()) - pubkey String @unique - createdAt Int - - Account Account @relation(fields: [accountId], references: [id]) - accountId Int - - @@index([pubkey]) -} - -model Channel { - id Int @id @default(autoincrement()) - eventId String @unique - content String - active Boolean @default(false) - - Account Account @relation(fields: [accountId], references: [id]) - accountId Int - - @@index([eventId]) -} - -model Relay { - id Int @id @default(autoincrement()) - url String - active Boolean @default(true) -} - -model Setting { - id Int @id @default(autoincrement()) - key String - value String -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index b7c1ab23..817c0de4 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -8,392 +8,27 @@ extern crate objc; use tauri::{Manager, WindowEvent}; +use tauri_plugin_sql::{Migration, MigrationKind}; + #[cfg(target_os = "macos")] use window_ext::WindowExt; #[cfg(target_os = "macos")] mod window_ext; -#[allow(warnings, unused)] -mod db; - -use db::*; -use prisma_client_rust::Direction; -use serde::Deserialize; -use specta::{collect_types, Type}; -use std::{sync::Arc, vec}; -use tauri::State; -use tauri_specta::ts; - -type DbState<'a> = State<'a, Arc>; - -#[derive(Deserialize, Type)] -struct CreateAccountData { - pubkey: String, - privkey: String, - metadata: String, -} - -#[derive(Deserialize, Type)] -struct GetPlebData { - account_id: i32, - kind: i32, -} - -#[derive(Deserialize, Type)] -struct GetPlebPubkeyData { - pubkey: String, -} - -#[derive(Deserialize, Type)] -struct CreatePlebData { - pleb_id: String, - pubkey: String, - kind: i32, - metadata: String, - account_id: i32, -} - -#[derive(Deserialize, Type)] -struct CreateNoteData { - event_id: String, - pubkey: String, - kind: i32, - tags: String, - content: String, - parent_id: String, - parent_comment_id: String, - created_at: i32, - account_id: i32, -} - -#[derive(Deserialize, Type)] -struct GetNoteByIdData { - event_id: String, -} - -#[derive(Deserialize, Type)] -struct GetNoteData { - date: i32, - limit: i32, - offset: i32, -} - -#[derive(Deserialize, Type)] -struct GetLatestNoteData { - date: i32, -} - -#[derive(Deserialize, Type)] -struct CreateChatData { - pubkey: String, - created_at: i32, - account_id: i32, -} - -#[derive(Deserialize, Type)] -struct GetChatData { - account_id: i32, -} - -#[derive(Deserialize, Type)] -struct CreateChannelData { - event_id: String, - content: String, - account_id: i32, -} - -#[derive(Deserialize, Type)] -struct GetChannelData { - limit: i32, - offset: i32, -} - -#[derive(Deserialize, Type)] -struct GetActiveChannelData { - active: bool, -} - -#[derive(Deserialize, Type)] -struct UpdateChannelData { - event_id: String, - active: bool, -} - #[derive(Clone, serde::Serialize)] struct Payload { args: Vec, cwd: String, } -#[tauri::command] -#[specta::specta] -async fn get_accounts(db: DbState<'_>) -> Result, ()> { - db.account() - .find_many(vec![account::active::equals(false)]) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn create_account(db: DbState<'_>, data: CreateAccountData) -> Result { - db.account() - .create(data.pubkey, data.privkey, data.metadata, vec![]) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_plebs(db: DbState<'_>, data: GetPlebData) -> Result, ()> { - db.pleb() - .find_many(vec![ - pleb::account_id::equals(data.account_id), - pleb::kind::equals(data.kind), - ]) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_pleb_by_pubkey( - db: DbState<'_>, - data: GetPlebPubkeyData, -) -> Result, ()> { - db.pleb() - .find_first(vec![pleb::pubkey::equals(data.pubkey)]) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn create_pleb(db: DbState<'_>, data: CreatePlebData) -> Result { - let pleb_id = data.pleb_id.clone(); - let metadata = data.metadata.clone(); - - db.pleb() - .upsert( - pleb::pleb_id::equals(pleb_id), - pleb::create( - data.pleb_id, - data.pubkey, - data.kind, - data.metadata, - account::id::equals(data.account_id), - vec![], - ), - vec![pleb::metadata::set(metadata)], - ) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn create_note(db: DbState<'_>, data: CreateNoteData) -> Result { - let event_id = data.event_id.clone(); - let content = data.content.clone(); - - db.note() - .upsert( - note::event_id::equals(event_id), - note::create( - data.event_id, - data.pubkey, - data.kind, - data.tags, - data.content, - data.parent_id, - data.parent_comment_id, - data.created_at, - account::id::equals(data.account_id), - vec![], - ), - vec![note::content::set(content)], - ) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_notes(db: DbState<'_>, data: GetNoteData) -> Result, ()> { - db.note() - .find_many(vec![note::created_at::lte(data.date)]) - .order_by(note::created_at::order(Direction::Desc)) - .take(data.limit.into()) - .skip(data.offset.into()) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_latest_notes(db: DbState<'_>, data: GetLatestNoteData) -> Result, ()> { - db.note() - .find_many(vec![note::created_at::gt(data.date)]) - .order_by(note::created_at::order(Direction::Desc)) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_note_by_id(db: DbState<'_>, data: GetNoteByIdData) -> Result, ()> { - db.note() - .find_unique(note::event_id::equals(data.event_id)) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -async fn count_total_notes(db: DbState<'_>) -> Result { - db.note().count(vec![]).exec().await.map_err(|_| ()) -} - -#[tauri::command] -async fn count_total_channels(db: DbState<'_>) -> Result { - db.channel().count(vec![]).exec().await.map_err(|_| ()) -} - -#[tauri::command] -async fn count_total_chats(db: DbState<'_>) -> Result { - db.chat().count(vec![]).exec().await.map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn create_channel(db: DbState<'_>, data: CreateChannelData) -> Result { - db.channel() - .upsert( - channel::event_id::equals(data.event_id.clone()), - channel::create( - data.event_id, - data.content, - account::id::equals(data.account_id), - vec![], - ), - vec![], - ) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn update_channel(db: DbState<'_>, data: UpdateChannelData) -> Result { - db.channel() - .update( - channel::event_id::equals(data.event_id), // Unique filter - vec![channel::active::set(data.active)], // Vec of updates - ) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_channels(db: DbState<'_>, data: GetChannelData) -> Result, ()> { - db.channel() - .find_many(vec![]) - .take(data.limit.into()) - .skip(data.offset.into()) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_active_channels( - db: DbState<'_>, - data: GetActiveChannelData, -) -> Result, ()> { - db.channel() - .find_many(vec![channel::active::equals(data.active)]) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn create_chat(db: DbState<'_>, data: CreateChatData) -> Result { - db.chat() - .upsert( - chat::pubkey::equals(data.pubkey.clone()), - chat::create( - data.pubkey, - data.created_at, - account::id::equals(data.account_id), - vec![], - ), - vec![], - ) - .exec() - .await - .map_err(|_| ()) -} - -#[tauri::command] -#[specta::specta] -async fn get_chats(db: DbState<'_>, data: GetChatData) -> Result, ()> { - db.chat() - .find_many(vec![chat::account_id::equals(data.account_id)]) - .exec() - .await - .map_err(|_| ()) -} - -#[tokio::main] -async fn main() { - let db = PrismaClient::_builder().build().await.unwrap(); - - #[cfg(debug_assertions)] - ts::export( - collect_types![ - get_accounts, - create_account, - get_plebs, - get_pleb_by_pubkey, - create_pleb, - create_note, - get_notes, - get_latest_notes, - get_note_by_id, - create_channel, - update_channel, - get_channels, - get_active_channels, - create_chat, - get_chats - ], - "../src/utils/bindings.ts", - ) - .unwrap(); - - #[cfg(debug_assertions)] - db._db_push().await.unwrap(); - +fn main() { tauri::Builder::default() .setup(|app| { - let main_window = app.get_window("main").unwrap(); - // set inset for traffic lights (macos) #[cfg(target_os = "macos")] - main_window.position_traffic_lights(8.0, 20.0); + let main_window = app.get_window("main").unwrap(); + + #[cfg(target_os = "macos")] + main_window.position_traffic_lights(8.0, 20.0); // set inset for traffic lights (macos) Ok(()) }) @@ -411,27 +46,19 @@ async fn main() { _ => {} } }) - .invoke_handler(tauri::generate_handler![ - get_accounts, - create_account, - get_plebs, - get_pleb_by_pubkey, - create_pleb, - create_note, - get_notes, - get_latest_notes, - get_note_by_id, - count_total_notes, - count_total_channels, - count_total_chats, - create_channel, - update_channel, - get_channels, - get_active_channels, - create_chat, - get_chats - ]) - .manage(Arc::new(db)) + .plugin( + tauri_plugin_sql::Builder::default() + .add_migrations( + "sqlite:lume.db", + vec![Migration { + version: 20230418013219, + description: "initial data", + sql: include_str!("../migrations/20230418013219_initial_data.sql"), + kind: MigrationKind::Up, + }], + ) + .build(), + ) .plugin(tauri_plugin_single_instance::init(|app, argv, cwd| { println!("{}, {argv:?}, {cwd}", app.package_info().name); app diff --git a/src/app/page.tsx b/src/app/page.tsx index 0ef67e85..a6942bce 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -3,6 +3,7 @@ import { RelayContext } from '@components/relaysProvider'; import { dateToUnix, hoursAgo } from '@utils/getDate'; +import { getActiveAccount } from '@utils/storage'; import { getParentID, pubkeyArray } from '@utils/transform'; import LumeSymbol from '@assets/icons/Lume'; @@ -21,11 +22,6 @@ export default function Page() { const eose = useRef(0); const unsubscribe = useRef(null); - const fetchActiveAccount = useCallback(async () => { - const { getAccounts } = await import('@utils/bindings'); - return await getAccounts(); - }, []); - const fetchPlebsByAccount = useCallback(async (id: number, kind: number) => { const { getPlebs } = await import('@utils/bindings'); return await getPlebs({ account_id: id, kind: kind }); @@ -47,7 +43,7 @@ export default function Page() { }, []); const fetchData = useCallback( - async (account, follows) => { + async (account) => { const { createNote } = await import('@utils/bindings'); const { createChat } = await import('@utils/bindings'); const { createChannel } = await import('@utils/bindings'); @@ -67,7 +63,7 @@ export default function Page() { } query.push({ kinds: [1, 6], - authors: follows, + authors: account.follows, since: since, until: dateToUnix(now.current), }); @@ -159,22 +155,14 @@ export default function Page() { ); useEffect(() => { - let account; - let follows; - - fetchActiveAccount() + getActiveAccount() .then((res: any) => { - if (res.length > 0) { - account = res[0]; + if (res) { + const account = res; // update local storage writeStorage('activeAccount', account); - // fetch plebs, kind 0 = following - fetchPlebsByAccount(account.id, 0).then((res) => { - follows = pubkeyArray(res); - writeStorage('activeAccountFollows', res); - // fetch data - fetchData(account, follows); - }); + // fetch data + fetchData(account); } else { router.replace('/onboarding'); } @@ -186,7 +174,7 @@ export default function Page() { unsubscribe.current(); } }; - }, [fetchActiveAccount, fetchPlebsByAccount, totalNotes, fetchData, router]); + }, [fetchData, router]); return (
diff --git a/src/utils/storage.tsx b/src/utils/storage.tsx new file mode 100644 index 00000000..7914ac7d --- /dev/null +++ b/src/utils/storage.tsx @@ -0,0 +1,64 @@ +import Database from 'tauri-plugin-sql-api'; + +let db: null | Database = null; + +// connect database (sqlite) +// path: tauri::api::path::BaseDirectory::App +export async function connect(): Promise { + if (db) { + return db; + } + db = await Database.load('sqlite:lume.db'); + return db; +} + +// get active account +export async function getActiveAccount() { + const db = await connect(); + // #TODO: check is_active == true + const result = await db.select(`SELECT * FROM accounts LIMIT 1;`); + return result[0]; +} + +// create account +export async function createAccount(data: { pubkey: string; privkey: string; metadata: string }) { + const db = await connect(); + return await db.execute('INSERT OR IGNORE INTO accounts (pubkey, privkey, metadata) VALUES (?, ?, ?);', [ + data.pubkey, + data.privkey, + data.metadata, + ]); +} + +// update account +export async function updateAccount(column: string, value: string, pubkey: string) { + const db = await connect(); + return await db.execute(`UPDATE accounts SET ${column} = "${value}" WHERE pubkey = "${pubkey}";`); +} + +// create pleb +export async function createPleb(pubkey: string, metadata: string) { + const db = await connect(); + return await db.execute('INSERT OR IGNORE INTO plebs (pubkey, metadata) VALUES (?, ?);', [pubkey, metadata]); +} + +// count total notes +export async function countTotalNotes() { + const db = await connect(); + const result = await db.select('SELECT COUNT(*) AS "total" FROM notes;'); + return result[0]; +} + +// get all notes +export async function getNotes(time: string, limit: number, offset: number) { + const db = await connect(); + return await db.select( + `SELECT * FROM notes WHERE created_at <= "${time}" ORDER BY created_at DESC LIMIT "${limit}" OFFSET "${offset}";` + ); +} + +// get all latest notes +export async function getLatestNotes(time) { + const db = await connect(); + return await db.select(`SELECT * FROM cache_notes WHERE created_at > "${time}" ORDER BY created_at DESC;`); +} diff --git a/src/utils/truncate.tsx b/src/utils/truncate.tsx deleted file mode 100644 index 3653d3b9..00000000 --- a/src/utils/truncate.tsx +++ /dev/null @@ -1,12 +0,0 @@ -export const truncate = (fullStr: string, strLen: number, separator: string | unknown[]) => { - if (fullStr.length <= strLen) return fullStr; - - separator = separator || '...'; - - const sepLen = separator.length, - charsToShow = strLen - sepLen, - frontChars = Math.ceil(charsToShow / 2), - backChars = Math.floor(charsToShow / 2); - - return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars); -};