From 4d323b4de5ef0fc6a57582e395bf447612115600 Mon Sep 17 00:00:00 2001 From: Oscar Parra Date: Fri, 21 Feb 2025 13:56:50 +0000 Subject: [PATCH 01/25] First Commit --- Pipfile.lock | 654 +++++++++++++++------------ migrations/README | 1 + migrations/alembic.ini | 50 ++ migrations/env.py | 113 +++++ migrations/script.py.mako | 24 + migrations/versions/22b5bf5541c4_.py | 35 ++ src/front/img/microphone.jpg | Bin 0 -> 112253 bytes src/front/js/layout.js | 53 ++- src/front/js/pages/login.js | 76 ++++ src/front/styles/home.css | 10 +- src/front/styles/login.css | 7 + 11 files changed, 707 insertions(+), 316 deletions(-) create mode 100644 migrations/README create mode 100644 migrations/alembic.ini create mode 100644 migrations/env.py create mode 100644 migrations/script.py.mako create mode 100644 migrations/versions/22b5bf5541c4_.py create mode 100644 src/front/img/microphone.jpg create mode 100644 src/front/js/pages/login.js create mode 100644 src/front/styles/login.css diff --git a/Pipfile.lock b/Pipfile.lock index a391864e9d..508225b0a1 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "74f92d76f687bb774828613a3a513123fe2ffdb429b95b351d29721dddfd3fb8" + "sha256": "4f0e9a772f04b621ff0313b7ecfa468af1526aa27df8bfcacac6955d499d352d" }, "pipfile-spec": 6, "requires": { @@ -18,73 +18,91 @@ "default": { "alembic": { "hashes": [ - "sha256:6880dec4f28dd7bd999d2ed13fbe7c9d4337700a44d11a524c0ce0c59aaf0dbd", - "sha256:e8a6ff9f3b1887e1fed68bfb8fb9a000d8f61c21bdcc85b67bb9f87fcbc4fce3" + "sha256:1acdd7a3a478e208b0503cd73614d5e4c6efafa4e73518bb60e4f2846a37b1c5", + "sha256:496e888245a53adf1498fcab31713a469c65836f8de76e01399aa1c3e90dd213" ], - "markers": "python_version >= '3.7'", - "version": "==1.9.2" + "markers": "python_version >= '3.8'", + "version": "==1.14.1" + }, + "blinker": { + "hashes": [ + "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", + "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc" + ], + "markers": "python_version >= '3.9'", + "version": "==1.9.0" }, "certifi": { "hashes": [ - "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", - "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" + "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", + "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe" ], "markers": "python_version >= '3.6'", - "version": "==2022.12.7" + "version": "==2025.1.31" }, "click": { "hashes": [ - "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", - "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" + "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", + "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" ], "markers": "python_version >= '3.7'", - "version": "==8.1.3" + "version": "==8.1.8" }, "cloudinary": { "hashes": [ - "sha256:f52a1f5eb2c6820f13aa01c109caa5937ad3fd6caf5967817d0ef6c113403afc" + "sha256:ba223705409b2aaddd5196c2184d65f50a83dffcba3b94f3727658ff6a0172a3", + "sha256:e4191b470c5bae55542b64e0a78659af42971880294456dca480bc974fa9280a" ], "index": "pypi", - "version": "==1.31.0" + "version": "==1.42.2" }, "flask": { "hashes": [ - "sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b", - "sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526" + "sha256:5f873c5184c897c8d9d1b05df1e3d01b14910ce69607a117bd3277098a5836ac", + "sha256:d667207822eb83f1c4b50949b1623c8fc8d51f2341d65f72e1a1815397551136" ], "index": "pypi", - "version": "==2.2.2" + "version": "==3.1.0" }, "flask-admin": { "hashes": [ - "sha256:424ffc79b7b0dfff051555686ea12e86e48dffacac14beaa319fb4502ac40988" + "sha256:24cae2af832b6a611a01d7dc35f42d266c1d6c75a426b869d8cb241b78233369", + "sha256:fd8190f1ec3355913a22739c46ed3623f1d82b8112cde324c60a6fc9b21c9406" ], "index": "pypi", - "version": "==1.6.0" + "version": "==1.6.1" }, "flask-cors": { "hashes": [ - "sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438", - "sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de" + "sha256:5aadb4b950c4e93745034594d9f3ea6591f734bb3662e16e255ffbf5e89c88ef", + "sha256:b9e307d082a9261c100d8fb0ba909eec6a228ed1b60a8315fd85f783d61910bc" + ], + "index": "pypi", + "version": "==5.0.0" + }, + "flask-jwt-extended": { + "hashes": [ + "sha256:63a28fc9731bcc6c4b8815b6f954b5904caa534fc2ae9b93b1d3ef12930dca95", + "sha256:9215d05a9413d3855764bcd67035e75819d23af2fafb6b55197eb5a3313fdfb2" ], "index": "pypi", - "version": "==3.0.10" + "version": "==4.6.0" }, "flask-migrate": { "hashes": [ - "sha256:8662a9dd391ce36deeaf3265987319c20fdb4c8a45306a32ba4f8224459abed4", - "sha256:a0062c8d3f32de02847086b46cfc389412f78c71c89a619ebd7097e89d72ea4b" + "sha256:1a336b06eb2c3ace005f5f2ded8641d534c18798d64061f6ff11f79e1434126d", + "sha256:24d8051af161782e0743af1b04a152d007bad9772b2bca67b7ec1e8ceeb3910d" ], "index": "pypi", - "version": "==4.0.3" + "version": "==4.1.0" }, "flask-sqlalchemy": { "hashes": [ - "sha256:2764335f3c9d7ebdc9ed6044afaf98aae9fa50d7a074cef55dde307ec95903ec", - "sha256:add5750b2f9cd10512995261ee2aa23fab85bd5626061aa3c564b33bb4aa780a" + "sha256:c5765e58ca145401b52106c0f46178569243c5da25556be2c231ecc60867c5b1", + "sha256:cabb6600ddd819a9f859f36515bb1bd8e7dbf30206cc679d2b081dff9e383283" ], "index": "pypi", - "version": "==3.0.3" + "version": "==3.0.5" }, "flask-swagger": { "hashes": [ @@ -96,304 +114,346 @@ }, "greenlet": { "hashes": [ - "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a", - "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a", - "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43", - "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33", - "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8", - "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088", - "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca", - "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343", - "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645", - "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db", - "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df", - "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3", - "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86", - "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2", - "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a", - "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf", - "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7", - "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394", - "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40", - "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3", - "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6", - "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74", - "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0", - "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3", - "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91", - "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5", - "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9", - "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8", - "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b", - "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6", - "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb", - "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73", - "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b", - "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df", - "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9", - "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f", - "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0", - "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857", - "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a", - "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249", - "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30", - "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292", - "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b", - "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d", - "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b", - "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c", - "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca", - "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7", - "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75", - "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae", - "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b", - "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470", - "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564", - "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9", - "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099", - "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0", - "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5", - "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19", - "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1", - "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526" + "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e", + "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7", + "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01", + "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1", + "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159", + "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563", + "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83", + "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9", + "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395", + "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa", + "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942", + "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1", + "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441", + "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22", + "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9", + "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0", + "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba", + "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3", + "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1", + "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6", + "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291", + "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39", + "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d", + "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467", + "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475", + "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef", + "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c", + "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511", + "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c", + "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822", + "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a", + "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8", + "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d", + "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01", + "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145", + "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80", + "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13", + "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e", + "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b", + "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1", + "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef", + "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc", + "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff", + "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120", + "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437", + "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd", + "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981", + "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36", + "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a", + "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798", + "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7", + "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761", + "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0", + "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e", + "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af", + "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa", + "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c", + "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42", + "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e", + "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81", + "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e", + "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617", + "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc", + "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de", + "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111", + "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383", + "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70", + "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6", + "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4", + "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011", + "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803", + "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79", + "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f" ], "markers": "python_version >= '3' and platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))", - "version": "==2.0.2" + "version": "==3.1.1" }, "gunicorn": { "hashes": [ - "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e", - "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8" + "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", + "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec" ], "index": "pypi", - "version": "==20.1.0" + "version": "==23.0.0" }, "itsdangerous": { "hashes": [ - "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", - "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a" + "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", + "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173" ], - "markers": "python_version >= '3.7'", - "version": "==2.1.2" + "markers": "python_version >= '3.8'", + "version": "==2.2.0" }, "jinja2": { "hashes": [ - "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", - "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" + "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", + "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb" ], "markers": "python_version >= '3.7'", - "version": "==3.1.2" + "version": "==3.1.5" }, "mako": { "hashes": [ - "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818", - "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34" + "sha256:95920acccb578427a9aa38e37a186b1e43156c87260d7ba18ca63aa4c7cbd3a1", + "sha256:b5d65ff3462870feec922dbccf38f6efb44e5714d7b593a656be86663d8600ac" ], - "markers": "python_version >= '3.7'", - "version": "==1.2.4" + "markers": "python_version >= '3.8'", + "version": "==1.3.9" }, "markupsafe": { "hashes": [ - "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed", - "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc", - "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2", - "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460", - "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7", - "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0", - "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1", - "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa", - "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03", - "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323", - "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65", - "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013", - "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036", - "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f", - "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4", - "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419", - "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2", - "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619", - "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a", - "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a", - "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd", - "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7", - "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666", - "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65", - "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859", - "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625", - "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff", - "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156", - "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd", - "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba", - "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f", - "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1", - "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094", - "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a", - "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513", - "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed", - "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d", - "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3", - "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147", - "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c", - "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603", - "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601", - "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a", - "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1", - "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d", - "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3", - "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54", - "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2", - "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6", - "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58" + "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", + "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", + "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", + "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", + "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", + "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", + "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", + "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", + "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", + "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", + "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", + "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", + "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", + "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", + "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", + "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", + "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", + "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", + "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", + "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", + "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", + "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", + "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", + "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", + "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", + "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", + "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", + "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", + "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", + "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", + "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", + "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", + "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", + "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", + "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", + "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", + "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", + "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", + "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", + "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", + "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", + "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", + "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", + "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", + "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", + "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", + "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", + "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", + "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", + "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", + "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", + "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", + "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", + "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", + "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", + "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", + "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", + "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", + "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", + "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", + "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50" ], - "markers": "python_version >= '3.7'", - "version": "==2.1.2" + "markers": "python_version >= '3.9'", + "version": "==3.0.2" + }, + "packaging": { + "hashes": [ + "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", + "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" + ], + "markers": "python_version >= '3.8'", + "version": "==24.2" }, "psycopg2-binary": { "hashes": [ - "sha256:00475004e5ed3e3bf5e056d66e5dcdf41a0dc62efcd57997acd9135c40a08a50", - "sha256:01ad49d68dd8c5362e4bfb4158f2896dc6e0c02e87b8a3770fc003459f1a4425", - "sha256:024030b13bdcbd53d8a93891a2cf07719715724fc9fee40243f3bd78b4264b8f", - "sha256:02551647542f2bf89073d129c73c05a25c372fc0a49aa50e0de65c3c143d8bd0", - "sha256:043a9fd45a03858ff72364b4b75090679bd875ee44df9c0613dc862ca6b98460", - "sha256:05b3d479425e047c848b9782cd7aac9c6727ce23181eb9647baf64ffdfc3da41", - "sha256:0775d6252ccb22b15da3b5d7adbbf8cfe284916b14b6dc0ff503a23edb01ee85", - "sha256:1764546ffeaed4f9428707be61d68972eb5ede81239b46a45843e0071104d0dd", - "sha256:1e491e6489a6cb1d079df8eaa15957c277fdedb102b6a68cfbf40c4994412fd0", - "sha256:212757ffcecb3e1a5338d4e6761bf9c04f750e7d027117e74aa3cd8a75bb6fbd", - "sha256:215d6bf7e66732a514f47614f828d8c0aaac9a648c46a831955cb103473c7147", - "sha256:25382c7d174c679ce6927c16b6fbb68b10e56ee44b1acb40671e02d29f2fce7c", - "sha256:2abccab84d057723d2ca8f99ff7b619285d40da6814d50366f61f0fc385c3903", - "sha256:2d964eb24c8b021623df1c93c626671420c6efadbdb8655cb2bd5e0c6fa422ba", - "sha256:2ec46ed947801652c9643e0b1dc334cfb2781232e375ba97312c2fc256597632", - "sha256:2ef892cabdccefe577088a79580301f09f2a713eb239f4f9f62b2b29cafb0577", - "sha256:33e632d0885b95a8b97165899006c40e9ecdc634a529dca7b991eb7de4ece41c", - "sha256:3520d7af1ebc838cc6084a3281145d5cd5bdd43fdef139e6db5af01b92596cb7", - "sha256:3d790f84201c3698d1bfb404c917f36e40531577a6dda02e45ba29b64d539867", - "sha256:3fc33295cfccad697a97a76dec3f1e94ad848b7b163c3228c1636977966b51e2", - "sha256:422e3d43b47ac20141bc84b3d342eead8d8099a62881a501e97d15f6addabfe9", - "sha256:426c2ae999135d64e6a18849a7d1ad0e1bd007277e4a8f4752eaa40a96b550ff", - "sha256:46512486be6fbceef51d7660dec017394ba3e170299d1dc30928cbedebbf103a", - "sha256:46850a640df62ae940e34a163f72e26aca1f88e2da79148e1862faaac985c302", - "sha256:484405b883630f3e74ed32041a87456c5e0e63a8e3429aa93e8714c366d62bd1", - "sha256:4e7904d1920c0c89105c0517dc7e3f5c20fb4e56ba9cdef13048db76947f1d79", - "sha256:56b2957a145f816726b109ee3d4e6822c23f919a7d91af5a94593723ed667835", - "sha256:5c6527c8efa5226a9e787507652dd5ba97b62d29b53c371a85cd13f957fe4d42", - "sha256:5cbc554ba47ecca8cd3396ddaca85e1ecfe3e48dd57dc5e415e59551affe568e", - "sha256:5d28ecdf191db558d0c07d0f16524ee9d67896edf2b7990eea800abeb23ebd61", - "sha256:5fc447058d083b8c6ac076fc26b446d44f0145308465d745fba93a28c14c9e32", - "sha256:63e318dbe52709ed10d516a356f22a635e07a2e34c68145484ed96a19b0c4c68", - "sha256:68d81a2fe184030aa0c5c11e518292e15d342a667184d91e30644c9d533e53e1", - "sha256:6e63814ec71db9bdb42905c925639f319c80e7909fb76c3b84edc79dadef8d60", - "sha256:6f8a9bcab7b6db2e3dbf65b214dfc795b4c6b3bb3af922901b6a67f7cb47d5f8", - "sha256:70831e03bd53702c941da1a1ad36c17d825a24fbb26857b40913d58df82ec18b", - "sha256:74eddec4537ab1f701a1647214734bc52cee2794df748f6ae5908e00771f180a", - "sha256:7b3751857da3e224f5629400736a7b11e940b5da5f95fa631d86219a1beaafec", - "sha256:7cf1d44e710ca3a9ce952bda2855830fe9f9017ed6259e01fcd71ea6287565f5", - "sha256:7d07f552d1e412f4b4e64ce386d4c777a41da3b33f7098b6219012ba534fb2c2", - "sha256:7d88db096fa19d94f433420eaaf9f3c45382da2dd014b93e4bf3215639047c16", - "sha256:7ee3095d02d6f38bd7d9a5358fcc9ea78fcdb7176921528dd709cc63f40184f5", - "sha256:902844f9c4fb19b17dfa84d9e2ca053d4a4ba265723d62ea5c9c26b38e0aa1e6", - "sha256:937880290775033a743f4836aa253087b85e62784b63fd099ee725d567a48aa1", - "sha256:95076399ec3b27a8f7fa1cc9a83417b1c920d55cf7a97f718a94efbb96c7f503", - "sha256:9c38d3869238e9d3409239bc05bc27d6b7c99c2a460ea337d2814b35fb4fea1b", - "sha256:9e32cedc389bcb76d9f24ea8a012b3cb8385ee362ea437e1d012ffaed106c17d", - "sha256:9ffdc51001136b699f9563b1c74cc1f8c07f66ef7219beb6417a4c8aaa896c28", - "sha256:a0adef094c49f242122bb145c3c8af442070dc0e4312db17e49058c1702606d4", - "sha256:a36a0e791805aa136e9cbd0ffa040d09adec8610453ee8a753f23481a0057af5", - "sha256:a7e518a0911c50f60313cb9e74a169a65b5d293770db4770ebf004245f24b5c5", - "sha256:af0516e1711995cb08dc19bbd05bec7dbdebf4185f68870595156718d237df3e", - "sha256:b8104f709590fff72af801e916817560dbe1698028cd0afe5a52d75ceb1fce5f", - "sha256:b911dfb727e247340d36ae20c4b9259e4a64013ab9888ccb3cbba69b77fd9636", - "sha256:b9a794cef1d9c1772b94a72eec6da144c18e18041d294a9ab47669bc77a80c1d", - "sha256:b9c33d4aef08dfecbd1736ceab8b7b3c4358bf10a0121483e5cd60d3d308cc64", - "sha256:b9d38a4656e4e715d637abdf7296e98d6267df0cc0a8e9a016f8ba07e4aa3eeb", - "sha256:bcda1c84a1c533c528356da5490d464a139b6e84eb77cc0b432e38c5c6dd7882", - "sha256:bef7e3f9dc6f0c13afdd671008534be5744e0e682fb851584c8c3a025ec09720", - "sha256:c15ba5982c177bc4b23a7940c7e4394197e2d6a424a2d282e7c236b66da6d896", - "sha256:c5254cbd4f4855e11cebf678c1a848a3042d455a22a4ce61349c36aafd4c2267", - "sha256:c5682a45df7d9642eff590abc73157c887a68f016df0a8ad722dcc0f888f56d7", - "sha256:c5e65c6ac0ae4bf5bef1667029f81010b6017795dcb817ba5c7b8a8d61fab76f", - "sha256:d4c7b3a31502184e856df1f7bbb2c3735a05a8ce0ade34c5277e1577738a5c91", - "sha256:d892bfa1d023c3781a3cab8dd5af76b626c483484d782e8bd047c180db590e4c", - "sha256:dbc332beaf8492b5731229a881807cd7b91b50dbbbaf7fe2faf46942eda64a24", - "sha256:dc85b3777068ed30aff8242be2813038a929f2084f69e43ef869daddae50f6ee", - "sha256:e59137cdb970249ae60be2a49774c6dfb015bd0403f05af1fe61862e9626642d", - "sha256:e67b3c26e9b6d37b370c83aa790bbc121775c57bfb096c2e77eacca25fd0233b", - "sha256:e72c91bda9880f097c8aa3601a2c0de6c708763ba8128006151f496ca9065935", - "sha256:f95b8aca2703d6a30249f83f4fe6a9abf2e627aa892a5caaab2267d56be7ab69" + "sha256:04392983d0bb89a8717772a193cfaac58871321e3ec69514e1c4e0d4957b5aff", + "sha256:056470c3dc57904bbf63d6f534988bafc4e970ffd50f6271fc4ee7daad9498a5", + "sha256:0ea8e3d0ae83564f2fc554955d327fa081d065c8ca5cc6d2abb643e2c9c1200f", + "sha256:155e69561d54d02b3c3209545fb08938e27889ff5a10c19de8d23eb5a41be8a5", + "sha256:18c5ee682b9c6dd3696dad6e54cc7ff3a1a9020df6a5c0f861ef8bfd338c3ca0", + "sha256:19721ac03892001ee8fdd11507e6a2e01f4e37014def96379411ca99d78aeb2c", + "sha256:1a6784f0ce3fec4edc64e985865c17778514325074adf5ad8f80636cd029ef7c", + "sha256:2286791ececda3a723d1910441c793be44625d86d1a4e79942751197f4d30341", + "sha256:230eeae2d71594103cd5b93fd29d1ace6420d0b86f4778739cb1a5a32f607d1f", + "sha256:245159e7ab20a71d989da00f280ca57da7641fa2cdcf71749c193cea540a74f7", + "sha256:26540d4a9a4e2b096f1ff9cce51253d0504dca5a85872c7f7be23be5a53eb18d", + "sha256:270934a475a0e4b6925b5f804e3809dd5f90f8613621d062848dd82f9cd62007", + "sha256:27422aa5f11fbcd9b18da48373eb67081243662f9b46e6fd07c3eb46e4535142", + "sha256:2ad26b467a405c798aaa1458ba09d7e2b6e5f96b1ce0ac15d82fd9f95dc38a92", + "sha256:2b3d2491d4d78b6b14f76881905c7a8a8abcf974aad4a8a0b065273a0ed7a2cb", + "sha256:2ce3e21dc3437b1d960521eca599d57408a695a0d3c26797ea0f72e834c7ffe5", + "sha256:30e34c4e97964805f715206c7b789d54a78b70f3ff19fbe590104b71c45600e5", + "sha256:3216ccf953b3f267691c90c6fe742e45d890d8272326b4a8b20850a03d05b7b8", + "sha256:32581b3020c72d7a421009ee1c6bf4a131ef5f0a968fab2e2de0c9d2bb4577f1", + "sha256:35958ec9e46432d9076286dda67942ed6d968b9c3a6a2fd62b48939d1d78bf68", + "sha256:3abb691ff9e57d4a93355f60d4f4c1dd2d68326c968e7db17ea96df3c023ef73", + "sha256:3c18f74eb4386bf35e92ab2354a12c17e5eb4d9798e4c0ad3a00783eae7cd9f1", + "sha256:3c4745a90b78e51d9ba06e2088a2fe0c693ae19cc8cb051ccda44e8df8a6eb53", + "sha256:3c4ded1a24b20021ebe677b7b08ad10bf09aac197d6943bfe6fec70ac4e4690d", + "sha256:3e9c76f0ac6f92ecfc79516a8034a544926430f7b080ec5a0537bca389ee0906", + "sha256:48b338f08d93e7be4ab2b5f1dbe69dc5e9ef07170fe1f86514422076d9c010d0", + "sha256:4b3df0e6990aa98acda57d983942eff13d824135fe2250e6522edaa782a06de2", + "sha256:512d29bb12608891e349af6a0cccedce51677725a921c07dba6342beaf576f9a", + "sha256:5a507320c58903967ef7384355a4da7ff3f28132d679aeb23572753cbf2ec10b", + "sha256:5c370b1e4975df846b0277b4deba86419ca77dbc25047f535b0bb03d1a544d44", + "sha256:6b269105e59ac96aba877c1707c600ae55711d9dcd3fc4b5012e4af68e30c648", + "sha256:6d4fa1079cab9018f4d0bd2db307beaa612b0d13ba73b5c6304b9fe2fb441ff7", + "sha256:6dc08420625b5a20b53551c50deae6e231e6371194fa0651dbe0fb206452ae1f", + "sha256:73aa0e31fa4bb82578f3a6c74a73c273367727de397a7a0f07bd83cbea696baa", + "sha256:7559bce4b505762d737172556a4e6ea8a9998ecac1e39b5233465093e8cee697", + "sha256:79625966e176dc97ddabc142351e0409e28acf4660b88d1cf6adb876d20c490d", + "sha256:7a813c8bdbaaaab1f078014b9b0b13f5de757e2b5d9be6403639b298a04d218b", + "sha256:7b2c956c028ea5de47ff3a8d6b3cc3330ab45cf0b7c3da35a2d6ff8420896526", + "sha256:7f4152f8f76d2023aac16285576a9ecd2b11a9895373a1f10fd9db54b3ff06b4", + "sha256:7f5d859928e635fa3ce3477704acee0f667b3a3d3e4bb109f2b18d4005f38287", + "sha256:851485a42dbb0bdc1edcdabdb8557c09c9655dfa2ca0460ff210522e073e319e", + "sha256:8608c078134f0b3cbd9f89b34bd60a943b23fd33cc5f065e8d5f840061bd0673", + "sha256:880845dfe1f85d9d5f7c412efea7a08946a46894537e4e5d091732eb1d34d9a0", + "sha256:8aabf1c1a04584c168984ac678a668094d831f152859d06e055288fa515e4d30", + "sha256:8aecc5e80c63f7459a1a2ab2c64df952051df196294d9f739933a9f6687e86b3", + "sha256:8cd9b4f2cfab88ed4a9106192de509464b75a906462fb846b936eabe45c2063e", + "sha256:8de718c0e1c4b982a54b41779667242bc630b2197948405b7bd8ce16bcecac92", + "sha256:9440fa522a79356aaa482aa4ba500b65f28e5d0e63b801abf6aa152a29bd842a", + "sha256:b5f86c56eeb91dc3135b3fd8a95dc7ae14c538a2f3ad77a19645cf55bab1799c", + "sha256:b73d6d7f0ccdad7bc43e6d34273f70d587ef62f824d7261c4ae9b8b1b6af90e8", + "sha256:bb89f0a835bcfc1d42ccd5f41f04870c1b936d8507c6df12b7737febc40f0909", + "sha256:c3cc28a6fd5a4a26224007712e79b81dbaee2ffb90ff406256158ec4d7b52b47", + "sha256:ce5ab4bf46a211a8e924d307c1b1fcda82368586a19d0a24f8ae166f5c784864", + "sha256:d00924255d7fc916ef66e4bf22f354a940c67179ad3fd7067d7a0a9c84d2fbfc", + "sha256:d7cd730dfa7c36dbe8724426bf5612798734bff2d3c3857f36f2733f5bfc7c00", + "sha256:e217ce4d37667df0bc1c397fdcd8de5e81018ef305aed9415c3b093faaeb10fb", + "sha256:e3923c1d9870c49a2d44f795df0c889a22380d36ef92440ff618ec315757e539", + "sha256:e5720a5d25e3b99cd0dc5c8a440570469ff82659bb09431c1439b92caf184d3b", + "sha256:e8b58f0a96e7a1e341fc894f62c1177a7c83febebb5ff9123b579418fdc8a481", + "sha256:e984839e75e0b60cfe75e351db53d6db750b00de45644c5d1f7ee5d1f34a1ce5", + "sha256:eb09aa7f9cecb45027683bb55aebaaf45a0df8bf6de68801a6afdc7947bb09d4", + "sha256:ec8a77f521a17506a24a5f626cb2aee7850f9b69a0afe704586f63a464f3cd64", + "sha256:ecced182e935529727401b24d76634a357c71c9275b356efafd8a2a91ec07392", + "sha256:ee0e8c683a7ff25d23b55b11161c2663d4b099770f6085ff0a20d4505778d6b4", + "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1", + "sha256:f758ed67cab30b9a8d2833609513ce4d3bd027641673d4ebc9c067e4d208eec1", + "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567", + "sha256:ffe8ed017e4ed70f68b7b371d84b7d4a790368db9203dfc2d222febd3a9c8863" ], "index": "pypi", - "version": "==2.9.5" + "version": "==2.9.10" }, - "python-dotenv": { + "pyjwt": { "hashes": [ - "sha256:1c93de8f636cde3ce377292818d0e440b6e45a82f215c3744979151fa8151c49", - "sha256:41e12e0318bebc859fcc4d97d4db8d20ad21721a6aa5047dd59f090391cb549a" + "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", + "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb" ], - "index": "pypi", - "version": "==0.21.1" + "markers": "python_version >= '3.9'", + "version": "==2.10.1" }, - "pyyaml": { + "python-dotenv": { "hashes": [ - "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", - "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", - "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", - "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", - "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", - "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", - "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", - "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", - "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", - "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", - "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", - "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", - "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", - "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", - "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", - "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", - "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", - "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", - "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", - "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", - "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", - "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", - "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", - "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", - "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", - "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", - "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", - "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", - "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", - "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", - "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", - "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", - "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", - "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", - "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", - "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", - "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", - "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", - "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", - "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" + "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", + "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a" ], - "markers": "python_version >= '3.6'", - "version": "==6.0" + "index": "pypi", + "version": "==1.0.1" }, - "setuptools": { + "pyyaml": { "hashes": [ - "sha256:a7687c12b444eaac951ea87a9627c4f904ac757e7abdc5aac32833234af90378", - "sha256:e261cdf010c11a41cb5cb5f1bf3338a7433832029f559a6a7614bd42a967c300" + "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", + "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", + "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", + "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", + "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", + "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", + "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", + "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", + "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", + "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", + "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", + "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", + "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", + "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", + "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", + "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", + "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", + "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", + "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", + "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", + "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", + "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", + "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", + "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", + "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", + "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", + "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", + "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", + "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", + "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", + "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", + "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", + "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", + "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", + "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", + "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", + "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", + "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", + "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", + "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", + "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", + "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", + "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", + "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", + "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", + "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", + "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", + "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", + "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", + "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", + "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", + "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", + "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" ], - "markers": "python_version >= '3.7'", - "version": "==67.1.0" + "markers": "python_version >= '3.8'", + "version": "==6.0.2" }, "six": { "hashes": [ - "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", - "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", + "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.16.0" + "version": "==1.17.0" }, "sqlalchemy": { "hashes": [ @@ -444,35 +504,35 @@ }, "typing-extensions": { "hashes": [ - "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa", - "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e" + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], "index": "pypi", - "version": "==4.4.0" + "version": "==4.12.2" }, "urllib3": { "hashes": [ - "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72", - "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1" + "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", + "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.26.14" + "markers": "python_version >= '3.9'", + "version": "==2.3.0" }, "werkzeug": { "hashes": [ - "sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f", - "sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5" + "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", + "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746" ], - "markers": "python_version >= '3.7'", - "version": "==2.2.2" + "markers": "python_version >= '3.9'", + "version": "==3.1.3" }, "wtforms": { "hashes": [ - "sha256:6b351bbb12dd58af57ffef05bc78425d08d1914e0fd68ee14143b7ade023c5bc", - "sha256:837f2f0e0ca79481b92884962b914eba4e72b7a2daaf1f939c890ed0124b834b" + "sha256:bf831c042829c8cdbad74c27575098d541d039b1faa74c771545ecac916f2c07", + "sha256:f8d76180d7239c94c6322f7990ae1216dae3659b7aa1cee94b6318bdffb474b9" ], - "markers": "python_version >= '3.7'", - "version": "==3.0.1" + "index": "pypi", + "version": "==3.1.2" } }, "develop": {} diff --git a/migrations/README b/migrations/README new file mode 100644 index 0000000000..0e04844159 --- /dev/null +++ b/migrations/README @@ -0,0 +1 @@ +Single-database configuration for Flask. diff --git a/migrations/alembic.ini b/migrations/alembic.ini new file mode 100644 index 0000000000..ec9d45c26a --- /dev/null +++ b/migrations/alembic.ini @@ -0,0 +1,50 @@ +# A generic, single database configuration. + +[alembic] +# template used to generate migration files +# file_template = %%(rev)s_%%(slug)s + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic,flask_migrate + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[logger_flask_migrate] +level = INFO +handlers = +qualname = flask_migrate + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/migrations/env.py b/migrations/env.py new file mode 100644 index 0000000000..4c9709271b --- /dev/null +++ b/migrations/env.py @@ -0,0 +1,113 @@ +import logging +from logging.config import fileConfig + +from flask import current_app + +from alembic import context + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) +logger = logging.getLogger('alembic.env') + + +def get_engine(): + try: + # this works with Flask-SQLAlchemy<3 and Alchemical + return current_app.extensions['migrate'].db.get_engine() + except (TypeError, AttributeError): + # this works with Flask-SQLAlchemy>=3 + return current_app.extensions['migrate'].db.engine + + +def get_engine_url(): + try: + return get_engine().url.render_as_string(hide_password=False).replace( + '%', '%%') + except AttributeError: + return str(get_engine().url).replace('%', '%%') + + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +config.set_main_option('sqlalchemy.url', get_engine_url()) +target_db = current_app.extensions['migrate'].db + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def get_metadata(): + if hasattr(target_db, 'metadatas'): + return target_db.metadatas[None] + return target_db.metadata + + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, target_metadata=get_metadata(), literal_binds=True + ) + + with context.begin_transaction(): + context.run_migrations() + + +def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + + # this callback is used to prevent an auto-migration from being generated + # when there are no changes to the schema + # reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html + def process_revision_directives(context, revision, directives): + if getattr(config.cmd_opts, 'autogenerate', False): + script = directives[0] + if script.upgrade_ops.is_empty(): + directives[:] = [] + logger.info('No changes in schema detected.') + + conf_args = current_app.extensions['migrate'].configure_args + if conf_args.get("process_revision_directives") is None: + conf_args["process_revision_directives"] = process_revision_directives + + connectable = get_engine() + + with connectable.connect() as connection: + context.configure( + connection=connection, + target_metadata=get_metadata(), + **conf_args + ) + + with context.begin_transaction(): + context.run_migrations() + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/migrations/script.py.mako b/migrations/script.py.mako new file mode 100644 index 0000000000..2c0156303a --- /dev/null +++ b/migrations/script.py.mako @@ -0,0 +1,24 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} +branch_labels = ${repr(branch_labels)} +depends_on = ${repr(depends_on)} + + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/migrations/versions/22b5bf5541c4_.py b/migrations/versions/22b5bf5541c4_.py new file mode 100644 index 0000000000..0e8edd6c96 --- /dev/null +++ b/migrations/versions/22b5bf5541c4_.py @@ -0,0 +1,35 @@ +"""empty message + +Revision ID: 22b5bf5541c4 +Revises: +Create Date: 2025-02-19 19:55:11.728525 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '22b5bf5541c4' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('user', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('email', sa.String(length=120), nullable=False), + sa.Column('password', sa.String(length=80), nullable=False), + sa.Column('is_active', sa.Boolean(), nullable=False), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('email') + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('user') + # ### end Alembic commands ### diff --git a/src/front/img/microphone.jpg b/src/front/img/microphone.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1db21ae33c2266bdb2d6fdba74706704a21b7614 GIT binary patch literal 112253 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�sHdJPV45rcQOq%DZJSa)Sv|@*+G5VqFi$n3@eN} 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 literal 0 HcmV?d00001 diff --git a/src/front/js/layout.js b/src/front/js/layout.js index d42289f0ee..fdece58577 100755 --- a/src/front/js/layout.js +++ b/src/front/js/layout.js @@ -1,5 +1,5 @@ import React from "react"; -import { BrowserRouter, Route, Routes } from "react-router-dom"; +import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom"; import ScrollToTop from "./component/scrollToTop"; import { BackendURL } from "./component/backendURL"; @@ -8,6 +8,8 @@ import { Demo } from "./pages/demo"; import { Single } from "./pages/single"; import injectContext from "./store/appContext"; +import { Login } from "./pages/login"; + import { Navbar } from "./component/navbar"; import { Footer } from "./component/footer"; @@ -15,26 +17,41 @@ import { Footer } from "./component/footer"; const Layout = () => { //the basename is used when your project is published in a subdirectory and not in the root of the domain // you can set the basename on the .env file located at the root of this project, E.g: BASENAME=/react-hello-webapp/ - const basename = process.env.BASENAME || ""; - - if(!process.env.BACKEND_URL || process.env.BACKEND_URL == "") return ; - - return ( -
+ const basename = process.env.BASENAME || ""; + + if (!process.env.BACKEND_URL || process.env.BACKEND_URL === "") return ; + + return ( - - - } path="/" /> - } path="/demo" /> - } path="/single/:theid" /> - Not found!} /> - -
+ {/* Renderiza el contenido con la lógica de ocultar */} -
- ); -}; + ); + }; + + const LayoutContent = () => { + const location = useLocation(); // Obtiene la ruta actual + + const hideNavbarFooter = location.pathname === "/login"; // Solo oculta en /login + + return ( + <> + {!hideNavbarFooter && } + + + } path="/" /> + } path="/login" /> + } path="/demo" /> + } path="/single/:theid" /> + Not found!} /> + + + {!hideNavbarFooter &&