diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml index 32bc9fb21cce90d00345c7e2f50692e38dff9860..c88d780c356bdb651f00ca61cfb7c7e03ff53196 100644 --- a/.docker/docker-compose.yml +++ b/.docker/docker-compose.yml @@ -316,6 +316,14 @@ services: - search-db-data:/bitnami/opensearch/data ports: - "9200:9200" + deploy: + resources: + reservations: + cpus: '0.25' + memory: 512M + limits: + cpus: '0.50' + memory: 2048M healthcheck: test: curl -sSL 127.0.0.1:9200 <<: *healthcheck-params diff --git a/.docs/changelog.md b/.docs/changelog.md index 13ed1b4a243a2d1a04c046f9702548d307253d83..723b48b8f18da1b1bca79ecf04a832d1435a925e 100644 --- a/.docs/changelog.md +++ b/.docs/changelog.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### Fixes +* Fixed a bug where another PID was registered when using the DOI profile in the Metadata Service. * Fixed a bug where titles, descriptions, creators, etc. were not sorted to the user-specified ordering in [#531](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/531). * Fixed a design issue where the `get_identifier_data` method in the Python library only fetched the first 10.000 rows diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock index 3306655eea1596dab482562184a1efb804484e95..bc9a2cbeb3d608ec8e111a1d3bc937dc7667942a 100644 --- a/dbrepo-analyse-service/Pipfile.lock +++ b/dbrepo-analyse-service/Pipfile.lock @@ -77,19 +77,19 @@ }, "boto3": { "hashes": [ - "sha256:37e4b6b7f77f4cc476ea82eb76a502a289bb750eee96f7d07ec9bcec6592191a", - "sha256:417d0328fd3394ffb1c1f400d4277d45b0b86f48d2f088a02306474969344a47" + "sha256:1f95ec3ac88ae6381fa0409e4c2ad0a41f0caf5fd6d8ef45a9525406a3f58b18", + "sha256:abdb8c760543e9c22026320e62e2934762b0c4ac4f42e8ea2a756f2d489b3135" ], "index": "pypi", - "version": "==1.38.21" + "version": "==1.38.24" }, "botocore": { "hashes": [ - "sha256:08d5e9c00e5cc9e0ae0e60570846011789dc7f1d4ea094b3f3e3f3ae1ff2063a", - "sha256:567b4d338114174d0b41857002a4b1e8efb68f1654ed9f3ec6c34ebdef5e9eaf" + "sha256:43563d5c2dfd56ebbcd9e25f482fc45000bfaec5966b26c77b331bd340c46376", + "sha256:5901667b96d3a8603479879ab097560216cdc4c2918d433fc6509555d0ada29c" ], "markers": "python_version >= '3.9'", - "version": "==1.38.21" + "version": "==1.38.24" }, "certifi": { "hashes": [ @@ -280,46 +280,46 @@ }, "cryptography": { "hashes": [ - "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", - "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", - "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", - "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", - "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", - "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", - "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", - "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", - "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", - "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", - "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", - "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", - "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", - "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", - "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", - "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", - "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", - "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", - "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", - "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", - "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", - "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", - "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", - "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", - "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", - "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", - "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", - "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", - "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", - "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", - "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", - "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", - "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", - "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", - "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", - "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", - "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" + "sha256:00094838ecc7c6594171e8c8a9166124c1197b074cfca23645cee573910d76bc", + "sha256:050ce5209d5072472971e6efbfc8ec5a8f9a841de5a4db0ebd9c2e392cb81972", + "sha256:232954730c362638544758a8160c4ee1b832dc011d2c41a306ad8f7cccc5bb0b", + "sha256:25286aacb947286620a31f78f2ed1a32cded7be5d8b729ba3fb2c988457639e4", + "sha256:2f8f8f0b73b885ddd7f3d8c2b2234a7d3ba49002b0223f58cfde1bedd9563c56", + "sha256:38deed72285c7ed699864f964a3f4cf11ab3fb38e8d39cfcd96710cd2b5bb716", + "sha256:3ad69eeb92a9de9421e1f6685e85a10fbcfb75c833b42cc9bc2ba9fb00da4710", + "sha256:5555365a50efe1f486eed6ac7062c33b97ccef409f5970a0b6f205a7cfab59c8", + "sha256:555e5e2d3a53b4fabeca32835878b2818b3f23966a4efb0d566689777c5a12c8", + "sha256:57a6500d459e8035e813bd8b51b671977fb149a8c95ed814989da682314d0782", + "sha256:5833bb4355cb377ebd880457663a972cd044e7f49585aee39245c0d592904578", + "sha256:71320fbefd05454ef2d457c481ba9a5b0e540f3753354fff6f780927c25d19b0", + "sha256:7573d9eebaeceeb55285205dbbb8753ac1e962af3d9640791d12b36864065e71", + "sha256:92d5f428c1a0439b2040435a1d6bc1b26ebf0af88b093c3628913dd464d13fa1", + "sha256:97787952246a77d77934d41b62fb1b6f3581d83f71b44796a4158d93b8f5c490", + "sha256:9bb5bf55dcb69f7067d80354d0a348368da907345a2c448b0babc4215ccd3497", + "sha256:9cc80ce69032ffa528b5e16d217fa4d8d4bb7d6ba8659c1b4d74a1b0f4235fca", + "sha256:9e4253ed8f5948a3589b3caee7ad9a5bf218ffd16869c516535325fece163dcc", + "sha256:9eda14f049d7f09c2e8fb411dda17dd6b16a3c76a1de5e249188a32aeb92de19", + "sha256:a2b56de3417fd5f48773ad8e91abaa700b678dc7fe1e0c757e1ae340779acf7b", + "sha256:af3f92b1dc25621f5fad065288a44ac790c5798e986a34d393ab27d2b27fcff9", + "sha256:c5edcb90da1843df85292ef3a313513766a78fbbb83f584a5a58fb001a5a9d57", + "sha256:c824c9281cb628015bfc3c59335163d4ca0540d49de4582d6c2637312907e4b1", + "sha256:c92519d242703b675ccefd0f0562eb45e74d438e001f8ab52d628e885751fb06", + "sha256:ca932e11218bcc9ef812aa497cdf669484870ecbcf2d99b765d6c27a86000942", + "sha256:cb6ab89421bc90e0422aca911c69044c2912fc3debb19bb3c1bfe28ee3dff6ab", + "sha256:cfd84777b4b6684955ce86156cfb5e08d75e80dc2585e10d69e47f014f0a5342", + "sha256:d377dde61c5d67eb4311eace661c3efda46c62113ff56bf05e2d679e02aebb5b", + "sha256:d54ae41e6bd70ea23707843021c778f151ca258081586f0cfa31d936ae43d1b2", + "sha256:dc10ec1e9f21f33420cc05214989544727e776286c1c16697178978327b95c9c", + "sha256:ec21313dd335c51d7877baf2972569f40a4291b76a0ce51391523ae358d05899", + "sha256:ec64ee375b5aaa354b2b273c921144a660a511f9df8785e6d1c942967106438e", + "sha256:ed43d396f42028c1f47b5fec012e9e12631266e3825e95c00e3cf94d472dac49", + "sha256:edd6d51869beb7f0d472e902ef231a9b7689508e83880ea16ca3311a00bf5ce7", + "sha256:f22af3c78abfbc7cbcdf2c55d23c3e022e1a462ee2481011d518c7fb9c9f3d65", + "sha256:fae1e637f527750811588e4582988932c222f8251f7b7ea93739acb624e1487f", + "sha256:fed5aaca1750e46db870874c9c273cd5182a9e9deb16f06f7bdffdb5c2bde4b9" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==45.0.2" + "version": "==45.0.3" }, "dbrepo": { "hashes": [ @@ -538,11 +538,11 @@ }, "jsonschema": { "hashes": [ - "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", - "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566" + "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", + "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d" ], - "markers": "python_version >= '3.8'", - "version": "==4.23.0" + "markers": "python_version >= '3.9'", + "version": "==4.24.0" }, "jsonschema-specifications": { "hashes": [ @@ -848,11 +848,11 @@ }, "pydantic": { "hashes": [ - "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", - "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb" + "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", + "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7" ], "index": "pypi", - "version": "==2.11.4" + "version": "==2.11.5" }, "pydantic-core": { "hashes": [ @@ -1182,19 +1182,19 @@ }, "s3transfer": { "hashes": [ - "sha256:35b314d7d82865756edab59f7baebc6b477189e6ab4c53050e28c1de4d9cce18", - "sha256:8ac58bc1989a3fdb7c7f3ee0918a66b160d038a147c7b5db1500930a607e9a1c" + "sha256:0148ef34d6dd964d0d8cf4311b2b21c474693e57c2e069ec708ce043d2b527be", + "sha256:f5e6db74eb7776a37208001113ea7aa97695368242b364d73e91c981ac522177" ], "markers": "python_version >= '3.9'", - "version": "==0.12.0" + "version": "==0.13.0" }, "setuptools": { "hashes": [ - "sha256:49f7af965996f26d43c8ae34539c8d99c5042fbff34302ea151eaa9c207cd257", - "sha256:95a60484590d24103af13b686121328cc2736bee85de8936383111e421b9edc0" + "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", + "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" ], "markers": "python_version >= '3.9'", - "version": "==80.8.0" + "version": "==80.9.0" }, "six": { "hashes": [ @@ -1513,72 +1513,76 @@ }, "coverage": { "hashes": [ - "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", - "sha256:061a3bf679dc38fe34d3822f10a9977d548de86b440010beb1e3b44ba93d20f7", - "sha256:07fff2f2ce465fae27447432d39ce733476fbf8478de51fb4034c201e0c5da6d", - "sha256:11e5ea0acd8cc5d23030c34dfb2eb6638ad886328df18cc69f8eefab73d1ece5", - "sha256:12950b6373dc9dfe1ce22a8506ec29c82bfc5b38146ced0a222f38cf5d99a56d", - "sha256:173e16969f990688aae4b4487717c44330bc57fd8b61a6216ce8eeb827eb5c0d", - "sha256:1cc6bebc15c3b275174c66cf4e1c949a94c5c2a3edaa2f193a1225548c52c771", - "sha256:21645788c5c2afa3df2d4b607638d86207b84cb495503b71e80e16b4c6b44e80", - "sha256:2d8f844e837374a9497e11722d9eb9dfeb33b1b5d31136786c39a4c1a3073c6d", - "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", - "sha256:3763b9a4bc128f72da5dcfd7fcc7c7d6644ed28e8f2db473ce1ef0dd37a43fa9", - "sha256:3bd8e3753257e95e94f38c058627aba1581d51f674e3badf226283b2bdb8f8ca", - "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", - "sha256:452f3831c64f5f50260e18a89e613594590d6ceac5206a9b7d76ba43586b01b3", - "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", - "sha256:62a13b372b65fa6e11685df9ca924bed23bab1d0f277f9b67be7536f253aaf17", - "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", - "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", - "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", - "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", - "sha256:87284f272746e31919302ab6211b16b41135109822c498f6e7b40a2f828e7836", - "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", - "sha256:8bcfafb2809cd01be8ffe5f962e01b0fbe4cc1d74513434c52ff2dd05b86d492", - "sha256:9296df6a33b8539cd753765eb5b47308602263a14b124a099cbcf5f770d7cf90", - "sha256:958b513e23286178b513a6b4d975fe9e7cddbcea6e5ebe8d836e4ef067577154", - "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", - "sha256:9b31756ea647b6ef53190f6b708ad0c4c2ea879bc17799ba5b0699eee59ecf7b", - "sha256:9cd54a762667c32112df5d6f059c5d61fa532ee06460948cc5bcbf60c502f5c9", - "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", - "sha256:adafe9d71a940927dd3ad8d487f521f11277f133568b7da622666ebd08923191", - "sha256:ae5e557aa92565d72f6d3196e878e7cbd6a6380e02a15eafe0af781bd767c10d", - "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", - "sha256:b37729ba34c116a3b2b6fb99df5c37a4ca40e96f430070488fd7a1077ad44907", - "sha256:b6424c716f4c38ff8f62b602e6b94cde478dadda542a1cb3fe2fe2520cc2aae3", - "sha256:b8f105631835fdf191c971c4da93d27e732e028d73ecaa1a88f458d497d026cf", - "sha256:be2b1a455b3ecfee20638289bb091a95216887d44924a41c28a601efac0916e8", - "sha256:c04a7903644ccea8fa07c3e76db43ca31c8d453f93c5c94c0f9b82efca225543", - "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", - "sha256:c5757a7b25fe48040fa120ba6597f5f885b01e323e0d13fe21ff95a70c0f76b7", - "sha256:ccad4e29ac1b6f75bfeedb2cac4860fe5bd9e0a2f04c3e3218f661fa389ab101", - "sha256:cd21de85aa0e247b79c6c41f8b5541b54285550f2da6a9448d82b53234d3611b", - "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", - "sha256:d074380f587360d2500f3b065232c67ae248aaf739267807adbcd29b88bdf864", - "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", - "sha256:d5102e17b81158de17d4b5bc363fcffd15231a38ef3f50b8e6fa01f0c6911194", - "sha256:d52d79dfd3b410b153b6d65b0e3afe834eca2b969377f55ad73c67156d35af0d", - "sha256:d591f2ddad432b794f77dc1e94334a80015a3fc7fa07fd6aed8f40362083be5b", - "sha256:d616b5a543c7d4deffa25eb8d8ae3d0d95097f08ac8b131600bb7fbf967ea0e2", - "sha256:d7af3990490982fbd2437156c69edbe82b7edf99bc60302cceeeaf79afb886b8", - "sha256:d8a6c35afd5b912101fabf42975d92d750cfce33c571508a82ff334a133c40d5", - "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", - "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", - "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", - "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", - "sha256:e3f65da9701648d226b6b24ded3e2528b72075e48d7540968cd857c3bd4c5321", - "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", - "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", - "sha256:e93f36a5c9d995f40e9c4cd9bbabd83fd78705792fa250980256c93accd07bb6", - "sha256:ebdf212e1ed85af63fa1a76d556c0a3c7b34348ffba6e145a64b15f003ad0a2b", - "sha256:f7a95b0dce364535a63fde0ec1b1ca36400037175d3b62ce04d85dbca5e33832", - "sha256:f82c1a1c1897d2293cb6c50f20fe8a9ea2add1a228eff479380917a1fe7bbb68", - "sha256:fe4877c24711458f7990392181be30166cc3ae72158036ecb48a73c30c99fb6f", - "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654" + "sha256:00f2e2f2e37f47e5f54423aeefd6c32a7dbcedc033fcd3928a4f4948e8b96af7", + "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be", + "sha256:0774df1e093acb6c9e4d58bce7f86656aeed6c132a16e2337692c12786b32404", + "sha256:07a989c867986c2a75f158f03fdb413128aad29aca9d4dbce5fc755672d96f11", + "sha256:0bdc8bf760459a4a4187b452213e04d039990211f98644c7292adf1e471162b5", + "sha256:0e49824808d4375ede9dd84e9961a59c47f9113039f1a525e6be170aa4f5c34d", + "sha256:145b07bea229821d51811bf15eeab346c236d523838eda395ea969d120d13347", + "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36", + "sha256:1676628065a498943bd3f64f099bb573e08cf1bc6088bbe33cf4424e0876f4b3", + "sha256:1aec326ed237e5880bfe69ad41616d333712c7937bcefc1343145e972938f9b3", + "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b", + "sha256:1efa4166ba75ccefd647f2d78b64f53f14fb82622bc94c5a5cb0a622f50f1c9e", + "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85", + "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279", + "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d", + "sha256:2db10dedeb619a771ef0e2949ccba7b75e33905de959c2643a4607bef2f3fb3a", + "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3", + "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7", + "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57", + "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8", + "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625", + "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b", + "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740", + "sha256:496948261eaac5ac9cf43f5d0a9f6eb7a6d4cb3bedb2c5d294138142f5c18f2a", + "sha256:4c26c2396674816deaeae7ded0e2b42c26537280f8fe313335858ffff35019be", + "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257", + "sha256:546e537d9e24efc765c9c891328f30f826e3e4808e31f5d0f87c4ba12bbd1622", + "sha256:5e818796f71702d7a13e50c70de2a1924f729228580bcba1607cccf32eea46e6", + "sha256:5feb7f2c3e6ea94d3b877def0270dff0947b8d8c04cfa34a17be0a4dc1836879", + "sha256:641988828bc18a6368fe72355df5f1703e44411adbe49bba5644b941ce6f2e3a", + "sha256:670a13249b957bb9050fab12d86acef7bf8f6a879b9d1a883799276e0d4c674a", + "sha256:6782a12bf76fa61ad9350d5a6ef5f3f020b57f5e6305cbc663803f2ebd0f270a", + "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050", + "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0", + "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32", + "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1", + "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48", + "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f", + "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008", + "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223", + "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2", + "sha256:8966a821e2083c74d88cca5b7dcccc0a3a888a596a04c0b9668a891de3a0cc53", + "sha256:8ab4a51cb39dc1933ba627e0875046d150e88478dbe22ce145a68393e9652975", + "sha256:8e1a26e7e50076e35f7afafde570ca2b4d7900a491174ca357d29dece5aacee7", + "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199", + "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f", + "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7", + "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27", + "sha256:ab9b09a2349f58e73f8ebc06fac546dd623e23b063e5398343c5270072e3201c", + "sha256:b039ffddc99ad65d5078ef300e0c7eed08c270dc26570440e3ef18beb816c1ca", + "sha256:b069938961dfad881dc2f8d02b47645cd2f455d3809ba92a8a687bf513839787", + "sha256:b99058eef42e6a8dcd135afb068b3d53aff3921ce699e127602efff9956457a9", + "sha256:bd8ec21e1443fd7a447881332f7ce9d35b8fbd2849e761bb290b584535636b0a", + "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8", + "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20", + "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d", + "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99", + "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108", + "sha256:de77c3ba8bb686d1c411e78ee1b97e6e0b963fb98b1637658dd9ad2c875cf9d7", + "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c", + "sha256:e6ea7dba4e92926b7b5f0990634b78ea02f208d04af520c73a7c876d5a8d36cb", + "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46", + "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca", + "sha256:eacd2de0d30871eff893bab0b67840a96445edcb3c8fd915e6b11ac4b2f3fa6d", + "sha256:ec455eedf3ba0bbdf8f5a570012617eb305c63cb9f03428d39bf544cb2b94837", + "sha256:ef2f22795a7aca99fc3c84393a55a53dd18ab8c93fb431004e4d8f0774150f54", + "sha256:fd51355ab8a372d89fb0e6a31719e825cf8df8b6724bee942fb5b92c3f016ba3" ], "index": "pypi", - "version": "==7.8.1" + "version": "==7.8.2" }, "docker": { "hashes": [ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl index 23950d61fc98e36a15c4a8ed9c452e86446b589b..b5cf628e6f4fcff5db3f2ad4fbaaf85d221087fd 100644 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl and b/dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz index b24c628496a5d2753bebe080118cba5237390e28..247061da5eb4abb58ba6b1d2a41276b9eccafc4b 100644 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz and b/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-dashboard-service/Pipfile.lock b/dbrepo-dashboard-service/Pipfile.lock index 67f5e0bc72120fed75aaf8e3322321e40dc694eb..c6c60b0ee90fa824dbb708bf20313324ce674e68 100644 --- a/dbrepo-dashboard-service/Pipfile.lock +++ b/dbrepo-dashboard-service/Pipfile.lock @@ -229,46 +229,46 @@ }, "cryptography": { "hashes": [ - "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", - "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", - "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", - "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", - "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", - "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", - "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", - "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", - "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", - "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", - "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", - "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", - "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", - "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", - "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", - "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", - "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", - "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", - "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", - "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", - "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", - "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", - "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", - "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", - "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", - "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", - "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", - "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", - "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", - "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", - "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", - "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", - "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", - "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", - "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", - "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", - "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" + "sha256:00094838ecc7c6594171e8c8a9166124c1197b074cfca23645cee573910d76bc", + "sha256:050ce5209d5072472971e6efbfc8ec5a8f9a841de5a4db0ebd9c2e392cb81972", + "sha256:232954730c362638544758a8160c4ee1b832dc011d2c41a306ad8f7cccc5bb0b", + "sha256:25286aacb947286620a31f78f2ed1a32cded7be5d8b729ba3fb2c988457639e4", + "sha256:2f8f8f0b73b885ddd7f3d8c2b2234a7d3ba49002b0223f58cfde1bedd9563c56", + "sha256:38deed72285c7ed699864f964a3f4cf11ab3fb38e8d39cfcd96710cd2b5bb716", + "sha256:3ad69eeb92a9de9421e1f6685e85a10fbcfb75c833b42cc9bc2ba9fb00da4710", + "sha256:5555365a50efe1f486eed6ac7062c33b97ccef409f5970a0b6f205a7cfab59c8", + "sha256:555e5e2d3a53b4fabeca32835878b2818b3f23966a4efb0d566689777c5a12c8", + "sha256:57a6500d459e8035e813bd8b51b671977fb149a8c95ed814989da682314d0782", + "sha256:5833bb4355cb377ebd880457663a972cd044e7f49585aee39245c0d592904578", + "sha256:71320fbefd05454ef2d457c481ba9a5b0e540f3753354fff6f780927c25d19b0", + "sha256:7573d9eebaeceeb55285205dbbb8753ac1e962af3d9640791d12b36864065e71", + "sha256:92d5f428c1a0439b2040435a1d6bc1b26ebf0af88b093c3628913dd464d13fa1", + "sha256:97787952246a77d77934d41b62fb1b6f3581d83f71b44796a4158d93b8f5c490", + "sha256:9bb5bf55dcb69f7067d80354d0a348368da907345a2c448b0babc4215ccd3497", + "sha256:9cc80ce69032ffa528b5e16d217fa4d8d4bb7d6ba8659c1b4d74a1b0f4235fca", + "sha256:9e4253ed8f5948a3589b3caee7ad9a5bf218ffd16869c516535325fece163dcc", + "sha256:9eda14f049d7f09c2e8fb411dda17dd6b16a3c76a1de5e249188a32aeb92de19", + "sha256:a2b56de3417fd5f48773ad8e91abaa700b678dc7fe1e0c757e1ae340779acf7b", + "sha256:af3f92b1dc25621f5fad065288a44ac790c5798e986a34d393ab27d2b27fcff9", + "sha256:c5edcb90da1843df85292ef3a313513766a78fbbb83f584a5a58fb001a5a9d57", + "sha256:c824c9281cb628015bfc3c59335163d4ca0540d49de4582d6c2637312907e4b1", + "sha256:c92519d242703b675ccefd0f0562eb45e74d438e001f8ab52d628e885751fb06", + "sha256:ca932e11218bcc9ef812aa497cdf669484870ecbcf2d99b765d6c27a86000942", + "sha256:cb6ab89421bc90e0422aca911c69044c2912fc3debb19bb3c1bfe28ee3dff6ab", + "sha256:cfd84777b4b6684955ce86156cfb5e08d75e80dc2585e10d69e47f014f0a5342", + "sha256:d377dde61c5d67eb4311eace661c3efda46c62113ff56bf05e2d679e02aebb5b", + "sha256:d54ae41e6bd70ea23707843021c778f151ca258081586f0cfa31d936ae43d1b2", + "sha256:dc10ec1e9f21f33420cc05214989544727e776286c1c16697178978327b95c9c", + "sha256:ec21313dd335c51d7877baf2972569f40a4291b76a0ce51391523ae358d05899", + "sha256:ec64ee375b5aaa354b2b273c921144a660a511f9df8785e6d1c942967106438e", + "sha256:ed43d396f42028c1f47b5fec012e9e12631266e3825e95c00e3cf94d472dac49", + "sha256:edd6d51869beb7f0d472e902ef231a9b7689508e83880ea16ca3311a00bf5ce7", + "sha256:f22af3c78abfbc7cbcdf2c55d23c3e022e1a462ee2481011d518c7fb9c9f3d65", + "sha256:fae1e637f527750811588e4582988932c222f8251f7b7ea93739acb624e1487f", + "sha256:fed5aaca1750e46db870874c9c273cd5182a9e9deb16f06f7bdffdb5c2bde4b9" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==45.0.2" + "version": "==45.0.3" }, "dbrepo": { "hashes": [ @@ -486,11 +486,11 @@ }, "jsonschema": { "hashes": [ - "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", - "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566" + "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", + "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d" ], - "markers": "python_version >= '3.8'", - "version": "==4.23.0" + "markers": "python_version >= '3.9'", + "version": "==4.24.0" }, "jsonschema-specifications": { "hashes": [ @@ -749,11 +749,11 @@ }, "pydantic": { "hashes": [ - "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", - "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb" + "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", + "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7" ], "index": "pypi", - "version": "==2.11.4" + "version": "==2.11.5" }, "pydantic-core": { "hashes": [ @@ -1468,72 +1468,76 @@ }, "coverage": { "hashes": [ - "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", - "sha256:061a3bf679dc38fe34d3822f10a9977d548de86b440010beb1e3b44ba93d20f7", - "sha256:07fff2f2ce465fae27447432d39ce733476fbf8478de51fb4034c201e0c5da6d", - "sha256:11e5ea0acd8cc5d23030c34dfb2eb6638ad886328df18cc69f8eefab73d1ece5", - "sha256:12950b6373dc9dfe1ce22a8506ec29c82bfc5b38146ced0a222f38cf5d99a56d", - "sha256:173e16969f990688aae4b4487717c44330bc57fd8b61a6216ce8eeb827eb5c0d", - "sha256:1cc6bebc15c3b275174c66cf4e1c949a94c5c2a3edaa2f193a1225548c52c771", - "sha256:21645788c5c2afa3df2d4b607638d86207b84cb495503b71e80e16b4c6b44e80", - "sha256:2d8f844e837374a9497e11722d9eb9dfeb33b1b5d31136786c39a4c1a3073c6d", - "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", - "sha256:3763b9a4bc128f72da5dcfd7fcc7c7d6644ed28e8f2db473ce1ef0dd37a43fa9", - "sha256:3bd8e3753257e95e94f38c058627aba1581d51f674e3badf226283b2bdb8f8ca", - "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", - "sha256:452f3831c64f5f50260e18a89e613594590d6ceac5206a9b7d76ba43586b01b3", - "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", - "sha256:62a13b372b65fa6e11685df9ca924bed23bab1d0f277f9b67be7536f253aaf17", - "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", - "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", - "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", - "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", - "sha256:87284f272746e31919302ab6211b16b41135109822c498f6e7b40a2f828e7836", - "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", - "sha256:8bcfafb2809cd01be8ffe5f962e01b0fbe4cc1d74513434c52ff2dd05b86d492", - "sha256:9296df6a33b8539cd753765eb5b47308602263a14b124a099cbcf5f770d7cf90", - "sha256:958b513e23286178b513a6b4d975fe9e7cddbcea6e5ebe8d836e4ef067577154", - "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", - "sha256:9b31756ea647b6ef53190f6b708ad0c4c2ea879bc17799ba5b0699eee59ecf7b", - "sha256:9cd54a762667c32112df5d6f059c5d61fa532ee06460948cc5bcbf60c502f5c9", - "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", - "sha256:adafe9d71a940927dd3ad8d487f521f11277f133568b7da622666ebd08923191", - "sha256:ae5e557aa92565d72f6d3196e878e7cbd6a6380e02a15eafe0af781bd767c10d", - "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", - "sha256:b37729ba34c116a3b2b6fb99df5c37a4ca40e96f430070488fd7a1077ad44907", - "sha256:b6424c716f4c38ff8f62b602e6b94cde478dadda542a1cb3fe2fe2520cc2aae3", - "sha256:b8f105631835fdf191c971c4da93d27e732e028d73ecaa1a88f458d497d026cf", - "sha256:be2b1a455b3ecfee20638289bb091a95216887d44924a41c28a601efac0916e8", - "sha256:c04a7903644ccea8fa07c3e76db43ca31c8d453f93c5c94c0f9b82efca225543", - "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", - "sha256:c5757a7b25fe48040fa120ba6597f5f885b01e323e0d13fe21ff95a70c0f76b7", - "sha256:ccad4e29ac1b6f75bfeedb2cac4860fe5bd9e0a2f04c3e3218f661fa389ab101", - "sha256:cd21de85aa0e247b79c6c41f8b5541b54285550f2da6a9448d82b53234d3611b", - "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", - "sha256:d074380f587360d2500f3b065232c67ae248aaf739267807adbcd29b88bdf864", - "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", - "sha256:d5102e17b81158de17d4b5bc363fcffd15231a38ef3f50b8e6fa01f0c6911194", - "sha256:d52d79dfd3b410b153b6d65b0e3afe834eca2b969377f55ad73c67156d35af0d", - "sha256:d591f2ddad432b794f77dc1e94334a80015a3fc7fa07fd6aed8f40362083be5b", - "sha256:d616b5a543c7d4deffa25eb8d8ae3d0d95097f08ac8b131600bb7fbf967ea0e2", - "sha256:d7af3990490982fbd2437156c69edbe82b7edf99bc60302cceeeaf79afb886b8", - "sha256:d8a6c35afd5b912101fabf42975d92d750cfce33c571508a82ff334a133c40d5", - "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", - "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", - "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", - "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", - "sha256:e3f65da9701648d226b6b24ded3e2528b72075e48d7540968cd857c3bd4c5321", - "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", - "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", - "sha256:e93f36a5c9d995f40e9c4cd9bbabd83fd78705792fa250980256c93accd07bb6", - "sha256:ebdf212e1ed85af63fa1a76d556c0a3c7b34348ffba6e145a64b15f003ad0a2b", - "sha256:f7a95b0dce364535a63fde0ec1b1ca36400037175d3b62ce04d85dbca5e33832", - "sha256:f82c1a1c1897d2293cb6c50f20fe8a9ea2add1a228eff479380917a1fe7bbb68", - "sha256:fe4877c24711458f7990392181be30166cc3ae72158036ecb48a73c30c99fb6f", - "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654" + "sha256:00f2e2f2e37f47e5f54423aeefd6c32a7dbcedc033fcd3928a4f4948e8b96af7", + "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be", + "sha256:0774df1e093acb6c9e4d58bce7f86656aeed6c132a16e2337692c12786b32404", + "sha256:07a989c867986c2a75f158f03fdb413128aad29aca9d4dbce5fc755672d96f11", + "sha256:0bdc8bf760459a4a4187b452213e04d039990211f98644c7292adf1e471162b5", + "sha256:0e49824808d4375ede9dd84e9961a59c47f9113039f1a525e6be170aa4f5c34d", + "sha256:145b07bea229821d51811bf15eeab346c236d523838eda395ea969d120d13347", + "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36", + "sha256:1676628065a498943bd3f64f099bb573e08cf1bc6088bbe33cf4424e0876f4b3", + "sha256:1aec326ed237e5880bfe69ad41616d333712c7937bcefc1343145e972938f9b3", + "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b", + "sha256:1efa4166ba75ccefd647f2d78b64f53f14fb82622bc94c5a5cb0a622f50f1c9e", + "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85", + "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279", + "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d", + "sha256:2db10dedeb619a771ef0e2949ccba7b75e33905de959c2643a4607bef2f3fb3a", + "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3", + "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7", + "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57", + "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8", + "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625", + "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b", + "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740", + "sha256:496948261eaac5ac9cf43f5d0a9f6eb7a6d4cb3bedb2c5d294138142f5c18f2a", + "sha256:4c26c2396674816deaeae7ded0e2b42c26537280f8fe313335858ffff35019be", + "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257", + "sha256:546e537d9e24efc765c9c891328f30f826e3e4808e31f5d0f87c4ba12bbd1622", + "sha256:5e818796f71702d7a13e50c70de2a1924f729228580bcba1607cccf32eea46e6", + "sha256:5feb7f2c3e6ea94d3b877def0270dff0947b8d8c04cfa34a17be0a4dc1836879", + "sha256:641988828bc18a6368fe72355df5f1703e44411adbe49bba5644b941ce6f2e3a", + "sha256:670a13249b957bb9050fab12d86acef7bf8f6a879b9d1a883799276e0d4c674a", + "sha256:6782a12bf76fa61ad9350d5a6ef5f3f020b57f5e6305cbc663803f2ebd0f270a", + "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050", + "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0", + "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32", + "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1", + "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48", + "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f", + "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008", + "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223", + "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2", + "sha256:8966a821e2083c74d88cca5b7dcccc0a3a888a596a04c0b9668a891de3a0cc53", + "sha256:8ab4a51cb39dc1933ba627e0875046d150e88478dbe22ce145a68393e9652975", + "sha256:8e1a26e7e50076e35f7afafde570ca2b4d7900a491174ca357d29dece5aacee7", + "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199", + "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f", + "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7", + "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27", + "sha256:ab9b09a2349f58e73f8ebc06fac546dd623e23b063e5398343c5270072e3201c", + "sha256:b039ffddc99ad65d5078ef300e0c7eed08c270dc26570440e3ef18beb816c1ca", + "sha256:b069938961dfad881dc2f8d02b47645cd2f455d3809ba92a8a687bf513839787", + "sha256:b99058eef42e6a8dcd135afb068b3d53aff3921ce699e127602efff9956457a9", + "sha256:bd8ec21e1443fd7a447881332f7ce9d35b8fbd2849e761bb290b584535636b0a", + "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8", + "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20", + "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d", + "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99", + "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108", + "sha256:de77c3ba8bb686d1c411e78ee1b97e6e0b963fb98b1637658dd9ad2c875cf9d7", + "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c", + "sha256:e6ea7dba4e92926b7b5f0990634b78ea02f208d04af520c73a7c876d5a8d36cb", + "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46", + "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca", + "sha256:eacd2de0d30871eff893bab0b67840a96445edcb3c8fd915e6b11ac4b2f3fa6d", + "sha256:ec455eedf3ba0bbdf8f5a570012617eb305c63cb9f03428d39bf544cb2b94837", + "sha256:ef2f22795a7aca99fc3c84393a55a53dd18ab8c93fb431004e4d8f0774150f54", + "sha256:fd51355ab8a372d89fb0e6a31719e825cf8df8b6724bee942fb5b92c3f016ba3" ], "index": "pypi", - "version": "==7.8.1" + "version": "==7.8.2" }, "docker": { "hashes": [ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl index 23950d61fc98e36a15c4a8ed9c452e86446b589b..b5cf628e6f4fcff5db3f2ad4fbaaf85d221087fd 100644 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl and b/dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz index b24c628496a5d2753bebe080118cba5237390e28..247061da5eb4abb58ba6b1d2a41276b9eccafc4b 100644 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz and b/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java index 02ce030220cf6ef1f1b7ef1b780f743678095c16..60316b008566a99709b6cd3554d1e211ad0483f9 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java @@ -328,7 +328,7 @@ public class IdentifierEndpoint extends AbstractEndpoint { throws SearchServiceException, DatabaseNotFoundException, SearchServiceConnectionException, MalformedException, DataServiceConnectionException, IdentifierNotFoundException, ExternalServiceException { log.debug("endpoint publish identifier, identifierId={}", identifierId); - return ResponseEntity.status(HttpStatus.CREATED) + return ResponseEntity.accepted() .body(metadataMapper.identifierToIdentifierDto( identifierService.publish(identifierService.find(identifierId)))); } diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java index 70e6c53c28a9f42c883e0e0b9dbf38316eab452b..ddff982be51e7cfade051dd28ed8c70142d8bc8f 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java @@ -4,14 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.http.client.support.BasicAuthenticationInterceptor; -import org.springframework.web.client.RestTemplate; -import org.springframework.web.util.DefaultUriBuilderFactory; - -import java.io.IOException; @Getter @Slf4j @@ -30,14 +23,4 @@ public class RabbitConfig extends BaseTest { @Value("${dbrepo.endpoints.brokerService}") private String brokerEndpoint; - @Bean - @Primary - public RestTemplate brokerRestTemplate() { - final RestTemplate restTemplate = new RestTemplate(); - restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(brokerEndpoint)); - restTemplate.getInterceptors() - .add(new BasicAuthenticationInterceptor(USER_1_USERNAME, USER_1_PASSWORD)); - return restTemplate; - } - } diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java index 054c96e3d925412cc746a81c97e9f8d3d448d7bc..6f818d39b870571db464289895cefde419b98644 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java @@ -967,7 +967,7 @@ public class IdentifierEndpointUnitTest extends BaseTest { /* test */ final ResponseEntity<IdentifierDto> response = identifierEndpoint.publish(IDENTIFIER_1_ID); - assertEquals(HttpStatus.CREATED, response.getStatusCode()); + assertEquals(HttpStatus.ACCEPTED, response.getStatusCode()); final IdentifierDto body = response.getBody(); assertNotNull(body); } diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java index 8cc81d89c6730eaa9fcf37899d08f117cdb992d7..1a63c188ef92b799f831c17bbca4ace1d0f7ca8f 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java @@ -1,12 +1,13 @@ package at.ac.tuwien.ifs.dbrepo.gateway; -import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.core.api.orcid.OrcidDto; import at.ac.tuwien.ifs.dbrepo.core.exception.OrcidNotFoundException; +import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpEntity; @@ -17,8 +18,6 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.client.RestTemplate; -import java.io.IOException; - import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; @@ -28,14 +27,12 @@ import static org.mockito.Mockito.*; public class OrcidGatewayUnitTest extends BaseTest { @MockBean + @Qualifier("restTemplate") private RestTemplate restTemplate; @Autowired private OrcidGateway orcidGateway; - public OrcidGatewayUnitTest() throws IOException { - } - @Test public void findByUrl_succeeds() throws OrcidNotFoundException { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java index f6b46031065b92bb7352cc3316b767f8b404fc73..d3d4d3b6a180f892a55251d59c313a4e1ca64f1c 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java @@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpEntity; @@ -26,6 +27,7 @@ import static org.mockito.Mockito.*; public class RorGatewayUnitTest extends BaseTest { @MockBean + @Qualifier("restTemplate") private RestTemplate restTemplate; @Autowired diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java index 30a4cd53af123fc25be28bedd14d3c4c95ca04db..ede76de2ce715d2cfbc97a44438914a4ed32fa0a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java @@ -1,10 +1,11 @@ package at.ac.tuwien.ifs.dbrepo.service; +import at.ac.tuwien.ifs.dbrepo.auth.InternalRequestInterceptor; +import at.ac.tuwien.ifs.dbrepo.config.RabbitConfig; import at.ac.tuwien.ifs.dbrepo.core.api.amqp.GrantExchangePermissionsDto; import at.ac.tuwien.ifs.dbrepo.core.api.amqp.GrantVirtualHostPermissionsDto; import at.ac.tuwien.ifs.dbrepo.core.api.amqp.TopicPermissionDto; import at.ac.tuwien.ifs.dbrepo.core.api.amqp.VirtualHostPermissionDto; -import at.ac.tuwien.ifs.dbrepo.config.RabbitConfig; import at.ac.tuwien.ifs.dbrepo.core.entity.database.DatabaseAccess; import at.ac.tuwien.ifs.dbrepo.core.entity.user.User; import at.ac.tuwien.ifs.dbrepo.core.exception.BrokerServiceConnectionException; @@ -12,15 +13,20 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.BrokerServiceException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.AmqpUtils; import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.client.support.BasicAuthenticationInterceptor; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; @@ -29,6 +35,8 @@ import java.util.List; import java.util.Set; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; @Slf4j @Testcontainers @@ -43,6 +51,10 @@ public class BrokerServiceIntegrationTest extends BaseTest { @Autowired private BrokerService brokerService; + @Autowired + @Qualifier("brokerRestTemplate") + private RestTemplate restTemplate; + @Container private static final RabbitMQContainer rabbitContainer = new RabbitMQContainer("rabbitmq:3-management") .withUser(USER_1_USERNAME, USER_1_PASSWORD, Set.of("administrator")) @@ -53,6 +65,12 @@ public class BrokerServiceIntegrationTest extends BaseTest { registry.add("dbrepo.endpoints.brokerService", rabbitContainer::getHttpUrl); } + @BeforeEach + public void beforeEach() { + restTemplate.setInterceptors(List.of(new BasicAuthenticationInterceptor(rabbitContainer.getAdminUsername(), + rabbitContainer.getAdminPassword()))); + } + @Test public void updatePermissions_empty_succeeds() throws BrokerServiceException, BrokerServiceConnectionException { @@ -168,20 +186,18 @@ public class BrokerServiceIntegrationTest extends BaseTest { .read("") .write("") .build(); - final AmqpUtils amqpUtils = new AmqpUtils(rabbitContainer.getHttpUrl()); /* mock */ - amqpUtils.setVirtualHostPermissions(REALM_DBREPO_NAME, USER_1_USERNAME, permissions); + AmqpUtils.setVirtualHostPermissions(restTemplate, REALM_DBREPO_NAME, USER_1_USERNAME, permissions); /* test */ brokerService.setVirtualHostPermissions(USER_1); - return amqpUtils.getVirtualHostPermissions(USER_1_USERNAME); + return AmqpUtils.getVirtualHostPermissions(restTemplate, USER_1_USERNAME); } @Transactional(readOnly = true) protected TopicPermissionDto setTopicExchangePermissions_generic(List<DatabaseAccess> accesses) throws BrokerServiceException, BrokerServiceConnectionException { - final AmqpUtils amqpUtils = new AmqpUtils(rabbitContainer.getHttpUrl()); final GrantExchangePermissionsDto request = GrantExchangePermissionsDto.builder() .exchange(rabbitConfig.getExchangeName()) .read("") @@ -194,12 +210,12 @@ public class BrokerServiceIntegrationTest extends BaseTest { .build(); /* mock */ - amqpUtils.setVirtualHostPermissions(REALM_DBREPO_NAME, USER_1_USERNAME, VIRTUAL_HOST_GRANT_DTO); - amqpUtils.setTopicPermissions(REALM_DBREPO_NAME, USER_1_USERNAME, request); + AmqpUtils.setVirtualHostPermissions(restTemplate, REALM_DBREPO_NAME, USER_1_USERNAME, VIRTUAL_HOST_GRANT_DTO); + AmqpUtils.setTopicPermissions(restTemplate, REALM_DBREPO_NAME, USER_1_USERNAME, request); /* test */ brokerService.setTopicExchangePermissions(user); - return amqpUtils.getTopicPermissions(USER_1_USERNAME); + return AmqpUtils.getTopicPermissions(restTemplate, USER_1_USERNAME); } } diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DataCiteIdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DataCiteIdentifierServicePersistenceTest.java index b96bc4bad2611d7a5ce87d44afa007e434c4796e..c91fef0d0d6f2945650164f803a912e6620958a5 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DataCiteIdentifierServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DataCiteIdentifierServicePersistenceTest.java @@ -9,13 +9,12 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.identifier.Identifier; import at.ac.tuwien.ifs.dbrepo.core.entity.identifier.IdentifierStatusType; import at.ac.tuwien.ifs.dbrepo.core.entity.identifier.NameIdentifierSchemeType; import at.ac.tuwien.ifs.dbrepo.core.exception.*; -import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; +import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.ContainerRepository; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; -import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -46,7 +45,7 @@ import static org.mockito.Mockito.when; @ExtendWith(SpringExtension.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) -@SpringBootTest(properties = "spring.profiles.active=local,junit,doi") +@SpringBootTest(properties = "spring.profiles.active=doi") public class DataCiteIdentifierServicePersistenceTest extends BaseTest { @MockBean @@ -145,7 +144,10 @@ public class DataCiteIdentifierServicePersistenceTest extends BaseTest { .thenReturn(DATABASE_1_BRIEF_DTO); /* test */ - dataCiteIdentifierService.save(DATABASE_1, USER_1, IDENTIFIER_1_SAVE_DTO); + assertEquals(7, dataCiteIdentifierService.findAll().size()); + final Identifier response = dataCiteIdentifierService.save(DATABASE_1, USER_1, IDENTIFIER_1_SAVE_DTO); + assertEquals(IDENTIFIER_1_DOI, response.getDoi()); + assertEquals(7, dataCiteIdentifierService.findAll().size()); } @Test @@ -185,8 +187,8 @@ public class DataCiteIdentifierServicePersistenceTest extends BaseTest { @Test public void create_succeeds() throws SearchServiceException, MalformedException, DataServiceException, QueryNotFoundException, DataServiceConnectionException, DatabaseNotFoundException, - SearchServiceConnectionException, IdentifierNotFoundException, ViewNotFoundException, - ExternalServiceException { + SearchServiceConnectionException, ViewNotFoundException, ExternalServiceException, + IdentifierNotFoundException { final ResponseEntity<DataCiteBody<DataCiteDoi>> mock = ResponseEntity.status(HttpStatus.CREATED) .body(IDENTIFIER_1_DATA_CITE); @@ -195,15 +197,17 @@ public class DataCiteIdentifierServicePersistenceTest extends BaseTest { .thenReturn(mock); /* test */ + assertEquals(7, dataCiteIdentifierService.findAll().size()); final Identifier response = dataCiteIdentifierService.create(DATABASE_1, USER_1, IDENTIFIER_1_CREATE_DTO); assertNotNull(response.getDoi()); + assertEquals(8, dataCiteIdentifierService.findAll().size()); } @Test public void create_hasDoi_succeeds() throws SearchServiceException, MalformedException, DataServiceException, QueryNotFoundException, DataServiceConnectionException, DatabaseNotFoundException, - SearchServiceConnectionException, ViewNotFoundException, - ExternalServiceException { + SearchServiceConnectionException, ViewNotFoundException, ExternalServiceException, + IdentifierNotFoundException { final ResponseEntity<DataCiteBody<DataCiteDoi>> mock = ResponseEntity.status(HttpStatus.CREATED) .body(IDENTIFIER_1_DATA_CITE); @@ -212,8 +216,10 @@ public class DataCiteIdentifierServicePersistenceTest extends BaseTest { .thenReturn(mock); /* test */ + assertEquals(7, dataCiteIdentifierService.findAll().size()); final Identifier response = dataCiteIdentifierService.create(DATABASE_1, USER_1, IDENTIFIER_1_CREATE_WITH_DOI_DTO); assertEquals(IDENTIFIER_1_DOI, response.getDoi()); + assertEquals(8, dataCiteIdentifierService.findAll().size()); } @Test @@ -227,9 +233,11 @@ public class DataCiteIdentifierServicePersistenceTest extends BaseTest { .thenReturn(mock); /* test */ + assertEquals(7, dataCiteIdentifierService.findAll().size()); final Identifier response = dataCiteIdentifierService.publish(IDENTIFIER_7); assertEquals(IDENTIFIER_7.getId(), response.getId()); assertEquals(IdentifierStatusType.PUBLISHED, response.getStatus()); + assertEquals(7, dataCiteIdentifierService.findAll().size()); } @Test diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java index a2e01768775e0f81e9cc6eccf9752536ae9e67eb..d67c8898718f03c4eb712f57c7f173e42c56a38e 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java @@ -476,7 +476,8 @@ public class IdentifierServicePersistenceTest extends BaseTest { @Test public void create_hasDoi_succeeds() throws SearchServiceException, MalformedException, DataServiceException, QueryNotFoundException, DataServiceConnectionException, DatabaseNotFoundException, - SearchServiceConnectionException, ViewNotFoundException, ExternalServiceException { + SearchServiceConnectionException, ViewNotFoundException, ExternalServiceException, + IdentifierNotFoundException { /* test */ final Identifier response = identifierService.create(DATABASE_1, USER_1, IDENTIFIER_1_CREATE_WITH_DOI_DTO); diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java index bad729b3e7d30c85e47ec4330109439120ddc5e7..536d15f8b5fce6b90e99e3a56560b3f54517dead 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java @@ -4,19 +4,13 @@ import at.ac.tuwien.ifs.dbrepo.core.api.amqp.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.http.client.support.BasicAuthenticationInterceptor; -import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; -import org.springframework.web.util.DefaultUriBuilderFactory; import java.nio.charset.Charset; import java.util.Arrays; @@ -28,17 +22,7 @@ public class AmqpUtils extends BaseTest { private static final String BASIC_AUTH = new String(Base64.encodeBase64((USER_1_USERNAME + ":" + USER_1_PASSWORD).getBytes(Charset.defaultCharset()))); - private final RestTemplate restTemplate; - - public AmqpUtils(String endpoint) { - final RestTemplate restTemplate = new RestTemplate(); - restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(endpoint)); - restTemplate.getInterceptors() - .add(new BasicAuthenticationInterceptor(USER_1_USERNAME, USER_1_PASSWORD)); - this.restTemplate = restTemplate; - } - - public boolean exchangeExists(String exchange) { + public static boolean exchangeExists(RestTemplate restTemplate, String exchange) { final String url = "/api/exchanges"; log.debug("get exchange: {}", url); final ResponseEntity<ExchangeDto[]> response = restTemplate.exchange(url, HttpMethod.GET, null, ExchangeDto[].class); @@ -58,7 +42,7 @@ public class AmqpUtils extends BaseTest { return true; } - public VirtualHostPermissionDto getVirtualHostPermissions(String username) { + public static VirtualHostPermissionDto getVirtualHostPermissions(RestTemplate restTemplate, String username) { final String url = "/api/users/" + username + "/permissions"; log.debug("get virtual host permissions: {}", url); final ResponseEntity<VirtualHostPermissionDto[]> response = restTemplate.exchange(url, HttpMethod.GET, null, VirtualHostPermissionDto[].class); @@ -75,7 +59,7 @@ public class AmqpUtils extends BaseTest { return response.getBody()[0]; } - public TopicPermissionDto getTopicPermissions(String username) { + public static TopicPermissionDto getTopicPermissions(RestTemplate restTemplate, String username) { final String url = "/api/topic-permissions/dbrepo/" + username; log.debug("get topic permissions: {}", url); final ResponseEntity<TopicPermissionDto[]> response = restTemplate.exchange(url, HttpMethod.GET, null, TopicPermissionDto[].class); @@ -92,7 +76,7 @@ public class AmqpUtils extends BaseTest { return response.getBody()[0]; } - public void createUser(String username, CreateUserDto data) { + public static void createUser(RestTemplate restTemplate, String username, CreateUserDto data) { final String url = "/api/users/" + username; log.debug("add user: {}", url); log.trace("body: {}", data); @@ -103,7 +87,7 @@ public class AmqpUtils extends BaseTest { } } - public void setVirtualHostPermissions(String vhost, String username, GrantVirtualHostPermissionsDto data) { + public static void setVirtualHostPermissions(RestTemplate restTemplate, String vhost, String username, GrantVirtualHostPermissionsDto data) { final String url = "/api/permissions/" + vhost + "/" + username; log.trace("body: {}", data); final MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); @@ -116,7 +100,7 @@ public class AmqpUtils extends BaseTest { } } - public void setTopicPermissions(String vhost, String username, GrantExchangePermissionsDto data) { + public static void setTopicPermissions(RestTemplate restTemplate, String vhost, String username, GrantExchangePermissionsDto data) { final String url = "/api/topic-permissions/" + vhost + "/" + username; log.debug("set topic permissions: {}", url); log.trace("body: {}", data); @@ -129,7 +113,7 @@ public class AmqpUtils extends BaseTest { } } - public boolean queueExists(String queue) { + public static boolean queueExists(RestTemplate restTemplate, String queue) { final ResponseEntity<QueueDto[]> response = restTemplate.exchange("/api/queues/{1}/", HttpMethod.GET, new HttpEntity<>(null), QueueDto[].class, "/"); if (!response.getStatusCode().equals(HttpStatus.OK)) { log.error("Failed to find queue, code is {}", response.getStatusCode()); diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java index 341a042d6e597239738b48dfef26cb630333e158..a7c86f0066393b962ece38090749a57ee6b4d4c0 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.utils; -import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.UserCreateDto; import at.ac.tuwien.ifs.dbrepo.config.KeycloakConfig; +import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.UserCreateDto; import at.ac.tuwien.ifs.dbrepo.core.exception.UserNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import jakarta.ws.rs.core.Response; diff --git a/dbrepo-metadata-service/rest-service/src/test/resources/application.properties b/dbrepo-metadata-service/rest-service/src/test/resources/application.properties index d96b44310278aa87e9862990dcfb5f4c74269063..949aa0f3993b622ed211a20c0442067443eee580 100644 --- a/dbrepo-metadata-service/rest-service/src/test/resources/application.properties +++ b/dbrepo-metadata-service/rest-service/src/test/resources/application.properties @@ -1,9 +1,5 @@ -# enable local spring profile -spring.profiles.active=local,junit - # disable discovery spring.cloud.discovery.enabled=false - # internal datasource spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE SCHEMA IF NOT EXISTS DBREPO;NON_KEYWORDS=value spring.datasource.driverClassName=org.h2.Driver @@ -13,7 +9,6 @@ spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.sql.init.mode=always spring.sql.init.schema-locations=classpath*:init/schema.sql spring.jpa.hibernate.ddl-auto=create - # logging logging.level.root=error logging.level.at.tuwien.=trace @@ -21,13 +16,11 @@ logging.level.org.testcontainers.=info logging.level.tc.=info logging.level.com.github.dockerjava.=warn logging.level.com.github.dockerjava.zerodep.shaded.org.apache.hc.client5.http.wire.=off - # datacite -dbrepo.datacite.url= https://api.test.datacite.org -dbrepo.datacite.prefix= 10.12345 -dbrepo.datacite.username= test-user -dbrepo.datacite.password= test-password - +dbrepo.datacite.url=https://api.test.datacite.org +dbrepo.datacite.prefix=10.12345 +dbrepo.datacite.username=test-user +dbrepo.datacite.password=test-password # s3 dbrepo.s3.accessKeyId=minioadmin dbrepo.s3.secretAccessKey=minioadmin diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java index be7eabb939e17ef8c6b7ac5fab9f0006afed5e4e..1737650d9e504faa504bef1eaa32e9575a7d415a 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java @@ -6,7 +6,8 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.DefaultUriBuilderFactory; @@ -50,7 +51,7 @@ public class GatewayConfig { @Value("${dbrepo.system.password}") private String systemPassword; - + private final CredentialService credentialService; @Autowired @@ -58,7 +59,6 @@ public class GatewayConfig { this.credentialService = credentialService; } - @Profile("!junit") @Bean("brokerRestTemplate") public RestTemplate brokerRestTemplate() { final RestTemplate restTemplate = new RestTemplate(); diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierService.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierService.java index ac23dc1b4f9e425307e057722fdbc31b18e0a660..32193375fedf5cf3c24b356624f755c9e0f4f051 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierService.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierService.java @@ -142,7 +142,7 @@ public interface IdentifierService { */ Identifier create(Database database, User user, CreateIdentifierDto data) throws DataServiceException, DataServiceConnectionException, MalformedException, ViewNotFoundException, DatabaseNotFoundException, - QueryNotFoundException, SearchServiceException, SearchServiceConnectionException, ExternalServiceException; + QueryNotFoundException, SearchServiceException, SearchServiceConnectionException, ExternalServiceException, IdentifierNotFoundException; /** * Export metadata for a identifier diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java index 0ce9c93a5407241bb5523fb4ac5b5661b87f0158..a6d50d4f966706e4e1f24b1457e99ff750e5b412 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataCiteIdentifierServiceImpl.java @@ -110,9 +110,13 @@ public class DataCiteIdentifierServiceImpl implements IdentifierService { @Transactional(rollbackFor = {Exception.class}) public Identifier create(Database database, User user, CreateIdentifierDto data) throws DataServiceException, DataServiceConnectionException, MalformedException, ViewNotFoundException, DatabaseNotFoundException, - QueryNotFoundException, SearchServiceException, SearchServiceConnectionException, ExternalServiceException { - data.setDoi(remoteSave(identifierService.create(database, user, data), DataCiteDoiEvent.REGISTER)); - return identifierService.create(database, user, data); + QueryNotFoundException, SearchServiceException, SearchServiceConnectionException, ExternalServiceException, + IdentifierNotFoundException { + final Identifier identifier = identifierService.create(database, user, data); + data.setDoi(remoteSave(identifier, DataCiteDoiEvent.REGISTER)); + final IdentifierSaveDto dto = metadataMapper.identifierCreateDtoToIdentifierSaveDto(data); + dto.setId(identifier.getId()); + return identifierService.save(database, user, dto); } /** diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock index 74e62ab44a04679b4586dfe1529c52224e4d46ed..c0d9f88ddd59a9a7feac41599f5f4a3d8384f7d9 100644 --- a/dbrepo-search-service/Pipfile.lock +++ b/dbrepo-search-service/Pipfile.lock @@ -229,46 +229,46 @@ }, "cryptography": { "hashes": [ - "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", - "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", - "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", - "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", - "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", - "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", - "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", - "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", - "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", - "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", - "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", - "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", - "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", - "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", - "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", - "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", - "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", - "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", - "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", - "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", - "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", - "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", - "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", - "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", - "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", - "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", - "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", - "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", - "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", - "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", - "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", - "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", - "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", - "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", - "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", - "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", - "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" + "sha256:00094838ecc7c6594171e8c8a9166124c1197b074cfca23645cee573910d76bc", + "sha256:050ce5209d5072472971e6efbfc8ec5a8f9a841de5a4db0ebd9c2e392cb81972", + "sha256:232954730c362638544758a8160c4ee1b832dc011d2c41a306ad8f7cccc5bb0b", + "sha256:25286aacb947286620a31f78f2ed1a32cded7be5d8b729ba3fb2c988457639e4", + "sha256:2f8f8f0b73b885ddd7f3d8c2b2234a7d3ba49002b0223f58cfde1bedd9563c56", + "sha256:38deed72285c7ed699864f964a3f4cf11ab3fb38e8d39cfcd96710cd2b5bb716", + "sha256:3ad69eeb92a9de9421e1f6685e85a10fbcfb75c833b42cc9bc2ba9fb00da4710", + "sha256:5555365a50efe1f486eed6ac7062c33b97ccef409f5970a0b6f205a7cfab59c8", + "sha256:555e5e2d3a53b4fabeca32835878b2818b3f23966a4efb0d566689777c5a12c8", + "sha256:57a6500d459e8035e813bd8b51b671977fb149a8c95ed814989da682314d0782", + "sha256:5833bb4355cb377ebd880457663a972cd044e7f49585aee39245c0d592904578", + "sha256:71320fbefd05454ef2d457c481ba9a5b0e540f3753354fff6f780927c25d19b0", + "sha256:7573d9eebaeceeb55285205dbbb8753ac1e962af3d9640791d12b36864065e71", + "sha256:92d5f428c1a0439b2040435a1d6bc1b26ebf0af88b093c3628913dd464d13fa1", + "sha256:97787952246a77d77934d41b62fb1b6f3581d83f71b44796a4158d93b8f5c490", + "sha256:9bb5bf55dcb69f7067d80354d0a348368da907345a2c448b0babc4215ccd3497", + "sha256:9cc80ce69032ffa528b5e16d217fa4d8d4bb7d6ba8659c1b4d74a1b0f4235fca", + "sha256:9e4253ed8f5948a3589b3caee7ad9a5bf218ffd16869c516535325fece163dcc", + "sha256:9eda14f049d7f09c2e8fb411dda17dd6b16a3c76a1de5e249188a32aeb92de19", + "sha256:a2b56de3417fd5f48773ad8e91abaa700b678dc7fe1e0c757e1ae340779acf7b", + "sha256:af3f92b1dc25621f5fad065288a44ac790c5798e986a34d393ab27d2b27fcff9", + "sha256:c5edcb90da1843df85292ef3a313513766a78fbbb83f584a5a58fb001a5a9d57", + "sha256:c824c9281cb628015bfc3c59335163d4ca0540d49de4582d6c2637312907e4b1", + "sha256:c92519d242703b675ccefd0f0562eb45e74d438e001f8ab52d628e885751fb06", + "sha256:ca932e11218bcc9ef812aa497cdf669484870ecbcf2d99b765d6c27a86000942", + "sha256:cb6ab89421bc90e0422aca911c69044c2912fc3debb19bb3c1bfe28ee3dff6ab", + "sha256:cfd84777b4b6684955ce86156cfb5e08d75e80dc2585e10d69e47f014f0a5342", + "sha256:d377dde61c5d67eb4311eace661c3efda46c62113ff56bf05e2d679e02aebb5b", + "sha256:d54ae41e6bd70ea23707843021c778f151ca258081586f0cfa31d936ae43d1b2", + "sha256:dc10ec1e9f21f33420cc05214989544727e776286c1c16697178978327b95c9c", + "sha256:ec21313dd335c51d7877baf2972569f40a4291b76a0ce51391523ae358d05899", + "sha256:ec64ee375b5aaa354b2b273c921144a660a511f9df8785e6d1c942967106438e", + "sha256:ed43d396f42028c1f47b5fec012e9e12631266e3825e95c00e3cf94d472dac49", + "sha256:edd6d51869beb7f0d472e902ef231a9b7689508e83880ea16ca3311a00bf5ce7", + "sha256:f22af3c78abfbc7cbcdf2c55d23c3e022e1a462ee2481011d518c7fb9c9f3d65", + "sha256:fae1e637f527750811588e4582988932c222f8251f7b7ea93739acb624e1487f", + "sha256:fed5aaca1750e46db870874c9c273cd5182a9e9deb16f06f7bdffdb5c2bde4b9" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==45.0.2" + "version": "==45.0.3" }, "dbrepo": { "hashes": [ @@ -553,11 +553,11 @@ }, "jsonschema": { "hashes": [ - "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", - "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566" + "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", + "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d" ], - "markers": "python_version >= '3.8'", - "version": "==4.23.0" + "markers": "python_version >= '3.9'", + "version": "==4.24.0" }, "jsonschema-specifications": { "hashes": [ @@ -816,11 +816,11 @@ }, "pydantic": { "hashes": [ - "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", - "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb" + "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", + "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7" ], "markers": "python_version >= '3.9'", - "version": "==2.11.4" + "version": "==2.11.5" }, "pydantic-core": { "hashes": [ @@ -1687,115 +1687,119 @@ }, "coverage": { "hashes": [ - "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", - "sha256:061a3bf679dc38fe34d3822f10a9977d548de86b440010beb1e3b44ba93d20f7", - "sha256:07fff2f2ce465fae27447432d39ce733476fbf8478de51fb4034c201e0c5da6d", - "sha256:11e5ea0acd8cc5d23030c34dfb2eb6638ad886328df18cc69f8eefab73d1ece5", - "sha256:12950b6373dc9dfe1ce22a8506ec29c82bfc5b38146ced0a222f38cf5d99a56d", - "sha256:173e16969f990688aae4b4487717c44330bc57fd8b61a6216ce8eeb827eb5c0d", - "sha256:1cc6bebc15c3b275174c66cf4e1c949a94c5c2a3edaa2f193a1225548c52c771", - "sha256:21645788c5c2afa3df2d4b607638d86207b84cb495503b71e80e16b4c6b44e80", - "sha256:2d8f844e837374a9497e11722d9eb9dfeb33b1b5d31136786c39a4c1a3073c6d", - "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", - "sha256:3763b9a4bc128f72da5dcfd7fcc7c7d6644ed28e8f2db473ce1ef0dd37a43fa9", - "sha256:3bd8e3753257e95e94f38c058627aba1581d51f674e3badf226283b2bdb8f8ca", - "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", - "sha256:452f3831c64f5f50260e18a89e613594590d6ceac5206a9b7d76ba43586b01b3", - "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", - "sha256:62a13b372b65fa6e11685df9ca924bed23bab1d0f277f9b67be7536f253aaf17", - "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", - "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", - "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", - "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", - "sha256:87284f272746e31919302ab6211b16b41135109822c498f6e7b40a2f828e7836", - "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", - "sha256:8bcfafb2809cd01be8ffe5f962e01b0fbe4cc1d74513434c52ff2dd05b86d492", - "sha256:9296df6a33b8539cd753765eb5b47308602263a14b124a099cbcf5f770d7cf90", - "sha256:958b513e23286178b513a6b4d975fe9e7cddbcea6e5ebe8d836e4ef067577154", - "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", - "sha256:9b31756ea647b6ef53190f6b708ad0c4c2ea879bc17799ba5b0699eee59ecf7b", - "sha256:9cd54a762667c32112df5d6f059c5d61fa532ee06460948cc5bcbf60c502f5c9", - "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", - "sha256:adafe9d71a940927dd3ad8d487f521f11277f133568b7da622666ebd08923191", - "sha256:ae5e557aa92565d72f6d3196e878e7cbd6a6380e02a15eafe0af781bd767c10d", - "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", - "sha256:b37729ba34c116a3b2b6fb99df5c37a4ca40e96f430070488fd7a1077ad44907", - "sha256:b6424c716f4c38ff8f62b602e6b94cde478dadda542a1cb3fe2fe2520cc2aae3", - "sha256:b8f105631835fdf191c971c4da93d27e732e028d73ecaa1a88f458d497d026cf", - "sha256:be2b1a455b3ecfee20638289bb091a95216887d44924a41c28a601efac0916e8", - "sha256:c04a7903644ccea8fa07c3e76db43ca31c8d453f93c5c94c0f9b82efca225543", - "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", - "sha256:c5757a7b25fe48040fa120ba6597f5f885b01e323e0d13fe21ff95a70c0f76b7", - "sha256:ccad4e29ac1b6f75bfeedb2cac4860fe5bd9e0a2f04c3e3218f661fa389ab101", - "sha256:cd21de85aa0e247b79c6c41f8b5541b54285550f2da6a9448d82b53234d3611b", - "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", - "sha256:d074380f587360d2500f3b065232c67ae248aaf739267807adbcd29b88bdf864", - "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", - "sha256:d5102e17b81158de17d4b5bc363fcffd15231a38ef3f50b8e6fa01f0c6911194", - "sha256:d52d79dfd3b410b153b6d65b0e3afe834eca2b969377f55ad73c67156d35af0d", - "sha256:d591f2ddad432b794f77dc1e94334a80015a3fc7fa07fd6aed8f40362083be5b", - "sha256:d616b5a543c7d4deffa25eb8d8ae3d0d95097f08ac8b131600bb7fbf967ea0e2", - "sha256:d7af3990490982fbd2437156c69edbe82b7edf99bc60302cceeeaf79afb886b8", - "sha256:d8a6c35afd5b912101fabf42975d92d750cfce33c571508a82ff334a133c40d5", - "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", - "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", - "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", - "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", - "sha256:e3f65da9701648d226b6b24ded3e2528b72075e48d7540968cd857c3bd4c5321", - "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", - "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", - "sha256:e93f36a5c9d995f40e9c4cd9bbabd83fd78705792fa250980256c93accd07bb6", - "sha256:ebdf212e1ed85af63fa1a76d556c0a3c7b34348ffba6e145a64b15f003ad0a2b", - "sha256:f7a95b0dce364535a63fde0ec1b1ca36400037175d3b62ce04d85dbca5e33832", - "sha256:f82c1a1c1897d2293cb6c50f20fe8a9ea2add1a228eff479380917a1fe7bbb68", - "sha256:fe4877c24711458f7990392181be30166cc3ae72158036ecb48a73c30c99fb6f", - "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654" + "sha256:00f2e2f2e37f47e5f54423aeefd6c32a7dbcedc033fcd3928a4f4948e8b96af7", + "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be", + "sha256:0774df1e093acb6c9e4d58bce7f86656aeed6c132a16e2337692c12786b32404", + "sha256:07a989c867986c2a75f158f03fdb413128aad29aca9d4dbce5fc755672d96f11", + "sha256:0bdc8bf760459a4a4187b452213e04d039990211f98644c7292adf1e471162b5", + "sha256:0e49824808d4375ede9dd84e9961a59c47f9113039f1a525e6be170aa4f5c34d", + "sha256:145b07bea229821d51811bf15eeab346c236d523838eda395ea969d120d13347", + "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36", + "sha256:1676628065a498943bd3f64f099bb573e08cf1bc6088bbe33cf4424e0876f4b3", + "sha256:1aec326ed237e5880bfe69ad41616d333712c7937bcefc1343145e972938f9b3", + "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b", + "sha256:1efa4166ba75ccefd647f2d78b64f53f14fb82622bc94c5a5cb0a622f50f1c9e", + "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85", + "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279", + "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d", + "sha256:2db10dedeb619a771ef0e2949ccba7b75e33905de959c2643a4607bef2f3fb3a", + "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3", + "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7", + "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57", + "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8", + "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625", + "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b", + "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740", + "sha256:496948261eaac5ac9cf43f5d0a9f6eb7a6d4cb3bedb2c5d294138142f5c18f2a", + "sha256:4c26c2396674816deaeae7ded0e2b42c26537280f8fe313335858ffff35019be", + "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257", + "sha256:546e537d9e24efc765c9c891328f30f826e3e4808e31f5d0f87c4ba12bbd1622", + "sha256:5e818796f71702d7a13e50c70de2a1924f729228580bcba1607cccf32eea46e6", + "sha256:5feb7f2c3e6ea94d3b877def0270dff0947b8d8c04cfa34a17be0a4dc1836879", + "sha256:641988828bc18a6368fe72355df5f1703e44411adbe49bba5644b941ce6f2e3a", + "sha256:670a13249b957bb9050fab12d86acef7bf8f6a879b9d1a883799276e0d4c674a", + "sha256:6782a12bf76fa61ad9350d5a6ef5f3f020b57f5e6305cbc663803f2ebd0f270a", + "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050", + "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0", + "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32", + "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1", + "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48", + "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f", + "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008", + "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223", + "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2", + "sha256:8966a821e2083c74d88cca5b7dcccc0a3a888a596a04c0b9668a891de3a0cc53", + "sha256:8ab4a51cb39dc1933ba627e0875046d150e88478dbe22ce145a68393e9652975", + "sha256:8e1a26e7e50076e35f7afafde570ca2b4d7900a491174ca357d29dece5aacee7", + "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199", + "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f", + "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7", + "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27", + "sha256:ab9b09a2349f58e73f8ebc06fac546dd623e23b063e5398343c5270072e3201c", + "sha256:b039ffddc99ad65d5078ef300e0c7eed08c270dc26570440e3ef18beb816c1ca", + "sha256:b069938961dfad881dc2f8d02b47645cd2f455d3809ba92a8a687bf513839787", + "sha256:b99058eef42e6a8dcd135afb068b3d53aff3921ce699e127602efff9956457a9", + "sha256:bd8ec21e1443fd7a447881332f7ce9d35b8fbd2849e761bb290b584535636b0a", + "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8", + "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20", + "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d", + "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99", + "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108", + "sha256:de77c3ba8bb686d1c411e78ee1b97e6e0b963fb98b1637658dd9ad2c875cf9d7", + "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c", + "sha256:e6ea7dba4e92926b7b5f0990634b78ea02f208d04af520c73a7c876d5a8d36cb", + "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46", + "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca", + "sha256:eacd2de0d30871eff893bab0b67840a96445edcb3c8fd915e6b11ac4b2f3fa6d", + "sha256:ec455eedf3ba0bbdf8f5a570012617eb305c63cb9f03428d39bf544cb2b94837", + "sha256:ef2f22795a7aca99fc3c84393a55a53dd18ab8c93fb431004e4d8f0774150f54", + "sha256:fd51355ab8a372d89fb0e6a31719e825cf8df8b6724bee942fb5b92c3f016ba3" ], "index": "pypi", - "version": "==7.8.1" + "version": "==7.8.2" }, "cryptography": { "hashes": [ - "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", - "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", - "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", - "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", - "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", - "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", - "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", - "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", - "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", - "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", - "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", - "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", - "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", - "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", - "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", - "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", - "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", - "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", - "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", - "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", - "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", - "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", - "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", - "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", - "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", - "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", - "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", - "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", - "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", - "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", - "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", - "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", - "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", - "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", - "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", - "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", - "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" + "sha256:00094838ecc7c6594171e8c8a9166124c1197b074cfca23645cee573910d76bc", + "sha256:050ce5209d5072472971e6efbfc8ec5a8f9a841de5a4db0ebd9c2e392cb81972", + "sha256:232954730c362638544758a8160c4ee1b832dc011d2c41a306ad8f7cccc5bb0b", + "sha256:25286aacb947286620a31f78f2ed1a32cded7be5d8b729ba3fb2c988457639e4", + "sha256:2f8f8f0b73b885ddd7f3d8c2b2234a7d3ba49002b0223f58cfde1bedd9563c56", + "sha256:38deed72285c7ed699864f964a3f4cf11ab3fb38e8d39cfcd96710cd2b5bb716", + "sha256:3ad69eeb92a9de9421e1f6685e85a10fbcfb75c833b42cc9bc2ba9fb00da4710", + "sha256:5555365a50efe1f486eed6ac7062c33b97ccef409f5970a0b6f205a7cfab59c8", + "sha256:555e5e2d3a53b4fabeca32835878b2818b3f23966a4efb0d566689777c5a12c8", + "sha256:57a6500d459e8035e813bd8b51b671977fb149a8c95ed814989da682314d0782", + "sha256:5833bb4355cb377ebd880457663a972cd044e7f49585aee39245c0d592904578", + "sha256:71320fbefd05454ef2d457c481ba9a5b0e540f3753354fff6f780927c25d19b0", + "sha256:7573d9eebaeceeb55285205dbbb8753ac1e962af3d9640791d12b36864065e71", + "sha256:92d5f428c1a0439b2040435a1d6bc1b26ebf0af88b093c3628913dd464d13fa1", + "sha256:97787952246a77d77934d41b62fb1b6f3581d83f71b44796a4158d93b8f5c490", + "sha256:9bb5bf55dcb69f7067d80354d0a348368da907345a2c448b0babc4215ccd3497", + "sha256:9cc80ce69032ffa528b5e16d217fa4d8d4bb7d6ba8659c1b4d74a1b0f4235fca", + "sha256:9e4253ed8f5948a3589b3caee7ad9a5bf218ffd16869c516535325fece163dcc", + "sha256:9eda14f049d7f09c2e8fb411dda17dd6b16a3c76a1de5e249188a32aeb92de19", + "sha256:a2b56de3417fd5f48773ad8e91abaa700b678dc7fe1e0c757e1ae340779acf7b", + "sha256:af3f92b1dc25621f5fad065288a44ac790c5798e986a34d393ab27d2b27fcff9", + "sha256:c5edcb90da1843df85292ef3a313513766a78fbbb83f584a5a58fb001a5a9d57", + "sha256:c824c9281cb628015bfc3c59335163d4ca0540d49de4582d6c2637312907e4b1", + "sha256:c92519d242703b675ccefd0f0562eb45e74d438e001f8ab52d628e885751fb06", + "sha256:ca932e11218bcc9ef812aa497cdf669484870ecbcf2d99b765d6c27a86000942", + "sha256:cb6ab89421bc90e0422aca911c69044c2912fc3debb19bb3c1bfe28ee3dff6ab", + "sha256:cfd84777b4b6684955ce86156cfb5e08d75e80dc2585e10d69e47f014f0a5342", + "sha256:d377dde61c5d67eb4311eace661c3efda46c62113ff56bf05e2d679e02aebb5b", + "sha256:d54ae41e6bd70ea23707843021c778f151ca258081586f0cfa31d936ae43d1b2", + "sha256:dc10ec1e9f21f33420cc05214989544727e776286c1c16697178978327b95c9c", + "sha256:ec21313dd335c51d7877baf2972569f40a4291b76a0ce51391523ae358d05899", + "sha256:ec64ee375b5aaa354b2b273c921144a660a511f9df8785e6d1c942967106438e", + "sha256:ed43d396f42028c1f47b5fec012e9e12631266e3825e95c00e3cf94d472dac49", + "sha256:edd6d51869beb7f0d472e902ef231a9b7689508e83880ea16ca3311a00bf5ce7", + "sha256:f22af3c78abfbc7cbcdf2c55d23c3e022e1a462ee2481011d518c7fb9c9f3d65", + "sha256:fae1e637f527750811588e4582988932c222f8251f7b7ea93739acb624e1487f", + "sha256:fed5aaca1750e46db870874c9c273cd5182a9e9deb16f06f7bdffdb5c2bde4b9" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==45.0.2" + "version": "==45.0.3" }, "docker": { "hashes": [ diff --git a/dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl index 23950d61fc98e36a15c4a8ed9c452e86446b589b..b5cf628e6f4fcff5db3f2ad4fbaaf85d221087fd 100644 Binary files a/dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl and b/dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz b/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz index b24c628496a5d2753bebe080118cba5237390e28..247061da5eb4abb58ba6b1d2a41276b9eccafc4b 100644 Binary files a/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz and b/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-ui/components/ResourceStatus.vue b/dbrepo-ui/components/ResourceStatus.vue index 017908b3af3b34b0ea5b99405081eb49133495e5..c2a2f78efc81f516088d7873fe9acd8892696aae 100644 --- a/dbrepo-ui/components/ResourceStatus.vue +++ b/dbrepo-ui/components/ResourceStatus.vue @@ -55,7 +55,10 @@ export default { return this.$t(`pages.database.status.${this.mode}`) }, hasIdentifier () { - return this.resource.identifiers?.length > 0 + if (this.resource.identifiers?.length === 0) { + return false + } + return this.resource.identifiers.filter(i => i.status === 'published').length > 0 }, color () { if (this.hasIdentifier) { diff --git a/dbrepo-ui/components/identifier/Select.vue b/dbrepo-ui/components/identifier/Select.vue index e5572866140858970c5141d40591af3dda5c389a..ea402471fb9f581591fe0d2d50eb70d4be16e9cf 100644 --- a/dbrepo-ui/components/identifier/Select.vue +++ b/dbrepo-ui/components/identifier/Select.vue @@ -15,27 +15,21 @@ :identifier="identifier" /> </v-list-item-subtitle> <template v-slot:append> - <v-tooltip - v-if="identifier.status === 'published'" - :text="$t('pages.identifier.pid.title')" - left> - <template - v-slot:activator="{ props }"> - <v-icon - color="primary" - v-bind="props">mdi-identifier</v-icon> - </template> - </v-tooltip> - <v-tooltip - v-else - :text="$t('pages.identifier.draft.title')" - left> - <template - v-slot:activator="{ props }"> - <v-icon - v-bind="props">mdi-pencil-outline</v-icon> - </template> - </v-tooltip> + <v-list-item-action> + <v-tooltip + :text="identifier.status === 'published' ? $t('pages.identifier.pid.title') : $t('pages.identifier.draft.title')" + left> + <template + v-slot:activator="{ props }"> + <span class="mr-2">{{ formatTimestampUTCLabel(identifier.created) }}</span> + <v-icon + :color="identifier.status === 'published' ? 'primary' : null" + v-bind="props"> + {{ identifier.status === 'published' ? 'mdi-identifier' : 'mdi-pencil-outline' }} + </v-icon> + </template> + </v-tooltip> + </v-list-item-action> </template> </v-list-item> </div> @@ -102,6 +96,7 @@ export default { this.init() }, methods: { + formatTimestampUTCLabel, href (identifier) { if (!identifier) { return null @@ -128,7 +123,7 @@ export default { return identifierService.identifierPreferEnglishTitle(identifier) }, isActive (identifier) { - if (!identifier) { + if (!identifier || !this.identifier) { return false } return this.identifier.id === identifier.id @@ -140,7 +135,7 @@ export default { return identifier.status === 'published' ? 'primary' : null }, init () { - if (!this.identifiers) { + if (!this.identifiers || !this.identifier) { return null } this.idx = this.identifiers.map(i => i.id).indexOf(this.identifier.id) diff --git a/docker-compose.yml b/docker-compose.yml index 553b597ef80063ae7570e39f5366207f916affaf..564b666b35fe53a860729cc3db939b718ebe7b2e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -326,6 +326,14 @@ services: - search-db-data:/bitnami/opensearch/data ports: - "9200:9200" + deploy: + resources: + reservations: + cpus: '0.25' + memory: 512M + limits: + cpus: '0.50' + memory: 2048M healthcheck: test: curl -sSL 127.0.0.1:9200 <<: *healthcheck-params diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py index c9bfb58ff39563df45e2b5038d9124a5f27701ed..3c80f1174d4cee48c7c9608c6cac9eb7de8b8418 100644 --- a/lib/python/dbrepo/api/dto.py +++ b/lib/python/dbrepo/api/dto.py @@ -595,13 +595,11 @@ class CreateIdentifierCreator(BaseModel): firstname: Optional[str] = None lastname: Optional[str] = None affiliation: Optional[str] = None - name_type: Optional[str] = None + name_type: Optional[IdentifierNameType] = None name_identifier: Optional[str] = None name_identifier_scheme: Optional[str] = None - name_identifier_scheme_uri: Optional[str] = None affiliation_identifier: Optional[str] = None affiliation_identifier_scheme: Optional[str] = None - affiliation_identifier_scheme_uri: Optional[str] = None class SaveIdentifierCreator(CreateIdentifierCreator): @@ -632,20 +630,15 @@ class CreateIdentifier(BaseModel): publication_year: int publisher: str titles: List[CreateIdentifierTitle] - descriptions: List[CreateIdentifierDescription] - funders: Optional[List[CreateIdentifierFunder]] = field(default_factory=list) + descriptions: Optional[List[CreateIdentifierDescription]] = None + funders: Optional[List[CreateIdentifierFunder]] = None doi: Optional[str] = None language: Optional[str] = None - licenses: Optional[List[License]] = field(default_factory=list) + licenses: Optional[List[License]] = None query_id: Optional[str] = None table_id: Optional[str] = None view_id: Optional[str] = None - query: Optional[str] = None - query_normalized: Optional[str] = None - execution: Optional[str] = None - related_identifiers: Optional[List[CreateRelatedIdentifier]] = field(default_factory=list) - result_hash: Optional[str] = None - result_number: Optional[int] = None + related_identifiers: Optional[List[CreateRelatedIdentifier]] = None publication_day: Optional[int] = None publication_month: Optional[int] = None @@ -993,6 +986,17 @@ class IdentifierStatusType(str, Enum): """The identifier is a draft and can still be edited.""" +class IdentifierNameType(str, Enum): + """ + Enumeration of identifier name types. + """ + PERSONAL = "Personal" + """The creator identifies a person.""" + + ORGANIZATIONAL = "Organizational" + """The creator identifies an organization""" + + class Query(BaseModel): id: str owner: UserBrief