diff --git a/ecs/crm-datafetch/Pipfile.lock b/ecs/crm-datafetch/Pipfile.lock index dcb85854..1008c5d1 100644 --- a/ecs/crm-datafetch/Pipfile.lock +++ b/ecs/crm-datafetch/Pipfile.lock @@ -26,20 +26,19 @@ }, "boto3": { "hashes": [ - "sha256:4b40bf2c8494647c9e88c180537dc9fc0c1047a9fffbb1e5b0da6596f1e59b7b", - "sha256:992e994c7e481a5d3259c699574882b79d631a46f7c369bea350b7ccb0651317" + "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04", + "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "botocore": { "hashes": [ - "sha256:079f3288d38f97fd5656c25c44a94bea0e7090b938abfdeea463eaadb210c4a0", - "sha256:72df4af7e4e6392552c882d48c74e4be9bf7be4cd8d829711b312fbae13d7034" + "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6", + "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb" ], "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "certifi": { "hashes": [ @@ -243,11 +242,11 @@ }, "idna": { "hashes": [ - "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", - "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" + "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc", + "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" ], "markers": "python_version >= '3.5'", - "version": "==3.6" + "version": "==3.7" }, "isodate": { "hashes": [ @@ -266,87 +265,164 @@ }, "lxml": { "hashes": [ - "sha256:13521a321a25c641b9ea127ef478b580b5ec82aa2e9fc076c86169d161798b01", - "sha256:14deca1460b4b0f6b01f1ddc9557704e8b365f55c63070463f6c18619ebf964f", - "sha256:16018f7099245157564d7148165132c70adb272fb5a17c048ba70d9cc542a1a1", - "sha256:16dd953fb719f0ffc5bc067428fc9e88f599e15723a85618c45847c96f11f431", - "sha256:19a1bc898ae9f06bccb7c3e1dfd73897ecbbd2c96afe9095a6026016e5ca97b8", - "sha256:1ad17c20e3666c035db502c78b86e58ff6b5991906e55bdbef94977700c72623", - "sha256:22b7ee4c35f374e2c20337a95502057964d7e35b996b1c667b5c65c567d2252a", - "sha256:24ef5a4631c0b6cceaf2dbca21687e29725b7c4e171f33a8f8ce23c12558ded1", - "sha256:25663d6e99659544ee8fe1b89b1a8c0aaa5e34b103fab124b17fa958c4a324a6", - "sha256:262bc5f512a66b527d026518507e78c2f9c2bd9eb5c8aeeb9f0eb43fcb69dc67", - "sha256:280f3edf15c2a967d923bcfb1f8f15337ad36f93525828b40a0f9d6c2ad24890", - "sha256:2ad3a8ce9e8a767131061a22cd28fdffa3cd2dc193f399ff7b81777f3520e372", - "sha256:2befa20a13f1a75c751f47e00929fb3433d67eb9923c2c0b364de449121f447c", - "sha256:2f37c6d7106a9d6f0708d4e164b707037b7380fcd0b04c5bd9cae1fb46a856fb", - "sha256:304128394c9c22b6569eba2a6d98392b56fbdfbad58f83ea702530be80d0f9df", - "sha256:342e95bddec3a698ac24378d61996b3ee5ba9acfeb253986002ac53c9a5f6f84", - "sha256:3aeca824b38ca78d9ee2ab82bd9883083d0492d9d17df065ba3b94e88e4d7ee6", - "sha256:3d184e0d5c918cff04cdde9dbdf9600e960161d773666958c9d7b565ccc60c45", - "sha256:3e3898ae2b58eeafedfe99e542a17859017d72d7f6a63de0f04f99c2cb125936", - "sha256:3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca", - "sha256:3f14a4fb1c1c402a22e6a341a24c1341b4a3def81b41cd354386dcb795f83897", - "sha256:436a943c2900bb98123b06437cdd30580a61340fbdb7b28aaf345a459c19046a", - "sha256:4946e7f59b7b6a9e27bef34422f645e9a368cb2be11bf1ef3cafc39a1f6ba68d", - "sha256:49a9b4af45e8b925e1cd6f3b15bbba2c81e7dba6dce170c677c9cda547411e14", - "sha256:4f8b0c78e7aac24979ef09b7f50da871c2de2def043d468c4b41f512d831e912", - "sha256:52427a7eadc98f9e62cb1368a5079ae826f94f05755d2d567d93ee1bc3ceb354", - "sha256:5e53d7e6a98b64fe54775d23a7c669763451340c3d44ad5e3a3b48a1efbdc96f", - "sha256:5fcfbebdb0c5d8d18b84118842f31965d59ee3e66996ac842e21f957eb76138c", - "sha256:601f4a75797d7a770daed8b42b97cd1bb1ba18bd51a9382077a6a247a12aa38d", - "sha256:61c5a7edbd7c695e54fca029ceb351fc45cd8860119a0f83e48be44e1c464862", - "sha256:6a2a2c724d97c1eb8cf966b16ca2915566a4904b9aad2ed9a09c748ffe14f969", - "sha256:6d48fc57e7c1e3df57be5ae8614bab6d4e7b60f65c5457915c26892c41afc59e", - "sha256:6f11b77ec0979f7e4dc5ae081325a2946f1fe424148d3945f943ceaede98adb8", - "sha256:704f5572ff473a5f897745abebc6df40f22d4133c1e0a1f124e4f2bd3330ff7e", - "sha256:725e171e0b99a66ec8605ac77fa12239dbe061482ac854d25720e2294652eeaa", - "sha256:7cfced4a069003d8913408e10ca8ed092c49a7f6cefee9bb74b6b3e860683b45", - "sha256:7ec465e6549ed97e9f1e5ed51c657c9ede767bc1c11552f7f4d022c4df4a977a", - "sha256:82bddf0e72cb2af3cbba7cec1d2fd11fda0de6be8f4492223d4a268713ef2147", - "sha256:82cd34f1081ae4ea2ede3d52f71b7be313756e99b4b5f829f89b12da552d3aa3", - "sha256:843b9c835580d52828d8f69ea4302537337a21e6b4f1ec711a52241ba4a824f3", - "sha256:877efb968c3d7eb2dad540b6cabf2f1d3c0fbf4b2d309a3c141f79c7e0061324", - "sha256:8b9f19df998761babaa7f09e6bc169294eefafd6149aaa272081cbddc7ba4ca3", - "sha256:8cf5877f7ed384dabfdcc37922c3191bf27e55b498fecece9fd5c2c7aaa34c33", - "sha256:8d2900b7f5318bc7ad8631d3d40190b95ef2aa8cc59473b73b294e4a55e9f30f", - "sha256:8d7b4beebb178e9183138f552238f7e6613162a42164233e2bda00cb3afac58f", - "sha256:8f52fe6859b9db71ee609b0c0a70fea5f1e71c3462ecf144ca800d3f434f0764", - "sha256:98f3f020a2b736566c707c8e034945c02aa94e124c24f77ca097c446f81b01f1", - "sha256:9aa543980ab1fbf1720969af1d99095a548ea42e00361e727c58a40832439114", - "sha256:9b99f564659cfa704a2dd82d0684207b1aadf7d02d33e54845f9fc78e06b7581", - "sha256:9bcf86dfc8ff3e992fed847c077bd875d9e0ba2fa25d859c3a0f0f76f07f0c8d", - "sha256:9bd0ae7cc2b85320abd5e0abad5ccee5564ed5f0cc90245d2f9a8ef330a8deae", - "sha256:9d3c0f8567ffe7502d969c2c1b809892dc793b5d0665f602aad19895f8d508da", - "sha256:9e5ac3437746189a9b4121db2a7b86056ac8786b12e88838696899328fc44bb2", - "sha256:a36c506e5f8aeb40680491d39ed94670487ce6614b9d27cabe45d94cd5d63e1e", - "sha256:a5ab722ae5a873d8dcee1f5f45ddd93c34210aed44ff2dc643b5025981908cda", - "sha256:a96f02ba1bcd330807fc060ed91d1f7a20853da6dd449e5da4b09bfcc08fdcf5", - "sha256:acb6b2f96f60f70e7f34efe0c3ea34ca63f19ca63ce90019c6cbca6b676e81fa", - "sha256:ae15347a88cf8af0949a9872b57a320d2605ae069bcdf047677318bc0bba45b1", - "sha256:af8920ce4a55ff41167ddbc20077f5698c2e710ad3353d32a07d3264f3a2021e", - "sha256:afd825e30f8d1f521713a5669b63657bcfe5980a916c95855060048b88e1adb7", - "sha256:b21b4031b53d25b0858d4e124f2f9131ffc1530431c6d1321805c90da78388d1", - "sha256:b4b68c961b5cc402cbd99cca5eb2547e46ce77260eb705f4d117fd9c3f932b95", - "sha256:b66aa6357b265670bb574f050ffceefb98549c721cf28351b748be1ef9577d93", - "sha256:b9e240ae0ba96477682aa87899d94ddec1cc7926f9df29b1dd57b39e797d5ab5", - "sha256:bc64d1b1dab08f679fb89c368f4c05693f58a9faf744c4d390d7ed1d8223869b", - "sha256:bf8443781533b8d37b295016a4b53c1494fa9a03573c09ca5104550c138d5c05", - "sha256:c26aab6ea9c54d3bed716b8851c8bfc40cb249b8e9880e250d1eddde9f709bf5", - "sha256:c3cd1fc1dc7c376c54440aeaaa0dcc803d2126732ff5c6b68ccd619f2e64be4f", - "sha256:c7257171bb8d4432fe9d6fdde4d55fdbe663a63636a17f7f9aaba9bcb3153ad7", - "sha256:d42e3a3fc18acc88b838efded0e6ec3edf3e328a58c68fbd36a7263a874906c8", - "sha256:d74fcaf87132ffc0447b3c685a9f862ffb5b43e70ea6beec2fb8057d5d2a1fea", - "sha256:d8c1d679df4361408b628f42b26a5d62bd3e9ba7f0c0e7969f925021554755aa", - "sha256:e856c1c7255c739434489ec9c8aa9cdf5179785d10ff20add308b5d673bed5cd", - "sha256:eac68f96539b32fce2c9b47eb7c25bb2582bdaf1bbb360d25f564ee9e04c542b", - "sha256:ed7326563024b6e91fef6b6c7a1a2ff0a71b97793ac33dbbcf38f6005e51ff6e", - "sha256:ed8c3d2cd329bf779b7ed38db176738f3f8be637bb395ce9629fc76f78afe3d4", - "sha256:f4c9bda132ad108b387c33fabfea47866af87f4ea6ffb79418004f0521e63204", - "sha256:f643ffd2669ffd4b5a3e9b41c909b72b2a1d5e4915da90a77e119b8d48ce867a" + "sha256:04ab5415bf6c86e0518d57240a96c4d1fcfc3cb370bb2ac2a732b67f579e5a04", + "sha256:057cdc6b86ab732cf361f8b4d8af87cf195a1f6dc5b0ff3de2dced242c2015e0", + "sha256:058a1308914f20784c9f4674036527e7c04f7be6fb60f5d61353545aa7fcb739", + "sha256:08802f0c56ed150cc6885ae0788a321b73505d2263ee56dad84d200cab11c07a", + "sha256:0a15438253b34e6362b2dc41475e7f80de76320f335e70c5528b7148cac253a1", + "sha256:0c3f67e2aeda739d1cc0b1102c9a9129f7dc83901226cc24dd72ba275ced4218", + "sha256:0e7259016bc4345a31af861fdce942b77c99049d6c2107ca07dc2bba2435c1d9", + "sha256:0ed777c1e8c99b63037b91f9d73a6aad20fd035d77ac84afcc205225f8f41188", + "sha256:0f5d65c39f16717a47c36c756af0fb36144069c4718824b7533f803ecdf91138", + "sha256:0f8c09ed18ecb4ebf23e02b8e7a22a05d6411911e6fabef3a36e4f371f4f2585", + "sha256:11a04306fcba10cd9637e669fd73aa274c1c09ca64af79c041aa820ea992b637", + "sha256:1ae67b4e737cddc96c99461d2f75d218bdf7a0c3d3ad5604d1f5e7464a2f9ffe", + "sha256:1c5bb205e9212d0ebddf946bc07e73fa245c864a5f90f341d11ce7b0b854475d", + "sha256:1f7785f4f789fdb522729ae465adcaa099e2a3441519df750ebdccc481d961a1", + "sha256:200e63525948e325d6a13a76ba2911f927ad399ef64f57898cf7c74e69b71095", + "sha256:21c2e6b09565ba5b45ae161b438e033a86ad1736b8c838c766146eff8ceffff9", + "sha256:2213afee476546a7f37c7a9b4ad4d74b1e112a6fafffc9185d6d21f043128c81", + "sha256:27aa20d45c2e0b8cd05da6d4759649170e8dfc4f4e5ef33a34d06f2d79075d57", + "sha256:2a66bf12fbd4666dd023b6f51223aed3d9f3b40fef06ce404cb75bafd3d89536", + "sha256:2c9d147f754b1b0e723e6afb7ba1566ecb162fe4ea657f53d2139bbf894d050a", + "sha256:2ddfe41ddc81f29a4c44c8ce239eda5ade4e7fc305fb7311759dd6229a080052", + "sha256:31e9a882013c2f6bd2f2c974241bf4ba68c85eba943648ce88936d23209a2e01", + "sha256:3249cc2989d9090eeac5467e50e9ec2d40704fea9ab72f36b034ea34ee65ca98", + "sha256:3545039fa4779be2df51d6395e91a810f57122290864918b172d5dc7ca5bb433", + "sha256:394ed3924d7a01b5bd9a0d9d946136e1c2f7b3dc337196d99e61740ed4bc6fe1", + "sha256:3a6b45da02336895da82b9d472cd274b22dc27a5cea1d4b793874eead23dd14f", + "sha256:3a74c4f27167cb95c1d4af1c0b59e88b7f3e0182138db2501c353555f7ec57f4", + "sha256:3d0c3dd24bb4605439bf91068598d00c6370684f8de4a67c2992683f6c309d6b", + "sha256:3dbe858ee582cbb2c6294dc85f55b5f19c918c2597855e950f34b660f1a5ede6", + "sha256:3dc773b2861b37b41a6136e0b72a1a44689a9c4c101e0cddb6b854016acc0aa8", + "sha256:3e183c6e3298a2ed5af9d7a356ea823bccaab4ec2349dc9ed83999fd289d14d5", + "sha256:3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306", + "sha256:417d14450f06d51f363e41cace6488519038f940676ce9664b34ebf5653433a5", + "sha256:44f6c7caff88d988db017b9b0e4ab04934f11e3e72d478031efc7edcac6c622f", + "sha256:491755202eb21a5e350dae00c6d9a17247769c64dcf62d8c788b5c135e179dc4", + "sha256:4951e4f7a5680a2db62f7f4ab2f84617674d36d2d76a729b9a8be4b59b3659be", + "sha256:52421b41ac99e9d91934e4d0d0fe7da9f02bfa7536bb4431b4c05c906c8c6919", + "sha256:530e7c04f72002d2f334d5257c8a51bf409db0316feee7c87e4385043be136af", + "sha256:533658f8fbf056b70e434dff7e7aa611bcacb33e01f75de7f821810e48d1bb66", + "sha256:5670fb70a828663cc37552a2a85bf2ac38475572b0e9b91283dc09efb52c41d1", + "sha256:56c22432809085b3f3ae04e6e7bdd36883d7258fcd90e53ba7b2e463efc7a6af", + "sha256:58278b29cb89f3e43ff3e0c756abbd1518f3ee6adad9e35b51fb101c1c1daaec", + "sha256:588008b8497667f1ddca7c99f2f85ce8511f8f7871b4a06ceede68ab62dff64b", + "sha256:59565f10607c244bc4c05c0c5fa0c190c990996e0c719d05deec7030c2aa8289", + "sha256:59689a75ba8d7ffca577aefd017d08d659d86ad4585ccc73e43edbfc7476781a", + "sha256:5aea8212fb823e006b995c4dda533edcf98a893d941f173f6c9506126188860d", + "sha256:5c670c0406bdc845b474b680b9a5456c561c65cf366f8db5a60154088c92d102", + "sha256:5ca1e8188b26a819387b29c3895c47a5e618708fe6f787f3b1a471de2c4a94d9", + "sha256:5d077bc40a1fe984e1a9931e801e42959a1e6598edc8a3223b061d30fbd26bbc", + "sha256:5d5792e9b3fb8d16a19f46aa8208987cfeafe082363ee2745ea8b643d9cc5b45", + "sha256:5dd1537e7cc06efd81371f5d1a992bd5ab156b2b4f88834ca852de4a8ea523fa", + "sha256:5ea7b6766ac2dfe4bcac8b8595107665a18ef01f8c8343f00710b85096d1b53a", + "sha256:622020d4521e22fb371e15f580d153134bfb68d6a429d1342a25f051ec72df1c", + "sha256:627402ad8dea044dde2eccde4370560a2b750ef894c9578e1d4f8ffd54000461", + "sha256:644df54d729ef810dcd0f7732e50e5ad1bd0a135278ed8d6bcb06f33b6b6f708", + "sha256:64641a6068a16201366476731301441ce93457eb8452056f570133a6ceb15fca", + "sha256:64c2baa7774bc22dd4474248ba16fe1a7f611c13ac6123408694d4cc93d66dbd", + "sha256:6588c459c5627fefa30139be4d2e28a2c2a1d0d1c265aad2ba1935a7863a4913", + "sha256:66bc5eb8a323ed9894f8fa0ee6cb3e3fb2403d99aee635078fd19a8bc7a5a5da", + "sha256:68a2610dbe138fa8c5826b3f6d98a7cfc29707b850ddcc3e21910a6fe51f6ca0", + "sha256:6935bbf153f9a965f1e07c2649c0849d29832487c52bb4a5c5066031d8b44fd5", + "sha256:6992030d43b916407c9aa52e9673612ff39a575523c5f4cf72cdef75365709a5", + "sha256:6a014510830df1475176466b6087fc0c08b47a36714823e58d8b8d7709132a96", + "sha256:6ab833e4735a7e5533711a6ea2df26459b96f9eec36d23f74cafe03631647c41", + "sha256:6cc6ee342fb7fa2471bd9b6d6fdfc78925a697bf5c2bcd0a302e98b0d35bfad3", + "sha256:6cf58416653c5901e12624e4013708b6e11142956e7f35e7a83f1ab02f3fe456", + "sha256:70a9768e1b9d79edca17890175ba915654ee1725975d69ab64813dd785a2bd5c", + "sha256:70ac664a48aa64e5e635ae5566f5227f2ab7f66a3990d67566d9907edcbbf867", + "sha256:71e97313406ccf55d32cc98a533ee05c61e15d11b99215b237346171c179c0b0", + "sha256:7221d49259aa1e5a8f00d3d28b1e0b76031655ca74bb287123ef56c3db92f213", + "sha256:74b28c6334cca4dd704e8004cba1955af0b778cf449142e581e404bd211fb619", + "sha256:764b521b75701f60683500d8621841bec41a65eb739b8466000c6fdbc256c240", + "sha256:78bfa756eab503673991bdcf464917ef7845a964903d3302c5f68417ecdc948c", + "sha256:794f04eec78f1d0e35d9e0c36cbbb22e42d370dda1609fb03bcd7aeb458c6377", + "sha256:79bd05260359170f78b181b59ce871673ed01ba048deef4bf49a36ab3e72e80b", + "sha256:7a7efd5b6d3e30d81ec68ab8a88252d7c7c6f13aaa875009fe3097eb4e30b84c", + "sha256:7c17b64b0a6ef4e5affae6a3724010a7a66bda48a62cfe0674dabd46642e8b54", + "sha256:804f74efe22b6a227306dd890eecc4f8c59ff25ca35f1f14e7482bbce96ef10b", + "sha256:853e074d4931dbcba7480d4dcab23d5c56bd9607f92825ab80ee2bd916edea53", + "sha256:857500f88b17a6479202ff5fe5f580fc3404922cd02ab3716197adf1ef628029", + "sha256:865bad62df277c04beed9478fe665b9ef63eb28fe026d5dedcb89b537d2e2ea6", + "sha256:88e22fc0a6684337d25c994381ed8a1580a6f5ebebd5ad41f89f663ff4ec2885", + "sha256:8b9c07e7a45bb64e21df4b6aa623cb8ba214dfb47d2027d90eac197329bb5e94", + "sha256:8de8f9d6caa7f25b204fc861718815d41cbcf27ee8f028c89c882a0cf4ae4134", + "sha256:8e77c69d5892cb5ba71703c4057091e31ccf534bd7f129307a4d084d90d014b8", + "sha256:9123716666e25b7b71c4e1789ec829ed18663152008b58544d95b008ed9e21e9", + "sha256:958244ad566c3ffc385f47dddde4145088a0ab893504b54b52c041987a8c1863", + "sha256:96323338e6c14e958d775700ec8a88346014a85e5de73ac7967db0367582049b", + "sha256:9676bfc686fa6a3fa10cd4ae6b76cae8be26eb5ec6811d2a325636c460da1806", + "sha256:9b0ff53900566bc6325ecde9181d89afadc59c5ffa39bddf084aaedfe3b06a11", + "sha256:9b9ec9c9978b708d488bec36b9e4c94d88fd12ccac3e62134a9d17ddba910ea9", + "sha256:9c6ad0fbf105f6bcc9300c00010a2ffa44ea6f555df1a2ad95c88f5656104817", + "sha256:9ca66b8e90daca431b7ca1408cae085d025326570e57749695d6a01454790e95", + "sha256:9e2addd2d1866fe112bc6f80117bcc6bc25191c5ed1bfbcf9f1386a884252ae8", + "sha256:a0af35bd8ebf84888373630f73f24e86bf016642fb8576fba49d3d6b560b7cbc", + "sha256:a2b44bec7adf3e9305ce6cbfa47a4395667e744097faed97abb4728748ba7d47", + "sha256:a2dfe7e2473f9b59496247aad6e23b405ddf2e12ef0765677b0081c02d6c2c0b", + "sha256:a55ee573116ba208932e2d1a037cc4b10d2c1cb264ced2184d00b18ce585b2c0", + "sha256:a7baf9ffc238e4bf401299f50e971a45bfcc10a785522541a6e3179c83eabf0a", + "sha256:a8d5c70e04aac1eda5c829a26d1f75c6e5286c74743133d9f742cda8e53b9c2f", + "sha256:a91481dbcddf1736c98a80b122afa0f7296eeb80b72344d7f45dc9f781551f56", + "sha256:ab31a88a651039a07a3ae327d68ebdd8bc589b16938c09ef3f32a4b809dc96ef", + "sha256:abc25c3cab9ec7fcd299b9bcb3b8d4a1231877e425c650fa1c7576c5107ab851", + "sha256:adfb84ca6b87e06bc6b146dc7da7623395db1e31621c4785ad0658c5028b37d7", + "sha256:afbbdb120d1e78d2ba8064a68058001b871154cc57787031b645c9142b937a62", + "sha256:afd5562927cdef7c4f5550374acbc117fd4ecc05b5007bdfa57cc5355864e0a4", + "sha256:b070bbe8d3f0f6147689bed981d19bbb33070225373338df755a46893528104a", + "sha256:b0b58fbfa1bf7367dde8a557994e3b1637294be6cf2169810375caf8571a085c", + "sha256:b560e3aa4b1d49e0e6c847d72665384db35b2f5d45f8e6a5c0072e0283430533", + "sha256:b6241d4eee5f89453307c2f2bfa03b50362052ca0af1efecf9fef9a41a22bb4f", + "sha256:b6787b643356111dfd4032b5bffe26d2f8331556ecb79e15dacb9275da02866e", + "sha256:bcbf4af004f98793a95355980764b3d80d47117678118a44a80b721c9913436a", + "sha256:beb72935a941965c52990f3a32d7f07ce869fe21c6af8b34bf6a277b33a345d3", + "sha256:bf2e2458345d9bffb0d9ec16557d8858c9c88d2d11fed53998512504cd9df49b", + "sha256:c2d35a1d047efd68027817b32ab1586c1169e60ca02c65d428ae815b593e65d4", + "sha256:c38d7b9a690b090de999835f0443d8aa93ce5f2064035dfc48f27f02b4afc3d0", + "sha256:c6f2c8372b98208ce609c9e1d707f6918cc118fea4e2c754c9f0812c04ca116d", + "sha256:c817d420c60a5183953c783b0547d9eb43b7b344a2c46f69513d5952a78cddf3", + "sha256:c8ba129e6d3b0136a0f50345b2cb3db53f6bda5dd8c7f5d83fbccba97fb5dcb5", + "sha256:c94e75445b00319c1fad60f3c98b09cd63fe1134a8a953dcd48989ef42318534", + "sha256:cc4691d60512798304acb9207987e7b2b7c44627ea88b9d77489bbe3e6cc3bd4", + "sha256:cc518cea79fd1e2f6c90baafa28906d4309d24f3a63e801d855e7424c5b34144", + "sha256:cd53553ddad4a9c2f1f022756ae64abe16da1feb497edf4d9f87f99ec7cf86bd", + "sha256:cf22b41fdae514ee2f1691b6c3cdeae666d8b7fa9434de445f12bbeee0cf48dd", + "sha256:d38c8f50ecf57f0463399569aa388b232cf1a2ffb8f0a9a5412d0db57e054860", + "sha256:d3be9b2076112e51b323bdf6d5a7f8a798de55fb8d95fcb64bd179460cdc0704", + "sha256:d4f2cc7060dc3646632d7f15fe68e2fa98f58e35dd5666cd525f3b35d3fed7f8", + "sha256:d7520db34088c96cc0e0a3ad51a4fd5b401f279ee112aa2b7f8f976d8582606d", + "sha256:d793bebb202a6000390a5390078e945bbb49855c29c7e4d56a85901326c3b5d9", + "sha256:da052e7962ea2d5e5ef5bc0355d55007407087392cf465b7ad84ce5f3e25fe0f", + "sha256:dae0ed02f6b075426accbf6b2863c3d0a7eacc1b41fb40f2251d931e50188dad", + "sha256:ddc678fb4c7e30cf830a2b5a8d869538bc55b28d6c68544d09c7d0d8f17694dc", + "sha256:df2e6f546c4df14bc81f9498bbc007fbb87669f1bb707c6138878c46b06f6510", + "sha256:e02c5175f63effbd7c5e590399c118d5db6183bbfe8e0d118bdb5c2d1b48d937", + "sha256:e196a4ff48310ba62e53a8e0f97ca2bca83cdd2fe2934d8b5cb0df0a841b193a", + "sha256:e233db59c8f76630c512ab4a4daf5a5986da5c3d5b44b8e9fc742f2a24dbd460", + "sha256:e32be23d538753a8adb6c85bd539f5fd3b15cb987404327c569dfc5fd8366e85", + "sha256:e3d30321949861404323c50aebeb1943461a67cd51d4200ab02babc58bd06a86", + "sha256:e89580a581bf478d8dcb97d9cd011d567768e8bc4095f8557b21c4d4c5fea7d0", + "sha256:e998e304036198b4f6914e6a1e2b6f925208a20e2042563d9734881150c6c246", + "sha256:ec42088248c596dbd61d4ae8a5b004f97a4d91a9fd286f632e42e60b706718d7", + "sha256:efa7b51824aa0ee957ccd5a741c73e6851de55f40d807f08069eb4c5a26b2baa", + "sha256:f0a1bc63a465b6d72569a9bba9f2ef0334c4e03958e043da1920299100bc7c08", + "sha256:f18a5a84e16886898e51ab4b1d43acb3083c39b14c8caeb3589aabff0ee0b270", + "sha256:f2a9efc53d5b714b8df2b4b3e992accf8ce5bbdfe544d74d5c6766c9e1146a3a", + "sha256:f3bbbc998d42f8e561f347e798b85513ba4da324c2b3f9b7969e9c45b10f6169", + "sha256:f42038016852ae51b4088b2862126535cc4fc85802bfe30dea3500fdfaf1864e", + "sha256:f443cdef978430887ed55112b491f670bba6462cea7a7742ff8f14b7abb98d75", + "sha256:f51969bac61441fd31f028d7b3b45962f3ecebf691a510495e5d2cd8c8092dbd", + "sha256:f8aca2e3a72f37bfc7b14ba96d4056244001ddcc18382bd0daa087fd2e68a354", + "sha256:f9737bf36262046213a28e789cc82d82c6ef19c85a0cf05e75c670a33342ac2c", + "sha256:fd6037392f2d57793ab98d9e26798f44b8b4da2f2464388588f48ac52c489ea1", + "sha256:feaa45c0eae424d3e90d78823f3828e7dc42a42f21ed420db98da2c4ecf0a2cb", + "sha256:ff097ae562e637409b429a7ac958a20aab237a0378c42dabaa1e3abf2f896e5f", + "sha256:ff46d772d5f6f73564979cd77a4fffe55c916a05f3cb70e7c9c0590059fb29ef" ], "markers": "python_version >= '3.6'", - "version": "==5.1.0" + "version": "==5.2.1" }, "platformdirs": { "hashes": [ @@ -358,10 +434,11 @@ }, "pycparser": { "hashes": [ - "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" ], - "version": "==2.21" + "markers": "python_version >= '3.8'", + "version": "==2.22" }, "pyjwt": { "hashes": [ @@ -411,11 +488,11 @@ }, "s3transfer": { "hashes": [ - "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e", - "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b" + "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", + "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" ], "markers": "python_version >= '3.8'", - "version": "==0.10.0" + "version": "==0.10.1" }, "simple-salesforce": { "hashes": [ @@ -439,7 +516,6 @@ "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==8.2.3" }, "urllib3": { @@ -462,29 +538,27 @@ "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "boto3": { "hashes": [ - "sha256:4b40bf2c8494647c9e88c180537dc9fc0c1047a9fffbb1e5b0da6596f1e59b7b", - "sha256:992e994c7e481a5d3259c699574882b79d631a46f7c369bea350b7ccb0651317" + "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04", + "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "botocore": { "hashes": [ - "sha256:079f3288d38f97fd5656c25c44a94bea0e7090b938abfdeea463eaadb210c4a0", - "sha256:72df4af7e4e6392552c882d48c74e4be9bf7be4cd8d829711b312fbae13d7034" + "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6", + "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb" ], "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "certifi": { "hashes": [ @@ -653,61 +727,61 @@ "toml" ], "hashes": [ - "sha256:0209a6369ccce576b43bb227dc8322d8ef9e323d089c6f3f26a597b09cb4d2aa", - "sha256:062b0a75d9261e2f9c6d071753f7eef0fc9caf3a2c82d36d76667ba7b6470003", - "sha256:0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f", - "sha256:16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c", - "sha256:18c7320695c949de11a351742ee001849912fd57e62a706d83dfc1581897fa2e", - "sha256:18d90523ce7553dd0b7e23cbb28865db23cddfd683a38fb224115f7826de78d0", - "sha256:1bf25fbca0c8d121a3e92a2a0555c7e5bc981aee5c3fdaf4bb7809f410f696b9", - "sha256:276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52", - "sha256:280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e", - "sha256:28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454", - "sha256:2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0", - "sha256:35eb581efdacf7b7422af677b92170da4ef34500467381e805944a3201df2079", - "sha256:37389611ba54fd6d278fde86eb2c013c8e50232e38f5c68235d09d0a3f8aa352", - "sha256:3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f", - "sha256:3b2eccb883368f9e972e216c7b4c7c06cabda925b5f06dde0650281cb7666a30", - "sha256:451f433ad901b3bb00184d83fd83d135fb682d780b38af7944c9faeecb1e0bfe", - "sha256:489763b2d037b164846ebac0cbd368b8a4ca56385c4090807ff9fad817de4113", - "sha256:4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765", - "sha256:506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc", - "sha256:6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e", - "sha256:69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501", - "sha256:6c00cdc8fa4e50e1cc1f941a7f2e3e0f26cb2a1233c9696f26963ff58445bac7", - "sha256:6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2", - "sha256:708a3369dcf055c00ddeeaa2b20f0dd1ce664eeabde6623e516c5228b753654f", - "sha256:718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4", - "sha256:767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524", - "sha256:77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c", - "sha256:7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51", - "sha256:8249b1c7334be8f8c3abcaaa996e1e4927b0e5a23b65f5bf6cfe3180d8ca7840", - "sha256:8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6", - "sha256:8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee", - "sha256:9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e", - "sha256:a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45", - "sha256:abbbd8093c5229c72d4c2926afaee0e6e3140de69d5dcd918b2921f2f0c8baba", - "sha256:ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d", - "sha256:b3ec74cfef2d985e145baae90d9b1b32f85e1741b04cd967aaf9cfa84c1334f3", - "sha256:b51bfc348925e92a9bd9b2e48dad13431b57011fd1038f08316e6bf1df107d10", - "sha256:b9a4a8dd3dcf4cbd3165737358e4d7dfbd9d59902ad11e3b15eebb6393b0446e", - "sha256:ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb", - "sha256:c0524de3ff096e15fcbfe8f056fdb4ea0bf497d584454f344d59fce069d3e6e9", - "sha256:c0a120238dd71c68484f02562f6d446d736adcc6ca0993712289b102705a9a3a", - "sha256:cbbe5e739d45a52f3200a771c6d2c7acf89eb2524890a4a3aa1a7fa0695d2a47", - "sha256:ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1", - "sha256:cf30900aa1ba595312ae41978b95e256e419d8a823af79ce670835409fc02ad3", - "sha256:d25b937a5d9ffa857d41be042b4238dd61db888533b53bc76dc082cb5a15e914", - "sha256:d6cdecaedea1ea9e033d8adf6a0ab11107b49571bbb9737175444cea6eb72328", - "sha256:dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6", - "sha256:ebe7c9e67a2d15fa97b77ea6571ce5e1e1f6b0db71d1d5e96f8d2bf134303c1d", - "sha256:ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0", - "sha256:f6a09b360d67e589236a44f0c39218a8efba2593b6abdccc300a8862cffc2f94", - "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc", - "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2" + "sha256:00838a35b882694afda09f85e469c96367daa3f3f2b097d846a7216993d37f4c", + "sha256:0513b9508b93da4e1716744ef6ebc507aff016ba115ffe8ecff744d1322a7b63", + "sha256:09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7", + "sha256:09ef9199ed6653989ebbcaacc9b62b514bb63ea2f90256e71fea3ed74bd8ff6f", + "sha256:09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8", + "sha256:0f9f50e7ef2a71e2fae92774c99170eb8304e3fdf9c8c3c7ae9bab3e7229c5cf", + "sha256:137eb07173141545e07403cca94ab625cc1cc6bc4c1e97b6e3846270e7e1fea0", + "sha256:1f384c3cc76aeedce208643697fb3e8437604b512255de6d18dae3f27655a384", + "sha256:201bef2eea65e0e9c56343115ba3814e896afe6d36ffd37bab783261db430f76", + "sha256:38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7", + "sha256:3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d", + "sha256:3ea79bb50e805cd6ac058dfa3b5c8f6c040cb87fe83de10845857f5535d1db70", + "sha256:40209e141059b9370a2657c9b15607815359ab3ef9918f0196b6fccce8d3230f", + "sha256:41c9c5f3de16b903b610d09650e5e27adbfa7f500302718c9ffd1c12cf9d6818", + "sha256:54eb8d1bf7cacfbf2a3186019bcf01d11c666bd495ed18717162f7eb1e9dd00b", + "sha256:598825b51b81c808cb6f078dcb972f96af96b078faa47af7dfcdf282835baa8d", + "sha256:5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec", + "sha256:623512f8ba53c422fcfb2ce68362c97945095b864cda94a92edbaf5994201083", + "sha256:690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2", + "sha256:69eb372f7e2ece89f14751fbcbe470295d73ed41ecd37ca36ed2eb47512a6ab9", + "sha256:73bfb9c09951125d06ee473bed216e2c3742f530fc5acc1383883125de76d9cd", + "sha256:742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade", + "sha256:7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e", + "sha256:8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a", + "sha256:8a2b2b78c78293782fd3767d53e6474582f62443d0504b1554370bde86cc8227", + "sha256:8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87", + "sha256:9ca28a302acb19b6af89e90f33ee3e1906961f94b54ea37de6737b7ca9d8827c", + "sha256:a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e", + "sha256:aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c", + "sha256:aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e", + "sha256:ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd", + "sha256:b14706df8b2de49869ae03a5ccbc211f4041750cd4a66f698df89d44f4bd30ec", + "sha256:b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562", + "sha256:b2991665420a803495e0b90a79233c1433d6ed77ef282e8e152a324bbbc5e0c8", + "sha256:b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677", + "sha256:b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357", + "sha256:b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c", + "sha256:c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd", + "sha256:c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49", + "sha256:cac99918c7bba15302a2d81f0312c08054a3359eaa1929c7e4b26ebe41e9b286", + "sha256:cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1", + "sha256:ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf", + "sha256:ce4b94265ca988c3f8e479e741693d143026632672e3ff924f25fab50518dd51", + "sha256:cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409", + "sha256:d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384", + "sha256:d71eec7d83298f1af3326ce0ff1d0ea83c7cb98f72b577097f9083b20bdaf05e", + "sha256:d898fe162d26929b5960e4e138651f7427048e72c853607f2b200909794ed978", + "sha256:d89d7b2974cae412400e88f35d86af72208e1ede1a541954af5d944a8ba46c57", + "sha256:dfa8fe35a0bb90382837b238fff375de15f0dcdb9ae68ff85f7a63649c98527e", + "sha256:e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2", + "sha256:fdfafb32984684eb03c2d83e1e51f64f0906b11e64482df3c5db936ce3839d48", + "sha256:ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4" ], "markers": "python_version >= '3.8'", - "version": "==7.4.3" + "version": "==7.4.4" }, "cryptography": { "hashes": [ @@ -761,16 +835,15 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "idna": { "hashes": [ - "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", - "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" + "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc", + "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" ], "markers": "python_version >= '3.5'", - "version": "==3.6" + "version": "==3.7" }, "iniconfig": { "hashes": [ @@ -872,12 +945,11 @@ }, "moto": { "hashes": [ - "sha256:070ac2edf89ad7aee28534481ce68e2f344c8a6a8fefec5427eea0d599bfdbdb", - "sha256:261d312d1d69c2afccb450a0566666d7b75d76ed6a7d00aac278a9633b073ff0" + "sha256:2eaca2df7758f6868df420bf0725cd0b93d98709606f1fb8b2343b5bdc822d91", + "sha256:4ecdd4084491a2f25f7a7925416dcf07eee0031ce724957439a32ef764b22874" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==5.0.3" + "version": "==5.0.5" }, "packaging": { "hashes": [ @@ -905,10 +977,11 @@ }, "pycparser": { "hashes": [ - "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" ], - "version": "==2.21" + "markers": "python_version >= '3.8'", + "version": "==2.22" }, "pyflakes": { "hashes": [ @@ -924,17 +997,15 @@ "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.1.1" }, "pytest-cov": { "hashes": [ - "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6", - "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a" + "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652", + "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==4.1.0" + "version": "==5.0.0" }, "pytest-html": { "hashes": [ @@ -942,7 +1013,6 @@ "sha256:c8152cea03bd4e9bee6d525573b67bbc6622967b72b9628dda0ea3e2a0b5dd71" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==4.1.1" }, "pytest-metadata": { @@ -1036,11 +1106,11 @@ }, "s3transfer": { "hashes": [ - "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e", - "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b" + "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", + "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" ], "markers": "python_version >= '3.8'", - "version": "==0.10.0" + "version": "==0.10.1" }, "six": { "hashes": [ @@ -1068,11 +1138,11 @@ }, "werkzeug": { "hashes": [ - "sha256:507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc", - "sha256:90a285dc0e42ad56b34e696398b8122ee4c681833fb35b8334a095d82c56da10" + "sha256:3aac3f5da756f93030740bc235d3e09449efcf65f2f55e3602e1d851b8f48795", + "sha256:e39b645a6ac92822588e7b39a692e7828724ceae0b0d702ef96701f90e70128d" ], "markers": "python_version >= '3.8'", - "version": "==3.0.1" + "version": "==3.0.2" }, "xmltodict": { "hashes": [ diff --git a/ecs/export-dbdump/Dockerfile b/ecs/export-dbdump/Dockerfile index 140de9c6..858c3dc9 100644 --- a/ecs/export-dbdump/Dockerfile +++ b/ecs/export-dbdump/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-bullseye +FROM python:3.9 ENV TZ="Asia/Tokyo" diff --git a/ecs/export-dbdump/Pipfile.lock b/ecs/export-dbdump/Pipfile.lock index 58c4d231..02f0cb52 100644 --- a/ecs/export-dbdump/Pipfile.lock +++ b/ecs/export-dbdump/Pipfile.lock @@ -19,12 +19,11 @@ "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ @@ -32,7 +31,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "mccabe": { diff --git a/ecs/jskult-batch-daily/Pipfile.lock b/ecs/jskult-batch-daily/Pipfile.lock index ee64e81a..c8295432 100644 --- a/ecs/jskult-batch-daily/Pipfile.lock +++ b/ecs/jskult-batch-daily/Pipfile.lock @@ -18,20 +18,19 @@ "default": { "boto3": { "hashes": [ - "sha256:4b40bf2c8494647c9e88c180537dc9fc0c1047a9fffbb1e5b0da6596f1e59b7b", - "sha256:992e994c7e481a5d3259c699574882b79d631a46f7c369bea350b7ccb0651317" + "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04", + "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "botocore": { "hashes": [ - "sha256:079f3288d38f97fd5656c25c44a94bea0e7090b938abfdeea463eaadb210c4a0", - "sha256:72df4af7e4e6392552c882d48c74e4be9bf7be4cd8d829711b312fbae13d7034" + "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6", + "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb" ], "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "greenlet": { "hashes": [ @@ -110,7 +109,7 @@ "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96", "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7" ], - "markers": "python_version >= '3.7'", + "index": "pypi", "version": "==1.1.0" }, "python-dateutil": { @@ -123,11 +122,11 @@ }, "s3transfer": { "hashes": [ - "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e", - "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b" + "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", + "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" ], "markers": "python_version >= '3.8'", - "version": "==0.10.0" + "version": "==0.10.1" }, "six": { "hashes": [ @@ -139,59 +138,58 @@ }, "sqlalchemy": { "hashes": [ - "sha256:0315d9125a38026227f559488fe7f7cee1bd2fbc19f9fd637739dc50bb6380b2", - "sha256:0d3dd67b5d69794cfe82862c002512683b3db038b99002171f624712fa71aeaa", - "sha256:124202b4e0edea7f08a4db8c81cc7859012f90a0d14ba2bf07c099aff6e96462", - "sha256:1ee8bd6d68578e517943f5ebff3afbd93fc65f7ef8f23becab9fa8fb315afb1d", - "sha256:243feb6882b06a2af68ecf4bec8813d99452a1b62ba2be917ce6283852cf701b", - "sha256:2858bbab1681ee5406650202950dc8f00e83b06a198741b7c656e63818633526", - "sha256:2f60843068e432311c886c5f03c4664acaef507cf716f6c60d5fde7265be9d7b", - "sha256:328529f7c7f90adcd65aed06a161851f83f475c2f664a898af574893f55d9e53", - "sha256:33157920b233bc542ce497a81a2e1452e685a11834c5763933b440fedd1d8e2d", - "sha256:3eba73ef2c30695cb7eabcdb33bb3d0b878595737479e152468f3ba97a9c22a4", - "sha256:426f2fa71331a64f5132369ede5171c52fd1df1bd9727ce621f38b5b24f48750", - "sha256:45c7b78dfc7278329f27be02c44abc0d69fe235495bb8e16ec7ef1b1a17952db", - "sha256:46a3d4e7a472bfff2d28db838669fc437964e8af8df8ee1e4548e92710929adc", - "sha256:4a5adf383c73f2d49ad15ff363a8748319ff84c371eed59ffd0127355d6ea1da", - "sha256:4b6303bfd78fb3221847723104d152e5972c22367ff66edf09120fcde5ddc2e2", - "sha256:56856b871146bfead25fbcaed098269d90b744eea5cb32a952df00d542cdd368", - "sha256:5da98815f82dce0cb31fd1e873a0cb30934971d15b74e0d78cf21f9e1b05953f", - "sha256:5df5d1dafb8eee89384fb7a1f79128118bc0ba50ce0db27a40750f6f91aa99d5", - "sha256:68722e6a550f5de2e3cfe9da6afb9a7dd15ef7032afa5651b0f0c6b3adb8815d", - "sha256:78bb7e8da0183a8301352d569900d9d3594c48ac21dc1c2ec6b3121ed8b6c986", - "sha256:81ba314a08c7ab701e621b7ad079c0c933c58cdef88593c59b90b996e8b58fa5", - "sha256:843a882cadebecc655a68bd9a5b8aa39b3c52f4a9a5572a3036fb1bb2ccdc197", - "sha256:87724e7ed2a936fdda2c05dbd99d395c91ea3c96f029a033a4a20e008dd876bf", - "sha256:8c7f10720fc34d14abad5b647bc8202202f4948498927d9f1b4df0fb1cf391b7", - "sha256:8e91b5e341f8c7f1e5020db8e5602f3ed045a29f8e27f7f565e0bdee3338f2c7", - "sha256:943aa74a11f5806ab68278284a4ddd282d3fb348a0e96db9b42cb81bf731acdc", - "sha256:9461802f2e965de5cff80c5a13bc945abea7edaa1d29360b485c3d2b56cdb075", - "sha256:9b66fcd38659cab5d29e8de5409cdf91e9986817703e1078b2fdaad731ea66f5", - "sha256:a6bec1c010a6d65b3ed88c863d56b9ea5eeefdf62b5e39cafd08c65f5ce5198b", - "sha256:a921002be69ac3ab2cf0c3017c4e6a3377f800f1fca7f254c13b5f1a2f10022c", - "sha256:aca7b6d99a4541b2ebab4494f6c8c2f947e0df4ac859ced575238e1d6ca5716b", - "sha256:ad7acbe95bac70e4e687a4dc9ae3f7a2f467aa6597049eeb6d4a662ecd990bb6", - "sha256:af8ce2d31679006e7b747d30a89cd3ac1ec304c3d4c20973f0f4ad58e2d1c4c9", - "sha256:b4a2cf92995635b64876dc141af0ef089c6eea7e05898d8d8865e71a326c0385", - "sha256:bbda76961eb8f27e6ad3c84d1dc56d5bc61ba8f02bd20fcf3450bd421c2fcc9c", - "sha256:bd7e4baf9161d076b9a7e432fce06217b9bd90cfb8f1d543d6e8c4595627edb9", - "sha256:bea30da1e76cb1acc5b72e204a920a3a7678d9d52f688f087dc08e54e2754c67", - "sha256:c61e2e41656a673b777e2f0cbbe545323dbe0d32312f590b1bc09da1de6c2a02", - "sha256:c6c4da4843e0dabde41b8f2e8147438330924114f541949e6318358a56d1875a", - "sha256:d3499008ddec83127ab286c6f6ec82a34f39c9817f020f75eca96155f9765097", - "sha256:dbb990612c36163c6072723523d2be7c3eb1517bbdd63fe50449f56afafd1133", - "sha256:dd53b6c4e6d960600fd6532b79ee28e2da489322fcf6648738134587faf767b6", - "sha256:df40c16a7e8be7413b885c9bf900d402918cc848be08a59b022478804ea076b8", - "sha256:e0a5354cb4de9b64bccb6ea33162cb83e03dbefa0d892db88a672f5aad638a75", - "sha256:e0b148ab0438f72ad21cb004ce3bdaafd28465c4276af66df3b9ecd2037bf252", - "sha256:e23b88c69497a6322b5796c0781400692eca1ae5532821b39ce81a48c395aae9", - "sha256:fc4974d3684f28b61b9a90fcb4c41fb340fd4b6a50c04365704a4da5a9603b05", - "sha256:feea693c452d85ea0015ebe3bb9cd15b6f49acc1a31c28b3c50f4db0f8fb1e71", - "sha256:fffcc8edc508801ed2e6a4e7b0d150a62196fd28b4e16ab9f65192e8186102b6" + "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb", + "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c", + "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d", + "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a", + "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003", + "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699", + "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e", + "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93", + "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de", + "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513", + "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380", + "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567", + "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586", + "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b", + "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673", + "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d", + "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b", + "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e", + "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c", + "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03", + "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e", + "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec", + "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72", + "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c", + "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41", + "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0", + "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba", + "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b", + "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930", + "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7", + "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1", + "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1", + "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9", + "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c", + "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f", + "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520", + "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b", + "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0", + "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552", + "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907", + "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e", + "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f", + "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5", + "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305", + "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01", + "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44", + "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd", + "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5", + "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==2.0.28" + "version": "==2.0.29" }, "tenacity": { "hashes": [ @@ -199,16 +197,15 @@ "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==8.2.3" }, "typing-extensions": { "hashes": [ - "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb" + "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", + "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a" ], "markers": "python_version >= '3.8'", - "version": "==4.10.0" + "version": "==4.11.0" }, "urllib3": { "hashes": [ @@ -222,90 +219,88 @@ "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "boto3": { "hashes": [ - "sha256:4b40bf2c8494647c9e88c180537dc9fc0c1047a9fffbb1e5b0da6596f1e59b7b", - "sha256:992e994c7e481a5d3259c699574882b79d631a46f7c369bea350b7ccb0651317" + "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04", + "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "botocore": { "hashes": [ - "sha256:079f3288d38f97fd5656c25c44a94bea0e7090b938abfdeea463eaadb210c4a0", - "sha256:72df4af7e4e6392552c882d48c74e4be9bf7be4cd8d829711b312fbae13d7034" + "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6", + "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb" ], "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "coverage": { "extras": [ "toml" ], "hashes": [ - "sha256:0209a6369ccce576b43bb227dc8322d8ef9e323d089c6f3f26a597b09cb4d2aa", - "sha256:062b0a75d9261e2f9c6d071753f7eef0fc9caf3a2c82d36d76667ba7b6470003", - "sha256:0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f", - "sha256:16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c", - "sha256:18c7320695c949de11a351742ee001849912fd57e62a706d83dfc1581897fa2e", - "sha256:18d90523ce7553dd0b7e23cbb28865db23cddfd683a38fb224115f7826de78d0", - "sha256:1bf25fbca0c8d121a3e92a2a0555c7e5bc981aee5c3fdaf4bb7809f410f696b9", - "sha256:276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52", - "sha256:280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e", - "sha256:28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454", - "sha256:2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0", - "sha256:35eb581efdacf7b7422af677b92170da4ef34500467381e805944a3201df2079", - "sha256:37389611ba54fd6d278fde86eb2c013c8e50232e38f5c68235d09d0a3f8aa352", - "sha256:3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f", - "sha256:3b2eccb883368f9e972e216c7b4c7c06cabda925b5f06dde0650281cb7666a30", - "sha256:451f433ad901b3bb00184d83fd83d135fb682d780b38af7944c9faeecb1e0bfe", - "sha256:489763b2d037b164846ebac0cbd368b8a4ca56385c4090807ff9fad817de4113", - "sha256:4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765", - "sha256:506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc", - "sha256:6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e", - "sha256:69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501", - "sha256:6c00cdc8fa4e50e1cc1f941a7f2e3e0f26cb2a1233c9696f26963ff58445bac7", - "sha256:6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2", - "sha256:708a3369dcf055c00ddeeaa2b20f0dd1ce664eeabde6623e516c5228b753654f", - "sha256:718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4", - "sha256:767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524", - "sha256:77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c", - "sha256:7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51", - "sha256:8249b1c7334be8f8c3abcaaa996e1e4927b0e5a23b65f5bf6cfe3180d8ca7840", - "sha256:8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6", - "sha256:8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee", - "sha256:9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e", - "sha256:a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45", - "sha256:abbbd8093c5229c72d4c2926afaee0e6e3140de69d5dcd918b2921f2f0c8baba", - "sha256:ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d", - "sha256:b3ec74cfef2d985e145baae90d9b1b32f85e1741b04cd967aaf9cfa84c1334f3", - "sha256:b51bfc348925e92a9bd9b2e48dad13431b57011fd1038f08316e6bf1df107d10", - "sha256:b9a4a8dd3dcf4cbd3165737358e4d7dfbd9d59902ad11e3b15eebb6393b0446e", - "sha256:ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb", - "sha256:c0524de3ff096e15fcbfe8f056fdb4ea0bf497d584454f344d59fce069d3e6e9", - "sha256:c0a120238dd71c68484f02562f6d446d736adcc6ca0993712289b102705a9a3a", - "sha256:cbbe5e739d45a52f3200a771c6d2c7acf89eb2524890a4a3aa1a7fa0695d2a47", - "sha256:ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1", - "sha256:cf30900aa1ba595312ae41978b95e256e419d8a823af79ce670835409fc02ad3", - "sha256:d25b937a5d9ffa857d41be042b4238dd61db888533b53bc76dc082cb5a15e914", - "sha256:d6cdecaedea1ea9e033d8adf6a0ab11107b49571bbb9737175444cea6eb72328", - "sha256:dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6", - "sha256:ebe7c9e67a2d15fa97b77ea6571ce5e1e1f6b0db71d1d5e96f8d2bf134303c1d", - "sha256:ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0", - "sha256:f6a09b360d67e589236a44f0c39218a8efba2593b6abdccc300a8862cffc2f94", - "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc", - "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2" + "sha256:00838a35b882694afda09f85e469c96367daa3f3f2b097d846a7216993d37f4c", + "sha256:0513b9508b93da4e1716744ef6ebc507aff016ba115ffe8ecff744d1322a7b63", + "sha256:09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7", + "sha256:09ef9199ed6653989ebbcaacc9b62b514bb63ea2f90256e71fea3ed74bd8ff6f", + "sha256:09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8", + "sha256:0f9f50e7ef2a71e2fae92774c99170eb8304e3fdf9c8c3c7ae9bab3e7229c5cf", + "sha256:137eb07173141545e07403cca94ab625cc1cc6bc4c1e97b6e3846270e7e1fea0", + "sha256:1f384c3cc76aeedce208643697fb3e8437604b512255de6d18dae3f27655a384", + "sha256:201bef2eea65e0e9c56343115ba3814e896afe6d36ffd37bab783261db430f76", + "sha256:38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7", + "sha256:3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d", + "sha256:3ea79bb50e805cd6ac058dfa3b5c8f6c040cb87fe83de10845857f5535d1db70", + "sha256:40209e141059b9370a2657c9b15607815359ab3ef9918f0196b6fccce8d3230f", + "sha256:41c9c5f3de16b903b610d09650e5e27adbfa7f500302718c9ffd1c12cf9d6818", + "sha256:54eb8d1bf7cacfbf2a3186019bcf01d11c666bd495ed18717162f7eb1e9dd00b", + "sha256:598825b51b81c808cb6f078dcb972f96af96b078faa47af7dfcdf282835baa8d", + "sha256:5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec", + "sha256:623512f8ba53c422fcfb2ce68362c97945095b864cda94a92edbaf5994201083", + "sha256:690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2", + "sha256:69eb372f7e2ece89f14751fbcbe470295d73ed41ecd37ca36ed2eb47512a6ab9", + "sha256:73bfb9c09951125d06ee473bed216e2c3742f530fc5acc1383883125de76d9cd", + "sha256:742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade", + "sha256:7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e", + "sha256:8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a", + "sha256:8a2b2b78c78293782fd3767d53e6474582f62443d0504b1554370bde86cc8227", + "sha256:8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87", + "sha256:9ca28a302acb19b6af89e90f33ee3e1906961f94b54ea37de6737b7ca9d8827c", + "sha256:a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e", + "sha256:aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c", + "sha256:aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e", + "sha256:ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd", + "sha256:b14706df8b2de49869ae03a5ccbc211f4041750cd4a66f698df89d44f4bd30ec", + "sha256:b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562", + "sha256:b2991665420a803495e0b90a79233c1433d6ed77ef282e8e152a324bbbc5e0c8", + "sha256:b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677", + "sha256:b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357", + "sha256:b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c", + "sha256:c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd", + "sha256:c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49", + "sha256:cac99918c7bba15302a2d81f0312c08054a3359eaa1929c7e4b26ebe41e9b286", + "sha256:cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1", + "sha256:ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf", + "sha256:ce4b94265ca988c3f8e479e741693d143026632672e3ff924f25fab50518dd51", + "sha256:cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409", + "sha256:d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384", + "sha256:d71eec7d83298f1af3326ce0ff1d0ea83c7cb98f72b577097f9083b20bdaf05e", + "sha256:d898fe162d26929b5960e4e138651f7427048e72c853607f2b200909794ed978", + "sha256:d89d7b2974cae412400e88f35d86af72208e1ede1a541954af5d944a8ba46c57", + "sha256:dfa8fe35a0bb90382837b238fff375de15f0dcdb9ae68ff85f7a63649c98527e", + "sha256:e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2", + "sha256:fdfafb32984684eb03c2d83e1e51f64f0906b11e64482df3c5db936ce3839d48", + "sha256:ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4" ], "markers": "python_version >= '3.8'", - "version": "==7.4.3" + "version": "==7.4.4" }, "exceptiongroup": { "hashes": [ @@ -321,7 +316,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "iniconfig": { @@ -386,17 +380,15 @@ "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.1.1" }, "pytest-cov": { "hashes": [ - "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6", - "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a" + "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652", + "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==4.1.0" + "version": "==5.0.0" }, "python-dateutil": { "hashes": [ @@ -408,11 +400,11 @@ }, "s3transfer": { "hashes": [ - "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e", - "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b" + "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", + "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" ], "markers": "python_version >= '3.8'", - "version": "==0.10.0" + "version": "==0.10.1" }, "six": { "hashes": [ diff --git a/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/create_dcf_inst_merge.py b/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/create_dcf_inst_merge.py index 294fe004..1fae0013 100644 --- a/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/create_dcf_inst_merge.py +++ b/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/create_dcf_inst_merge.py @@ -20,8 +20,8 @@ def exec(): db = Database.get_instance() try: db.connect() - db.to_jst() db.begin() + db.to_jst() logger.debug('DCF施設統合マスタ作成処理開始') # COM施設からDCF施設統合マスタに登録 (is_add_dcf_inst_merge, duplication_inst_records) = _insert_dcf_inst_merge_from_com_inst(db) diff --git a/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/integrate_dcf_inst_merge.py b/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/integrate_dcf_inst_merge.py index 85de15ed..eeb2ebd2 100644 --- a/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/integrate_dcf_inst_merge.py +++ b/ecs/jskult-batch-daily/src/batch/dcf_inst_merge/integrate_dcf_inst_merge.py @@ -1,4 +1,5 @@ from datetime import datetime, timedelta + from src.batch.batch_functions import logging_sql from src.batch.common.batch_context import BatchContext from src.db.database import Database @@ -14,8 +15,8 @@ def exec(): db = Database.get_instance() try: db.connect() - db.to_jst() db.begin() + db.to_jst() logger.debug('DCF施設統合マスタ日次更新処理開始') # DCF施設統合マスタ移行先コードのセット(無効フラグが『0(有効)』) enabled_dst_inst_merge_records = _set_enabled_dct_inst_merge(db) @@ -120,12 +121,13 @@ def _add_ult_ident_presc(db: Database, enabled_dst_inst_merge_records: list[dict logger.info('納入先処方元マスタの登録 終了') -def _select_emp_chg_inst_ta_cd(db: Database, dcf_inst_cd: str) -> list[dict]: - # 従業員担当施設マスタから、DCF施設コードに対応した領域コードの取得 +def _select_primary_key_from_emp_chg_inst(db: Database, dcf_inst_cd: str) -> list[dict]: + # 従業員担当施設マスタから、DCF施設コードに対応した領域コードと担当者種別コードの取得 try: sql = """ SELECT - ta_cd + ta_cd, + emp_chg_type_cd FROM src05.emp_chg_inst WHERE @@ -134,14 +136,14 @@ def _select_emp_chg_inst_ta_cd(db: Database, dcf_inst_cd: str) -> list[dict]: AND (SELECT ht.syor_date FROM src05.hdke_tbl AS ht) < end_date """ params = {'dcf_inst_cd': dcf_inst_cd} - emp_chg_inst_ta_cd_records = db.execute_select(sql, params) + emp_chg_inst_primary_key_records = db.execute_select(sql, params) logging_sql(logger, sql) - logger.info('従業員担当施設マスタから領域コードの取得に成功') + logger.info('従業員担当施設マスタから領域コード、担当者種別コードの取得に成功') except Exception as e: - logger.debug('従業員担当施設マスタから領域コードの取得に失敗') + logger.debug('従業員担当施設マスタから領域コード、担当者種別コードの取得に失敗') raise e - return emp_chg_inst_ta_cd_records + return emp_chg_inst_primary_key_records def _add_emp_chg_inst(db: Database, enabled_dst_inst_merge_records: list[dict]): @@ -149,10 +151,10 @@ def _add_emp_chg_inst(db: Database, enabled_dst_inst_merge_records: list[dict]): logger.info('従業員担当施設マスタの登録 開始') for enabled_merge_record in enabled_dst_inst_merge_records: tekiyo_month_first_day = _get_first_day_of_month(enabled_merge_record['tekiyo_month']) - emp_chg_inst_ta_cd_records = _select_emp_chg_inst_ta_cd(db, enabled_merge_record['dcf_inst_cd']) - for emp_chg_inst_ta_cd_record in emp_chg_inst_ta_cd_records: + emp_chg_inst_primary_key_records = _select_primary_key_from_emp_chg_inst(db, enabled_merge_record['dcf_inst_cd']) + for emp_chg_inst_primary_key_record in emp_chg_inst_primary_key_records: emp_chg_inst_records = _select_emp_chg_inst(db, enabled_merge_record['dcf_inst_cd'], enabled_merge_record['dup_opp_cd'], - emp_chg_inst_ta_cd_record['ta_cd']) + emp_chg_inst_primary_key_record['ta_cd'], emp_chg_inst_primary_key_record['emp_chg_type_cd']) for emp_chg_inst_row in emp_chg_inst_records: # 重複時相手先コードが存在したかのチェック if emp_chg_inst_row['opp_count'] > 0: @@ -173,7 +175,7 @@ def _add_emp_chg_inst(db: Database, enabled_dst_inst_merge_records: list[dict]): emp_chg_inst_row) continue # 適用開始日 ≧ DCF施設統合マスタの適用月度の1日の場合、N(論理削除レコード)に設定する - _update_emp_chg_inst_disabled(db, enabled_merge_record['dcf_inst_cd'], emp_chg_inst_row['ta_cd'], + _update_emp_chg_inst_disabled(db, enabled_merge_record['dcf_inst_cd'], emp_chg_inst_row['ta_cd'], emp_chg_inst_row['emp_chg_type_cd'], emp_chg_inst_row['start_date']) logger.info('従業員担当施設マスタの登録 終了') @@ -207,7 +209,7 @@ def _delete_ult_ident_presc(db: Database, start_date: str, ult_ident_presc_row: raise e -def _update_emp_chg_inst_disabled(db: Database, dcf_inst_cd: str, ta_cd: str, start_date: str): +def _update_emp_chg_inst_disabled(db: Database, dcf_inst_cd: str, ta_cd: str, emp_chg_type_cd: str, start_date: str): # emp_chg_instをUPDATE try: elapsed_time = ElapsedTime() @@ -221,9 +223,10 @@ def _update_emp_chg_inst_disabled(db: Database, dcf_inst_cd: str, ta_cd: str, st WHERE inst_cd = :dcf_inst_cd AND ta_cd = :ta_cd + AND emp_chg_type_cd = :emp_chg_type_cd AND start_date = :start_date """ - params = {'dcf_inst_cd': dcf_inst_cd, 'ta_cd': ta_cd, 'start_date': start_date} + params = {'dcf_inst_cd': dcf_inst_cd, 'ta_cd': ta_cd, 'emp_chg_type_cd': emp_chg_type_cd, 'start_date': start_date} res = db.execute(sql, params) logging_sql(logger, sql) logger.info(f'従業員担当施設マスタのYorNフラグ更新に成功, {res.rowcount} 行更新 ({elapsed_time.of})') @@ -246,6 +249,7 @@ def _update_emp_chg_inst_end_date(db: Database, dcf_inst_cd: str, last_end_date: WHERE inst_cd = :dcf_inst_cd AND ta_cd = :ta_cd + AND emp_chg_type_cd = :emp_chg_type_cd AND emp_cd = :emp_cd AND bu_cd = :bu_cd AND start_date = :start_date @@ -254,6 +258,7 @@ def _update_emp_chg_inst_end_date(db: Database, dcf_inst_cd: str, last_end_date: 'end_date': last_end_date, 'dcf_inst_cd': dcf_inst_cd, 'ta_cd': emp_chg_inst_row['ta_cd'], + 'emp_chg_type_cd': emp_chg_inst_row['emp_chg_type_cd'], 'emp_cd': emp_chg_inst_row['emp_cd'], 'bu_cd': emp_chg_inst_row['bu_cd'], 'start_date': emp_chg_inst_row['start_date'] @@ -276,6 +281,7 @@ def _insert_emp_chg_inst(db: Database, dup_opp_cd: str, set_start_date: str, src05.emp_chg_inst( inst_cd, ta_cd, + emp_chg_type_cd, emp_cd, bu_cd, start_date, @@ -290,6 +296,7 @@ def _insert_emp_chg_inst(db: Database, dup_opp_cd: str, set_start_date: str, VALUES( :dup_opp_cd, :ta_cd, + :emp_chg_type_cd, :emp_cd, :bu_cd, :start_date, @@ -305,6 +312,7 @@ def _insert_emp_chg_inst(db: Database, dup_opp_cd: str, set_start_date: str, params = { 'dup_opp_cd': dup_opp_cd, 'ta_cd': emp_chg_inst_row['ta_cd'], + 'emp_chg_type_cd': emp_chg_inst_row['emp_chg_type_cd'], 'emp_cd': emp_chg_inst_row['emp_cd'], 'bu_cd': emp_chg_inst_row['bu_cd'], 'start_date': set_start_date, @@ -518,13 +526,14 @@ def _insert_ult_ident_presc(db: Database, set_Start_Date: str, dup_opp_cd: str, raise e -def _select_emp_chg_inst(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_cd: str) -> list[dict]: +def _select_emp_chg_inst(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_cd: str, emp_chg_type_cd: str) -> list[dict]: # emp_chg_instからSELECT try: sql = """ SELECT eci.inst_cd, eci.ta_cd, + eci.emp_chg_type_cd, eci.emp_cd, eci.bu_cd, eci.start_date, @@ -539,16 +548,18 @@ def _select_emp_chg_inst(db: Database, dcf_inst_cd: str, dup_opp_cd: str, ta_cd: WHERE eciopp.inst_cd = :dup_opp_cd AND eciopp.ta_cd = :ta_cd + AND eciopp.emp_chg_type_cd = :emp_chg_type_cd ) AS opp_count FROM src05.emp_chg_inst AS eci WHERE eci.inst_cd = :dcf_inst_cd AND eci.ta_cd = :ta_cd + AND eci.emp_chg_type_cd = :emp_chg_type_cd AND eci.enabled_flg = 'Y' AND (SELECT ht.syor_date FROM src05.hdke_tbl AS ht) < eci.end_date """ - params = {'dcf_inst_cd': dcf_inst_cd, 'dup_opp_cd': dup_opp_cd, 'ta_cd': ta_cd} + params = {'dcf_inst_cd': dcf_inst_cd, 'dup_opp_cd': dup_opp_cd, 'ta_cd': ta_cd, 'emp_chg_type_cd': emp_chg_type_cd} emp_chg_inst_records = db.execute_select(sql, params) logging_sql(logger, sql) logger.info('従業員担当施設マスタの取得 成功') diff --git a/ecs/jskult-batch-daily/src/batch/laundering/emp_chg_inst_laundering.py b/ecs/jskult-batch-daily/src/batch/laundering/emp_chg_inst_laundering.py index 8ec3b84e..51680d2e 100644 --- a/ecs/jskult-batch-daily/src/batch/laundering/emp_chg_inst_laundering.py +++ b/ecs/jskult-batch-daily/src/batch/laundering/emp_chg_inst_laundering.py @@ -53,7 +53,9 @@ def _insert_into_emp_chg_inst_lau_from_emp_chg_inst(db: Database): src05.emp_chg_inst_lau SELECT inst_cd, - ta_cd,emp_cd, + ta_cd, + emp_chg_type_cd, + emp_cd, bu_cd, start_date, end_date, diff --git a/ecs/jskult-batch-daily/src/batch/laundering/sales_laundering.py b/ecs/jskult-batch-daily/src/batch/laundering/sales_laundering.py index 2cc530f9..8a25ae76 100644 --- a/ecs/jskult-batch-daily/src/batch/laundering/sales_laundering.py +++ b/ecs/jskult-batch-daily/src/batch/laundering/sales_laundering.py @@ -1,8 +1,9 @@ from src.batch.common.batch_context import BatchContext -from src.batch.laundering import ( - create_inst_merge_for_laundering, emp_chg_inst_laundering, - ult_ident_presc_laundering, sales_results_laundering) from src.batch.dcf_inst_merge import integrate_dcf_inst_merge +from src.batch.laundering import (create_inst_merge_for_laundering, + emp_chg_inst_laundering, + sales_results_laundering, + ult_ident_presc_laundering) from src.logging.get_logger import get_logger batch_context = BatchContext.get_instance() @@ -18,7 +19,7 @@ def exec(): logger.info('営業日ではないため、実績洗替処理をスキップします。') return # DCF施設統合マスタ日次更新 - integrate_dcf_inst_merge.exec() + integrate_dcf_inst_merge.exec() # 洗替用マスタ作成 create_inst_merge_for_laundering.exec() # 施設担当者洗替 diff --git a/ecs/jskult-batch-laundering/Pipfile.lock b/ecs/jskult-batch-laundering/Pipfile.lock index cb296143..bd1c1a67 100644 --- a/ecs/jskult-batch-laundering/Pipfile.lock +++ b/ecs/jskult-batch-laundering/Pipfile.lock @@ -86,64 +86,62 @@ "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==1.1.0" }, "sqlalchemy": { "hashes": [ - "sha256:0315d9125a38026227f559488fe7f7cee1bd2fbc19f9fd637739dc50bb6380b2", - "sha256:0d3dd67b5d69794cfe82862c002512683b3db038b99002171f624712fa71aeaa", - "sha256:124202b4e0edea7f08a4db8c81cc7859012f90a0d14ba2bf07c099aff6e96462", - "sha256:1ee8bd6d68578e517943f5ebff3afbd93fc65f7ef8f23becab9fa8fb315afb1d", - "sha256:243feb6882b06a2af68ecf4bec8813d99452a1b62ba2be917ce6283852cf701b", - "sha256:2858bbab1681ee5406650202950dc8f00e83b06a198741b7c656e63818633526", - "sha256:2f60843068e432311c886c5f03c4664acaef507cf716f6c60d5fde7265be9d7b", - "sha256:328529f7c7f90adcd65aed06a161851f83f475c2f664a898af574893f55d9e53", - "sha256:33157920b233bc542ce497a81a2e1452e685a11834c5763933b440fedd1d8e2d", - "sha256:3eba73ef2c30695cb7eabcdb33bb3d0b878595737479e152468f3ba97a9c22a4", - "sha256:426f2fa71331a64f5132369ede5171c52fd1df1bd9727ce621f38b5b24f48750", - "sha256:45c7b78dfc7278329f27be02c44abc0d69fe235495bb8e16ec7ef1b1a17952db", - "sha256:46a3d4e7a472bfff2d28db838669fc437964e8af8df8ee1e4548e92710929adc", - "sha256:4a5adf383c73f2d49ad15ff363a8748319ff84c371eed59ffd0127355d6ea1da", - "sha256:4b6303bfd78fb3221847723104d152e5972c22367ff66edf09120fcde5ddc2e2", - "sha256:56856b871146bfead25fbcaed098269d90b744eea5cb32a952df00d542cdd368", - "sha256:5da98815f82dce0cb31fd1e873a0cb30934971d15b74e0d78cf21f9e1b05953f", - "sha256:5df5d1dafb8eee89384fb7a1f79128118bc0ba50ce0db27a40750f6f91aa99d5", - "sha256:68722e6a550f5de2e3cfe9da6afb9a7dd15ef7032afa5651b0f0c6b3adb8815d", - "sha256:78bb7e8da0183a8301352d569900d9d3594c48ac21dc1c2ec6b3121ed8b6c986", - "sha256:81ba314a08c7ab701e621b7ad079c0c933c58cdef88593c59b90b996e8b58fa5", - "sha256:843a882cadebecc655a68bd9a5b8aa39b3c52f4a9a5572a3036fb1bb2ccdc197", - "sha256:87724e7ed2a936fdda2c05dbd99d395c91ea3c96f029a033a4a20e008dd876bf", - "sha256:8c7f10720fc34d14abad5b647bc8202202f4948498927d9f1b4df0fb1cf391b7", - "sha256:8e91b5e341f8c7f1e5020db8e5602f3ed045a29f8e27f7f565e0bdee3338f2c7", - "sha256:943aa74a11f5806ab68278284a4ddd282d3fb348a0e96db9b42cb81bf731acdc", - "sha256:9461802f2e965de5cff80c5a13bc945abea7edaa1d29360b485c3d2b56cdb075", - "sha256:9b66fcd38659cab5d29e8de5409cdf91e9986817703e1078b2fdaad731ea66f5", - "sha256:a6bec1c010a6d65b3ed88c863d56b9ea5eeefdf62b5e39cafd08c65f5ce5198b", - "sha256:a921002be69ac3ab2cf0c3017c4e6a3377f800f1fca7f254c13b5f1a2f10022c", - "sha256:aca7b6d99a4541b2ebab4494f6c8c2f947e0df4ac859ced575238e1d6ca5716b", - "sha256:ad7acbe95bac70e4e687a4dc9ae3f7a2f467aa6597049eeb6d4a662ecd990bb6", - "sha256:af8ce2d31679006e7b747d30a89cd3ac1ec304c3d4c20973f0f4ad58e2d1c4c9", - "sha256:b4a2cf92995635b64876dc141af0ef089c6eea7e05898d8d8865e71a326c0385", - "sha256:bbda76961eb8f27e6ad3c84d1dc56d5bc61ba8f02bd20fcf3450bd421c2fcc9c", - "sha256:bd7e4baf9161d076b9a7e432fce06217b9bd90cfb8f1d543d6e8c4595627edb9", - "sha256:bea30da1e76cb1acc5b72e204a920a3a7678d9d52f688f087dc08e54e2754c67", - "sha256:c61e2e41656a673b777e2f0cbbe545323dbe0d32312f590b1bc09da1de6c2a02", - "sha256:c6c4da4843e0dabde41b8f2e8147438330924114f541949e6318358a56d1875a", - "sha256:d3499008ddec83127ab286c6f6ec82a34f39c9817f020f75eca96155f9765097", - "sha256:dbb990612c36163c6072723523d2be7c3eb1517bbdd63fe50449f56afafd1133", - "sha256:dd53b6c4e6d960600fd6532b79ee28e2da489322fcf6648738134587faf767b6", - "sha256:df40c16a7e8be7413b885c9bf900d402918cc848be08a59b022478804ea076b8", - "sha256:e0a5354cb4de9b64bccb6ea33162cb83e03dbefa0d892db88a672f5aad638a75", - "sha256:e0b148ab0438f72ad21cb004ce3bdaafd28465c4276af66df3b9ecd2037bf252", - "sha256:e23b88c69497a6322b5796c0781400692eca1ae5532821b39ce81a48c395aae9", - "sha256:fc4974d3684f28b61b9a90fcb4c41fb340fd4b6a50c04365704a4da5a9603b05", - "sha256:feea693c452d85ea0015ebe3bb9cd15b6f49acc1a31c28b3c50f4db0f8fb1e71", - "sha256:fffcc8edc508801ed2e6a4e7b0d150a62196fd28b4e16ab9f65192e8186102b6" + "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb", + "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c", + "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d", + "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a", + "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003", + "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699", + "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e", + "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93", + "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de", + "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513", + "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380", + "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567", + "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586", + "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b", + "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673", + "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d", + "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b", + "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e", + "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c", + "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03", + "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e", + "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec", + "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72", + "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c", + "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41", + "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0", + "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba", + "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b", + "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930", + "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7", + "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1", + "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1", + "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9", + "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c", + "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f", + "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520", + "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b", + "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0", + "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552", + "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907", + "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e", + "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f", + "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5", + "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305", + "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01", + "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44", + "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd", + "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5", + "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==2.0.28" + "version": "==2.0.29" }, "tenacity": { "hashes": [ @@ -151,27 +149,25 @@ "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==8.2.3" }, "typing-extensions": { "hashes": [ - "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb" + "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", + "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a" ], "markers": "python_version >= '3.8'", - "version": "==4.10.0" + "version": "==4.11.0" } }, "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ @@ -179,7 +175,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "mccabe": { diff --git a/ecs/jskult-dbdump/Dockerfile b/ecs/jskult-dbdump/Dockerfile index 140de9c6..858c3dc9 100644 --- a/ecs/jskult-dbdump/Dockerfile +++ b/ecs/jskult-dbdump/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-bullseye +FROM python:3.9 ENV TZ="Asia/Tokyo" diff --git a/ecs/jskult-dbdump/Pipfile.lock b/ecs/jskult-dbdump/Pipfile.lock index cb296143..bd1c1a67 100644 --- a/ecs/jskult-dbdump/Pipfile.lock +++ b/ecs/jskult-dbdump/Pipfile.lock @@ -86,64 +86,62 @@ "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==1.1.0" }, "sqlalchemy": { "hashes": [ - "sha256:0315d9125a38026227f559488fe7f7cee1bd2fbc19f9fd637739dc50bb6380b2", - "sha256:0d3dd67b5d69794cfe82862c002512683b3db038b99002171f624712fa71aeaa", - "sha256:124202b4e0edea7f08a4db8c81cc7859012f90a0d14ba2bf07c099aff6e96462", - "sha256:1ee8bd6d68578e517943f5ebff3afbd93fc65f7ef8f23becab9fa8fb315afb1d", - "sha256:243feb6882b06a2af68ecf4bec8813d99452a1b62ba2be917ce6283852cf701b", - "sha256:2858bbab1681ee5406650202950dc8f00e83b06a198741b7c656e63818633526", - "sha256:2f60843068e432311c886c5f03c4664acaef507cf716f6c60d5fde7265be9d7b", - "sha256:328529f7c7f90adcd65aed06a161851f83f475c2f664a898af574893f55d9e53", - "sha256:33157920b233bc542ce497a81a2e1452e685a11834c5763933b440fedd1d8e2d", - "sha256:3eba73ef2c30695cb7eabcdb33bb3d0b878595737479e152468f3ba97a9c22a4", - "sha256:426f2fa71331a64f5132369ede5171c52fd1df1bd9727ce621f38b5b24f48750", - "sha256:45c7b78dfc7278329f27be02c44abc0d69fe235495bb8e16ec7ef1b1a17952db", - "sha256:46a3d4e7a472bfff2d28db838669fc437964e8af8df8ee1e4548e92710929adc", - "sha256:4a5adf383c73f2d49ad15ff363a8748319ff84c371eed59ffd0127355d6ea1da", - "sha256:4b6303bfd78fb3221847723104d152e5972c22367ff66edf09120fcde5ddc2e2", - "sha256:56856b871146bfead25fbcaed098269d90b744eea5cb32a952df00d542cdd368", - "sha256:5da98815f82dce0cb31fd1e873a0cb30934971d15b74e0d78cf21f9e1b05953f", - "sha256:5df5d1dafb8eee89384fb7a1f79128118bc0ba50ce0db27a40750f6f91aa99d5", - "sha256:68722e6a550f5de2e3cfe9da6afb9a7dd15ef7032afa5651b0f0c6b3adb8815d", - "sha256:78bb7e8da0183a8301352d569900d9d3594c48ac21dc1c2ec6b3121ed8b6c986", - "sha256:81ba314a08c7ab701e621b7ad079c0c933c58cdef88593c59b90b996e8b58fa5", - "sha256:843a882cadebecc655a68bd9a5b8aa39b3c52f4a9a5572a3036fb1bb2ccdc197", - "sha256:87724e7ed2a936fdda2c05dbd99d395c91ea3c96f029a033a4a20e008dd876bf", - "sha256:8c7f10720fc34d14abad5b647bc8202202f4948498927d9f1b4df0fb1cf391b7", - "sha256:8e91b5e341f8c7f1e5020db8e5602f3ed045a29f8e27f7f565e0bdee3338f2c7", - "sha256:943aa74a11f5806ab68278284a4ddd282d3fb348a0e96db9b42cb81bf731acdc", - "sha256:9461802f2e965de5cff80c5a13bc945abea7edaa1d29360b485c3d2b56cdb075", - "sha256:9b66fcd38659cab5d29e8de5409cdf91e9986817703e1078b2fdaad731ea66f5", - "sha256:a6bec1c010a6d65b3ed88c863d56b9ea5eeefdf62b5e39cafd08c65f5ce5198b", - "sha256:a921002be69ac3ab2cf0c3017c4e6a3377f800f1fca7f254c13b5f1a2f10022c", - "sha256:aca7b6d99a4541b2ebab4494f6c8c2f947e0df4ac859ced575238e1d6ca5716b", - "sha256:ad7acbe95bac70e4e687a4dc9ae3f7a2f467aa6597049eeb6d4a662ecd990bb6", - "sha256:af8ce2d31679006e7b747d30a89cd3ac1ec304c3d4c20973f0f4ad58e2d1c4c9", - "sha256:b4a2cf92995635b64876dc141af0ef089c6eea7e05898d8d8865e71a326c0385", - "sha256:bbda76961eb8f27e6ad3c84d1dc56d5bc61ba8f02bd20fcf3450bd421c2fcc9c", - "sha256:bd7e4baf9161d076b9a7e432fce06217b9bd90cfb8f1d543d6e8c4595627edb9", - "sha256:bea30da1e76cb1acc5b72e204a920a3a7678d9d52f688f087dc08e54e2754c67", - "sha256:c61e2e41656a673b777e2f0cbbe545323dbe0d32312f590b1bc09da1de6c2a02", - "sha256:c6c4da4843e0dabde41b8f2e8147438330924114f541949e6318358a56d1875a", - "sha256:d3499008ddec83127ab286c6f6ec82a34f39c9817f020f75eca96155f9765097", - "sha256:dbb990612c36163c6072723523d2be7c3eb1517bbdd63fe50449f56afafd1133", - "sha256:dd53b6c4e6d960600fd6532b79ee28e2da489322fcf6648738134587faf767b6", - "sha256:df40c16a7e8be7413b885c9bf900d402918cc848be08a59b022478804ea076b8", - "sha256:e0a5354cb4de9b64bccb6ea33162cb83e03dbefa0d892db88a672f5aad638a75", - "sha256:e0b148ab0438f72ad21cb004ce3bdaafd28465c4276af66df3b9ecd2037bf252", - "sha256:e23b88c69497a6322b5796c0781400692eca1ae5532821b39ce81a48c395aae9", - "sha256:fc4974d3684f28b61b9a90fcb4c41fb340fd4b6a50c04365704a4da5a9603b05", - "sha256:feea693c452d85ea0015ebe3bb9cd15b6f49acc1a31c28b3c50f4db0f8fb1e71", - "sha256:fffcc8edc508801ed2e6a4e7b0d150a62196fd28b4e16ab9f65192e8186102b6" + "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb", + "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c", + "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d", + "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a", + "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003", + "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699", + "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e", + "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93", + "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de", + "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513", + "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380", + "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567", + "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586", + "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b", + "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673", + "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d", + "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b", + "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e", + "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c", + "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03", + "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e", + "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec", + "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72", + "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c", + "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41", + "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0", + "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba", + "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b", + "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930", + "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7", + "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1", + "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1", + "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9", + "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c", + "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f", + "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520", + "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b", + "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0", + "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552", + "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907", + "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e", + "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f", + "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5", + "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305", + "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01", + "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44", + "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd", + "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5", + "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==2.0.28" + "version": "==2.0.29" }, "tenacity": { "hashes": [ @@ -151,27 +149,25 @@ "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==8.2.3" }, "typing-extensions": { "hashes": [ - "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb" + "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", + "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a" ], "markers": "python_version >= '3.8'", - "version": "==4.10.0" + "version": "==4.11.0" } }, "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ @@ -179,7 +175,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "mccabe": { diff --git a/ecs/jskult-restore-backup/Dockerfile b/ecs/jskult-restore-backup/Dockerfile index 140de9c6..858c3dc9 100644 --- a/ecs/jskult-restore-backup/Dockerfile +++ b/ecs/jskult-restore-backup/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-bullseye +FROM python:3.9 ENV TZ="Asia/Tokyo" diff --git a/ecs/jskult-restore-backup/Pipfile.lock b/ecs/jskult-restore-backup/Pipfile.lock index 9a57d92d..02f0cb52 100644 --- a/ecs/jskult-restore-backup/Pipfile.lock +++ b/ecs/jskult-restore-backup/Pipfile.lock @@ -19,11 +19,11 @@ "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ diff --git a/ecs/jskult-webapp/Pipfile.lock b/ecs/jskult-webapp/Pipfile.lock index 2c605b9b..0df95b91 100644 --- a/ecs/jskult-webapp/Pipfile.lock +++ b/ecs/jskult-webapp/Pipfile.lock @@ -34,20 +34,19 @@ }, "boto3": { "hashes": [ - "sha256:4b40bf2c8494647c9e88c180537dc9fc0c1047a9fffbb1e5b0da6596f1e59b7b", - "sha256:992e994c7e481a5d3259c699574882b79d631a46f7c369bea350b7ccb0651317" + "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04", + "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "botocore": { "hashes": [ - "sha256:079f3288d38f97fd5656c25c44a94bea0e7090b938abfdeea463eaadb210c4a0", - "sha256:72df4af7e4e6392552c882d48c74e4be9bf7be4cd8d829711b312fbae13d7034" + "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6", + "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb" ], "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "certifi": { "hashes": [ @@ -274,12 +273,11 @@ }, "fastapi": { "hashes": [ - "sha256:266775f0dcc95af9d3ef39bad55cff525329a931d5fd51930aadd4f428bf7ff3", - "sha256:87a1f6fb632a218222c5984be540055346a8f5d8a68e8f6fb647b1dc9934de4b" + "sha256:5df913203c482f820d31f48e635e022f8cbfe7350e4830ef05a3163925b1addc", + "sha256:6feac43ec359dfe4f45b2c18ec8c94edb8dc2dfc461d417d9e626590c071baad" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==0.110.0" + "version": "==0.110.1" }, "greenlet": { "hashes": [ @@ -351,7 +349,6 @@ "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033" ], "index": "pypi", - "markers": "python_version >= '3.5'", "version": "==21.2.0" }, "h11": { @@ -405,11 +402,11 @@ }, "idna": { "hashes": [ - "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", - "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" + "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc", + "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0" ], "markers": "python_version >= '3.5'", - "version": "==3.6" + "version": "==3.7" }, "jinja2": { "hashes": [ @@ -417,7 +414,6 @@ "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==3.1.3" }, "jmespath": { @@ -534,50 +530,58 @@ "sha256:f617ebe1fdceadc2b87497c4d56f3c863155179488feb63f83a62cf95df37b69" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==0.0.13" }, "numpy": { "hashes": [ - "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", - "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", - "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", - "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", - "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", - "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", - "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea", - "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c", - "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", - "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", - "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be", - "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", - "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", - "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", - "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", - "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd", - "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c", - "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", - "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0", - "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c", - "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", - "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", - "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", - "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6", - "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", - "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", - "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30", - "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", - "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", - "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", - "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", - "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", - "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764", - "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", - "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3", - "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" + "sha256:00236e0e8a588fef8f70e0535b898bcebd97becc0b27686d2fc7cb35b5d1ab91", + "sha256:015df68fd97bc00e1b7719e80cea401b23a601b639c6d6545922f7a21876b771", + "sha256:060635ab843ea0e2aa6ad153d5656193014eedd90ec4ef6e2b738d81bfe28170", + "sha256:070a8b1c93b0bf21c1a3c51514145acbba612e9f3fd86870c1ca37a36cebbfce", + "sha256:08d7d73d5b7d97decfb6584f41492f5584f81a3147514b67ac21ccccb3418b35", + "sha256:09bedcb99b9ac5472d2e63cd18be861750acc7570ae3661be7cb6018ce376694", + "sha256:09e7a6cab5eac8aca0f17ad29b42ee1cd357e09a76076d5f4cb90ca62a0229b8", + "sha256:1860507cb082ee8d9920db806d74d8a3936081b9ecf274b0fdb6d99b664680a1", + "sha256:1e2478ca8b4b0c5a7146fc316c83843bc47b2d73cf6c02000561794ae5dba537", + "sha256:25d43c681fefb4d7e0ffa949097b20eacbad4be9af7c136b1f69dc4c34c1f6d4", + "sha256:2b5f87d88212e54263f64257b28daa04f3fde627c204abd7557a80b582de4a63", + "sha256:39a65e8c127d51419942a9e0ec467273536acd373507ce64e63451690ed47bfc", + "sha256:5be315e916e7d4d372acf62dcc86900eb47b2f76c185d835634dd0503f441e35", + "sha256:5c62c0d071681391b9c73ba09b35cb46477659012fd88af2c877a2a9da84aa2f", + "sha256:5e289dafe89a0dd756430fa03332c428c897c41cc3143230c38d7d2bb9ad475e", + "sha256:67f9707c3df26ca5bce34162fe0721646504c5961ccfca94c294fbeaf42cfa5b", + "sha256:684eef178a2039cba72bce740cdf2f592e67a41885a0f09d5622380fc59af0f8", + "sha256:6e0438e248b5e7e46e80a686868d36d6a4ce875cedce87122d1616ffd8e2a669", + "sha256:706f66648712385f5ca5e22ad4f32d1a1a93c143882969d951122b5cf9e40a24", + "sha256:7511694264a1219458a4e77d185a7ee350506b4e1e3b2b82845a5e9db044b6f5", + "sha256:7517f752cad3d8bf297ed6421c63be769a03b8e3c34282eec803bae693dae67a", + "sha256:7d990411f2821bf2812ec66ae85e8f351103fe7c3a229152ab6f8c9a620e82eb", + "sha256:8798ee3db69d2f531b12897929583021206feb4d45234d035e5511a5bd0cee38", + "sha256:8a7c01e9c14216e386e42a0c75c76a015a002dd5ed833ffbdaa6a7f2aeed9258", + "sha256:8b510bab996ad7b7fa59ca14fdaae4c68a36ff0f71ccd9ddec769b58f9d19258", + "sha256:9085f9a3e4f994ee8027db503627ae34aa867dc5f00ee7fe2b930608534a9293", + "sha256:91103edc14b5b70bc25af26ea5d75a45b6490bed5f1da9478f5bbe82542ba1b5", + "sha256:9d96878db0d4f267e62e21f6feb7d0e7f07ec02784e705f37b7f6493a935c7fd", + "sha256:9da7cddeaf312a3645325a7da3b18bfad345cae5005cb4d6fcf24796bedaf239", + "sha256:afa4679bcbade6a4197c27874c0dacf5d45470d56cee8b1e2398e80859ab797c", + "sha256:b1bfbde0e9221920d02735ced823e53be46786589a5e8db91824bccd5115e5c8", + "sha256:c0af260d6818eab709b65953e1e5ce31a34d68230f488589b4bb96b13a28d18f", + "sha256:cdea89bba67157bd8ec2ba9613d9f5ba2d18deab113171ca106953fdf8f7f314", + "sha256:cf1b08d8ee6d24576c0552dee71f36859de157481ed283e839d630b50242bbe1", + "sha256:cfd4e2f1605e3a607674dd3173c03b2e2f8520fa3ec2db04f2da2a3d5339df1b", + "sha256:d4b56e9abe2c3cec5615725320e002396c1e4b78011831a78427c7ff7b185816", + "sha256:d93d29d07b2da78869793ec30321adda61a5a48b9e00d12160d0cd658f5f2e0b", + "sha256:dfcd76a018c728ce7a3e6e09717e7a3dfbffdf87a57118dbc5ddc2167a678258", + "sha256:f0e169ec6cbc1b8e5f6a235845a80961f76f88352082213a1728a0967a761ad2", + "sha256:f36b7ccac6a3bfb342a61dd08be73fbe0286d2cb64c976bb1ed22feda0deb16f", + "sha256:f6539759d26e9b60dd9691732528dda7fe46a8c82be6294d109203dce4a8b89c", + "sha256:f9e566457284cb55447eab7566fad2b59e17f01776bb1b76828a6a931d111c72", + "sha256:fb009d69b3a362240acc5155e3de8f90311eb7f9f3958803af866945b8c9ee43", + "sha256:fbee730ae5265735e2c9b006a0d3fe1443d08d9399d0103245b99ecba10ddff0", + "sha256:fe19044006aeaf783c64f22ee03330caccb4d3e54fe605b57444f448954b022d" ], "markers": "python_version < '3.11'", - "version": "==1.26.4" + "version": "==2.0.0rc1" }, "openpyxl": { "hashes": [ @@ -585,7 +589,6 @@ "sha256:f91456ead12ab3c6c2e9491cf33ba6d08357d802192379bb482f1033ade496f5" ], "index": "pypi", - "markers": "python_version >= '3.6'", "version": "==3.1.2" }, "packaging": { @@ -598,148 +601,149 @@ }, "pandas": { "hashes": [ - "sha256:04f6ec3baec203c13e3f8b139fb0f9f86cd8c0b94603ae3ae8ce9a422e9f5bee", - "sha256:06cf591dbaefb6da9de8472535b185cba556d0ce2e6ed28e21d919704fef1a9e", - "sha256:0ab90f87093c13f3e8fa45b48ba9f39181046e8f3317d3aadb2fffbb1b978572", - "sha256:0f573ab277252ed9aaf38240f3b54cfc90fff8e5cab70411ee1d03f5d51f3944", - "sha256:101d0eb9c5361aa0146f500773395a03839a5e6ecde4d4b6ced88b7e5a1a6403", - "sha256:11940e9e3056576ac3244baef2fedade891977bcc1cb7e5cc8f8cc7d603edc89", - "sha256:1ba21b1d5c0e43416218db63037dbe1a01fc101dc6e6024bcad08123e48004ab", - "sha256:4aa1d8707812a658debf03824016bf5ea0d516afdea29b7dc14cf687bc4d4ec6", - "sha256:4acf681325ee1c7f950d058b05a820441075b0dd9a2adf5c4835b9bc056bf4fb", - "sha256:53680dc9b2519cbf609c62db3ed7c0b499077c7fefda564e330286e619ff0dd9", - "sha256:739cc70eaf17d57608639e74d63387b0d8594ce02f69e7a0b046f117974b3019", - "sha256:76f27a809cda87e07f192f001d11adc2b930e93a2b0c4a236fde5429527423be", - "sha256:7d2ed41c319c9fb4fd454fe25372028dfa417aacb9790f68171b2e3f06eae8cd", - "sha256:88ecb5c01bb9ca927ebc4098136038519aa5d66b44671861ffab754cae75102c", - "sha256:8df8612be9cd1c7797c93e1c5df861b2ddda0b48b08f2c3eaa0702cf88fb5f88", - "sha256:94e714a1cca63e4f5939cdce5f29ba8d415d85166be3441165edd427dc9f6bc0", - "sha256:9bd8a40f47080825af4317d0340c656744f2bfdb6819f818e6ba3cd24c0e1397", - "sha256:9d1265545f579edf3f8f0cb6f89f234f5e44ba725a34d86535b1a1d38decbccc", - "sha256:a935a90a76c44fe170d01e90a3594beef9e9a6220021acfb26053d01426f7dc2", - "sha256:af5d3c00557d657c8773ef9ee702c61dd13b9d7426794c9dfeb1dc4a0bf0ebc7", - "sha256:c2ce852e1cf2509a69e98358e8458775f89599566ac3775e70419b98615f4b06", - "sha256:c38ce92cb22a4bea4e3929429aa1067a454dcc9c335799af93ba9be21b6beb51", - "sha256:c391f594aae2fd9f679d419e9a4d5ba4bce5bb13f6a989195656e7dc4b95c8f0", - "sha256:c70e00c2d894cb230e5c15e4b1e1e6b2b478e09cf27cc593a11ef955b9ecc81a", - "sha256:df0c37ebd19e11d089ceba66eba59a168242fc6b7155cba4ffffa6eccdfb8f16", - "sha256:e97fbb5387c69209f134893abc788a6486dbf2f9e511070ca05eed4b930b1b02", - "sha256:f02a3a6c83df4026e55b63c1f06476c9aa3ed6af3d89b4f04ea656ccdaaaa359", - "sha256:f821213d48f4ab353d20ebc24e4faf94ba40d76680642fb7ce2ea31a3ad94f9b", - "sha256:f9d3558d263073ed95e46f4650becff0c5e1ffe0fc3a015de3c79283dfbdb3df" + "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863", + "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2", + "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1", + "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad", + "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db", + "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76", + "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51", + "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32", + "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08", + "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b", + "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4", + "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921", + "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288", + "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee", + "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0", + "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24", + "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99", + "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151", + "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd", + "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce", + "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57", + "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef", + "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54", + "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a", + "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238", + "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23", + "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772", + "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce", + "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==2.2.1" + "version": "==2.2.2" }, "pycparser": { "hashes": [ - "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" ], - "version": "==2.21" + "markers": "python_version >= '3.8'", + "version": "==2.22" }, "pydantic": { "hashes": [ - "sha256:b1704e0847db01817624a6b86766967f552dd9dbf3afba4004409f908dcc84e6", - "sha256:cc46fce86607580867bdc3361ad462bab9c222ef042d3da86f2fb333e1d916c5" + "sha256:9dee74a271705f14f9a1567671d144a851c675b072736f0a7b2608fd9e495352", + "sha256:b5ecdd42262ca2462e2624793551e80911a1e989f462910bb81aef974b4bb383" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==2.6.4" + "version": "==2.7.0" }, "pydantic-core": { "hashes": [ - "sha256:00ee1c97b5364b84cb0bd82e9bbf645d5e2871fb8c58059d158412fee2d33d8a", - "sha256:0d32576b1de5a30d9a97f300cc6a3f4694c428d956adbc7e6e2f9cad279e45ed", - "sha256:0df446663464884297c793874573549229f9eca73b59360878f382a0fc085979", - "sha256:0f56ae86b60ea987ae8bcd6654a887238fd53d1384f9b222ac457070b7ac4cff", - "sha256:13dcc4802961b5f843a9385fc821a0b0135e8c07fc3d9949fd49627c1a5e6ae5", - "sha256:162e498303d2b1c036b957a1278fa0899d02b2842f1ff901b6395104c5554a45", - "sha256:1b662180108c55dfbf1280d865b2d116633d436cfc0bba82323554873967b340", - "sha256:1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad", - "sha256:21b888c973e4f26b7a96491c0965a8a312e13be108022ee510248fe379a5fa23", - "sha256:287073c66748f624be4cef893ef9174e3eb88fe0b8a78dc22e88eca4bc357ca6", - "sha256:2a1ef6a36fdbf71538142ed604ad19b82f67b05749512e47f247a6ddd06afdc7", - "sha256:2a72fb9963cba4cd5793854fd12f4cfee731e86df140f59ff52a49b3552db241", - "sha256:2acca2be4bb2f2147ada8cac612f8a98fc09f41c89f87add7256ad27332c2fda", - "sha256:2f583bd01bbfbff4eaee0868e6fc607efdfcc2b03c1c766b06a707abbc856187", - "sha256:33809aebac276089b78db106ee692bdc9044710e26f24a9a2eaa35a0f9fa70ba", - "sha256:36fa178aacbc277bc6b62a2c3da95226520da4f4e9e206fdf076484363895d2c", - "sha256:4204e773b4b408062960e65468d5346bdfe139247ee5f1ca2a378983e11388a2", - "sha256:4384a8f68ddb31a0b0c3deae88765f5868a1b9148939c3f4121233314ad5532c", - "sha256:456855f57b413f077dff513a5a28ed838dbbb15082ba00f80750377eed23d132", - "sha256:49d5d58abd4b83fb8ce763be7794d09b2f50f10aa65c0f0c1696c677edeb7cbf", - "sha256:4ac6b4ce1e7283d715c4b729d8f9dab9627586dafce81d9eaa009dd7f25dd972", - "sha256:4df8a199d9f6afc5ae9a65f8f95ee52cae389a8c6b20163762bde0426275b7db", - "sha256:500960cb3a0543a724a81ba859da816e8cf01b0e6aaeedf2c3775d12ee49cade", - "sha256:519ae0312616026bf4cedc0fe459e982734f3ca82ee8c7246c19b650b60a5ee4", - "sha256:578114bc803a4c1ff9946d977c221e4376620a46cf78da267d946397dc9514a8", - "sha256:5c5cbc703168d1b7a838668998308018a2718c2130595e8e190220238addc96f", - "sha256:6162f8d2dc27ba21027f261e4fa26f8bcb3cf9784b7f9499466a311ac284b5b9", - "sha256:704d35ecc7e9c31d48926150afada60401c55efa3b46cd1ded5a01bdffaf1d48", - "sha256:716b542728d4c742353448765aa7cdaa519a7b82f9564130e2b3f6766018c9ec", - "sha256:72282ad4892a9fb2da25defeac8c2e84352c108705c972db82ab121d15f14e6d", - "sha256:7233d65d9d651242a68801159763d09e9ec96e8a158dbf118dc090cd77a104c9", - "sha256:732da3243e1b8d3eab8c6ae23ae6a58548849d2e4a4e03a1924c8ddf71a387cb", - "sha256:75b81e678d1c1ede0785c7f46690621e4c6e63ccd9192af1f0bd9d504bbb6bf4", - "sha256:75f76ee558751746d6a38f89d60b6228fa174e5172d143886af0f85aa306fd89", - "sha256:7ee8d5f878dccb6d499ba4d30d757111847b6849ae07acdd1205fffa1fc1253c", - "sha256:7f752826b5b8361193df55afcdf8ca6a57d0232653494ba473630a83ba50d8c9", - "sha256:86b3d0033580bd6bbe07590152007275bd7af95f98eaa5bd36f3da219dcd93da", - "sha256:8d62da299c6ecb04df729e4b5c52dc0d53f4f8430b4492b93aa8de1f541c4aac", - "sha256:8e47755d8152c1ab5b55928ab422a76e2e7b22b5ed8e90a7d584268dd49e9c6b", - "sha256:9091632a25b8b87b9a605ec0e61f241c456e9248bfdcf7abdf344fdb169c81cf", - "sha256:936e5db01dd49476fa8f4383c259b8b1303d5dd5fb34c97de194560698cc2c5e", - "sha256:99b6add4c0b39a513d323d3b93bc173dac663c27b99860dd5bf491b240d26137", - "sha256:9c865a7ee6f93783bd5d781af5a4c43dadc37053a5b42f7d18dc019f8c9d2bd1", - "sha256:a425479ee40ff021f8216c9d07a6a3b54b31c8267c6e17aa88b70d7ebd0e5e5b", - "sha256:a4b2bf78342c40b3dc830880106f54328928ff03e357935ad26c7128bbd66ce8", - "sha256:a6b1bb0827f56654b4437955555dc3aeeebeddc47c2d7ed575477f082622c49e", - "sha256:aaf09e615a0bf98d406657e0008e4a8701b11481840be7d31755dc9f97c44053", - "sha256:b1f6f5938d63c6139860f044e2538baeee6f0b251a1816e7adb6cbce106a1f01", - "sha256:b29eeb887aa931c2fcef5aa515d9d176d25006794610c264ddc114c053bf96fe", - "sha256:b3992a322a5617ded0a9f23fd06dbc1e4bd7cf39bc4ccf344b10f80af58beacd", - "sha256:b5b6079cc452a7c53dd378c6f881ac528246b3ac9aae0f8eef98498a75657805", - "sha256:b60cc1a081f80a2105a59385b92d82278b15d80ebb3adb200542ae165cd7d183", - "sha256:b926dd38db1519ed3043a4de50214e0d600d404099c3392f098a7f9d75029ff8", - "sha256:bd87f48924f360e5d1c5f770d6155ce0e7d83f7b4e10c2f9ec001c73cf475c99", - "sha256:bda1ee3e08252b8d41fa5537413ffdddd58fa73107171a126d3b9ff001b9b820", - "sha256:be0ec334369316fa73448cc8c982c01e5d2a81c95969d58b8f6e272884df0074", - "sha256:c6119dc90483a5cb50a1306adb8d52c66e447da88ea44f323e0ae1a5fcb14256", - "sha256:c9803edf8e29bd825f43481f19c37f50d2b01899448273b3a7758441b512acf8", - "sha256:c9bd22a2a639e26171068f8ebb5400ce2c1bc7d17959f60a3b753ae13c632975", - "sha256:cbcc558401de90a746d02ef330c528f2e668c83350f045833543cd57ecead1ad", - "sha256:cf6204fe865da605285c34cf1172879d0314ff267b1c35ff59de7154f35fdc2e", - "sha256:d33dd21f572545649f90c38c227cc8631268ba25c460b5569abebdd0ec5974ca", - "sha256:d89ca19cdd0dd5f31606a9329e309d4fcbb3df860960acec32630297d61820df", - "sha256:d8f99b147ff3fcf6b3cc60cb0c39ea443884d5559a30b1481e92495f2310ff2b", - "sha256:d937653a696465677ed583124b94a4b2d79f5e30b2c46115a68e482c6a591c8a", - "sha256:dcca5d2bf65c6fb591fff92da03f94cd4f315972f97c21975398bd4bd046854a", - "sha256:ded1c35f15c9dea16ead9bffcde9bb5c7c031bff076355dc58dcb1cb436c4721", - "sha256:e3e70c94a0c3841e6aa831edab1619ad5c511199be94d0c11ba75fe06efe107a", - "sha256:e56f8186d6210ac7ece503193ec84104da7ceb98f68ce18c07282fcc2452e76f", - "sha256:e7774b570e61cb998490c5235740d475413a1f6de823169b4cf94e2fe9e9f6b2", - "sha256:e7c6ed0dc9d8e65f24f5824291550139fe6f37fac03788d4580da0d33bc00c97", - "sha256:ec08be75bb268473677edb83ba71e7e74b43c008e4a7b1907c6d57e940bf34b6", - "sha256:ecdf6bf5f578615f2e985a5e1f6572e23aa632c4bd1dc67f8f406d445ac115ed", - "sha256:ed25e1835c00a332cb10c683cd39da96a719ab1dfc08427d476bce41b92531fc", - "sha256:f4cb85f693044e0f71f394ff76c98ddc1bc0953e48c061725e540396d5c8a2e1", - "sha256:f53aace168a2a10582e570b7736cc5bef12cae9cf21775e3eafac597e8551fbe", - "sha256:f651dd19363c632f4abe3480a7c87a9773be27cfe1341aef06e8759599454120", - "sha256:fc4ad7f7ee1a13d9cb49d8198cd7d7e3aa93e425f371a68235f784e99741561f", - "sha256:fee427241c2d9fb7192b658190f9f5fd6dfe41e02f3c1489d2ec1e6a5ab1e04a" + "sha256:030e4f9516f9947f38179249778709a460a3adb516bf39b5eb9066fcfe43d0e6", + "sha256:09f03dfc0ef8c22622eaa8608caa4a1e189cfb83ce847045eca34f690895eccb", + "sha256:12a05db5013ec0ca4a32cc6433f53faa2a014ec364031408540ba858c2172bb0", + "sha256:14fe73881cf8e4cbdaded8ca0aa671635b597e42447fec7060d0868b52d074e6", + "sha256:1a0c3e718f4e064efde68092d9d974e39572c14e56726ecfaeebbe6544521f47", + "sha256:1be91ad664fc9245404a789d60cba1e91c26b1454ba136d2a1bf0c2ac0c0505a", + "sha256:201713f2f462e5c015b343e86e68bd8a530a4f76609b33d8f0ec65d2b921712a", + "sha256:2027493cc44c23b598cfaf200936110433d9caa84e2c6cf487a83999638a96ac", + "sha256:250ae39445cb5475e483a36b1061af1bc233de3e9ad0f4f76a71b66231b07f88", + "sha256:2533ad2883f001efa72f3d0e733fb846710c3af6dcdd544fe5bf14fa5fe2d7db", + "sha256:25595ac311f20e5324d1941909b0d12933f1fd2171075fcff763e90f43e92a0d", + "sha256:2684a94fdfd1b146ff10689c6e4e815f6a01141781c493b97342cdc5b06f4d5d", + "sha256:27f1009dc292f3b7ca77feb3571c537276b9aad5dd4efb471ac88a8bd09024e9", + "sha256:2adaeea59849ec0939af5c5d476935f2bab4b7f0335b0110f0f069a41024278e", + "sha256:2ae80f72bb7a3e397ab37b53a2b49c62cc5496412e71bc4f1277620a7ce3f52b", + "sha256:2d5728e93d28a3c63ee513d9ffbac9c5989de8c76e049dbcb5bfe4b923a9739d", + "sha256:2e91711e36e229978d92642bfc3546333a9127ecebb3f2761372e096395fc649", + "sha256:2fe0c1ce5b129455e43f941f7a46f61f3d3861e571f2905d55cdbb8b5c6f5e2c", + "sha256:38a5024de321d672a132b1834a66eeb7931959c59964b777e8f32dbe9523f6b1", + "sha256:3e352f0191d99fe617371096845070dee295444979efb8f27ad941227de6ad09", + "sha256:48dd883db92e92519201f2b01cafa881e5f7125666141a49ffba8b9facc072b0", + "sha256:54764c083bbe0264f0f746cefcded6cb08fbbaaf1ad1d78fb8a4c30cff999a90", + "sha256:54c7375c62190a7845091f521add19b0f026bcf6ae674bdb89f296972272e86d", + "sha256:561cf62c8a3498406495cfc49eee086ed2bb186d08bcc65812b75fda42c38294", + "sha256:56823a92075780582d1ffd4489a2e61d56fd3ebb4b40b713d63f96dd92d28144", + "sha256:582cf2cead97c9e382a7f4d3b744cf0ef1a6e815e44d3aa81af3ad98762f5a9b", + "sha256:58aca931bef83217fca7a390e0486ae327c4af9c3e941adb75f8772f8eeb03a1", + "sha256:5f7973c381283783cd1043a8c8f61ea5ce7a3a58b0369f0ee0ee975eaf2f2a1b", + "sha256:6395a4435fa26519fd96fdccb77e9d00ddae9dd6c742309bd0b5610609ad7fb2", + "sha256:63d7523cd95d2fde0d28dc42968ac731b5bb1e516cc56b93a50ab293f4daeaad", + "sha256:641a018af4fe48be57a2b3d7a1f0f5dbca07c1d00951d3d7463f0ac9dac66622", + "sha256:667880321e916a8920ef49f5d50e7983792cf59f3b6079f3c9dac2b88a311d17", + "sha256:684d840d2c9ec5de9cb397fcb3f36d5ebb6fa0d94734f9886032dd796c1ead06", + "sha256:68717c38a68e37af87c4da20e08f3e27d7e4212e99e96c3d875fbf3f4812abfc", + "sha256:6b7bbb97d82659ac8b37450c60ff2e9f97e4eb0f8a8a3645a5568b9334b08b50", + "sha256:72722ce529a76a4637a60be18bd789d8fb871e84472490ed7ddff62d5fed620d", + "sha256:73c1bc8a86a5c9e8721a088df234265317692d0b5cd9e86e975ce3bc3db62a59", + "sha256:76909849d1a6bffa5a07742294f3fa1d357dc917cb1fe7b470afbc3a7579d539", + "sha256:76b86e24039c35280ceee6dce7e62945eb93a5175d43689ba98360ab31eebc4a", + "sha256:7a5d83efc109ceddb99abd2c1316298ced2adb4570410defe766851a804fcd5b", + "sha256:80e0e57cc704a52fb1b48f16d5b2c8818da087dbee6f98d9bf19546930dc64b5", + "sha256:85233abb44bc18d16e72dc05bf13848a36f363f83757541f1a97db2f8d58cfd9", + "sha256:907a4d7720abfcb1c81619863efd47c8a85d26a257a2dbebdb87c3b847df0278", + "sha256:9376d83d686ec62e8b19c0ac3bf8d28d8a5981d0df290196fb6ef24d8a26f0d6", + "sha256:94b9769ba435b598b547c762184bcfc4783d0d4c7771b04a3b45775c3589ca44", + "sha256:9a29726f91c6cb390b3c2338f0df5cd3e216ad7a938762d11c994bb37552edb0", + "sha256:9b6431559676a1079eac0f52d6d0721fb8e3c5ba43c37bc537c8c83724031feb", + "sha256:9ece8a49696669d483d206b4474c367852c44815fca23ac4e48b72b339807f80", + "sha256:a139fe9f298dc097349fb4f28c8b81cc7a202dbfba66af0e14be5cfca4ef7ce5", + "sha256:a32204489259786a923e02990249c65b0f17235073149d0033efcebe80095570", + "sha256:a3982b0a32d0a88b3907e4b0dc36809fda477f0757c59a505d4e9b455f384b8b", + "sha256:aad17e462f42ddbef5984d70c40bfc4146c322a2da79715932cd8976317054de", + "sha256:b560b72ed4816aee52783c66854d96157fd8175631f01ef58e894cc57c84f0f6", + "sha256:b6b0e4912030c6f28bcb72b9ebe4989d6dc2eebcd2a9cdc35fefc38052dd4fe8", + "sha256:baf1c7b78cddb5af00971ad5294a4583188bda1495b13760d9f03c9483bb6203", + "sha256:c0295d52b012cbe0d3059b1dba99159c3be55e632aae1999ab74ae2bd86a33d7", + "sha256:c562b49c96906b4029b5685075fe1ebd3b5cc2601dfa0b9e16c2c09d6cbce048", + "sha256:c69567ddbac186e8c0aadc1f324a60a564cfe25e43ef2ce81bcc4b8c3abffbae", + "sha256:ca71d501629d1fa50ea7fa3b08ba884fe10cefc559f5c6c8dfe9036c16e8ae89", + "sha256:ca976884ce34070799e4dfc6fbd68cb1d181db1eefe4a3a94798ddfb34b8867f", + "sha256:d0491006a6ad20507aec2be72e7831a42efc93193d2402018007ff827dc62926", + "sha256:d074b07a10c391fc5bbdcb37b2f16f20fcd9e51e10d01652ab298c0d07908ee2", + "sha256:d2ce426ee691319d4767748c8e0895cfc56593d725594e415f274059bcf3cb76", + "sha256:d4284c621f06a72ce2cb55f74ea3150113d926a6eb78ab38340c08f770eb9b4d", + "sha256:d5e6b7155b8197b329dc787356cfd2684c9d6a6b1a197f6bbf45f5555a98d411", + "sha256:d816f44a51ba5175394bc6c7879ca0bd2be560b2c9e9f3411ef3a4cbe644c2e9", + "sha256:dd3f79e17b56741b5177bcc36307750d50ea0698df6aa82f69c7db32d968c1c2", + "sha256:dd63cec4e26e790b70544ae5cc48d11b515b09e05fdd5eff12e3195f54b8a586", + "sha256:de9d3e8717560eb05e28739d1b35e4eac2e458553a52a301e51352a7ffc86a35", + "sha256:df4249b579e75094f7e9bb4bd28231acf55e308bf686b952f43100a5a0be394c", + "sha256:e178e5b66a06ec5bf51668ec0d4ac8cfb2bdcb553b2c207d58148340efd00143", + "sha256:e60defc3c15defb70bb38dd605ff7e0fae5f6c9c7cbfe0ad7868582cb7e844a6", + "sha256:ee2794111c188548a4547eccc73a6a8527fe2af6cf25e1a4ebda2fd01cdd2e60", + "sha256:ee7ccc7fb7e921d767f853b47814c3048c7de536663e82fbc37f5eb0d532224b", + "sha256:ee9cf33e7fe14243f5ca6977658eb7d1042caaa66847daacbd2117adb258b226", + "sha256:f0f17814c505f07806e22b28856c59ac80cee7dd0fbb152aed273e116378f519", + "sha256:f3202a429fe825b699c57892d4371c74cc3456d8d71b7f35d6028c96dfecad31", + "sha256:f7054fdc556f5421f01e39cbb767d5ec5c1139ea98c3e5b350e02e62201740c7", + "sha256:fd1a9edb9dd9d79fbeac1ea1f9a8dd527a6113b18d2e9bcc0d541d308dae639b" ], "markers": "python_version >= '3.8'", - "version": "==2.16.3" + "version": "==2.18.1" }, "pyjwt": { + "extras": [ + "crypto" + ], "hashes": [ "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de", "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==2.8.0" }, "pymysql": { @@ -747,7 +751,7 @@ "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96", "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7" ], - "markers": "python_version >= '3.7'", + "index": "pypi", "version": "==1.1.0" }, "pynamodb": { @@ -756,7 +760,6 @@ "sha256:7217f87b6e5c9866d915265fd462fa4a012b37b0149bf1f814b33100b50e901f" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==6.0.0" }, "python-dateutil": { @@ -780,7 +783,6 @@ "sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==0.0.9" }, "pytz": { @@ -852,16 +854,15 @@ "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==2.31.0" }, "s3transfer": { "hashes": [ - "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e", - "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b" + "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", + "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" ], "markers": "python_version >= '3.8'", - "version": "==0.10.0" + "version": "==0.10.1" }, "six": { "hashes": [ @@ -881,75 +882,74 @@ }, "sqlalchemy": { "hashes": [ - "sha256:0315d9125a38026227f559488fe7f7cee1bd2fbc19f9fd637739dc50bb6380b2", - "sha256:0d3dd67b5d69794cfe82862c002512683b3db038b99002171f624712fa71aeaa", - "sha256:124202b4e0edea7f08a4db8c81cc7859012f90a0d14ba2bf07c099aff6e96462", - "sha256:1ee8bd6d68578e517943f5ebff3afbd93fc65f7ef8f23becab9fa8fb315afb1d", - "sha256:243feb6882b06a2af68ecf4bec8813d99452a1b62ba2be917ce6283852cf701b", - "sha256:2858bbab1681ee5406650202950dc8f00e83b06a198741b7c656e63818633526", - "sha256:2f60843068e432311c886c5f03c4664acaef507cf716f6c60d5fde7265be9d7b", - "sha256:328529f7c7f90adcd65aed06a161851f83f475c2f664a898af574893f55d9e53", - "sha256:33157920b233bc542ce497a81a2e1452e685a11834c5763933b440fedd1d8e2d", - "sha256:3eba73ef2c30695cb7eabcdb33bb3d0b878595737479e152468f3ba97a9c22a4", - "sha256:426f2fa71331a64f5132369ede5171c52fd1df1bd9727ce621f38b5b24f48750", - "sha256:45c7b78dfc7278329f27be02c44abc0d69fe235495bb8e16ec7ef1b1a17952db", - "sha256:46a3d4e7a472bfff2d28db838669fc437964e8af8df8ee1e4548e92710929adc", - "sha256:4a5adf383c73f2d49ad15ff363a8748319ff84c371eed59ffd0127355d6ea1da", - "sha256:4b6303bfd78fb3221847723104d152e5972c22367ff66edf09120fcde5ddc2e2", - "sha256:56856b871146bfead25fbcaed098269d90b744eea5cb32a952df00d542cdd368", - "sha256:5da98815f82dce0cb31fd1e873a0cb30934971d15b74e0d78cf21f9e1b05953f", - "sha256:5df5d1dafb8eee89384fb7a1f79128118bc0ba50ce0db27a40750f6f91aa99d5", - "sha256:68722e6a550f5de2e3cfe9da6afb9a7dd15ef7032afa5651b0f0c6b3adb8815d", - "sha256:78bb7e8da0183a8301352d569900d9d3594c48ac21dc1c2ec6b3121ed8b6c986", - "sha256:81ba314a08c7ab701e621b7ad079c0c933c58cdef88593c59b90b996e8b58fa5", - "sha256:843a882cadebecc655a68bd9a5b8aa39b3c52f4a9a5572a3036fb1bb2ccdc197", - "sha256:87724e7ed2a936fdda2c05dbd99d395c91ea3c96f029a033a4a20e008dd876bf", - "sha256:8c7f10720fc34d14abad5b647bc8202202f4948498927d9f1b4df0fb1cf391b7", - "sha256:8e91b5e341f8c7f1e5020db8e5602f3ed045a29f8e27f7f565e0bdee3338f2c7", - "sha256:943aa74a11f5806ab68278284a4ddd282d3fb348a0e96db9b42cb81bf731acdc", - "sha256:9461802f2e965de5cff80c5a13bc945abea7edaa1d29360b485c3d2b56cdb075", - "sha256:9b66fcd38659cab5d29e8de5409cdf91e9986817703e1078b2fdaad731ea66f5", - "sha256:a6bec1c010a6d65b3ed88c863d56b9ea5eeefdf62b5e39cafd08c65f5ce5198b", - "sha256:a921002be69ac3ab2cf0c3017c4e6a3377f800f1fca7f254c13b5f1a2f10022c", - "sha256:aca7b6d99a4541b2ebab4494f6c8c2f947e0df4ac859ced575238e1d6ca5716b", - "sha256:ad7acbe95bac70e4e687a4dc9ae3f7a2f467aa6597049eeb6d4a662ecd990bb6", - "sha256:af8ce2d31679006e7b747d30a89cd3ac1ec304c3d4c20973f0f4ad58e2d1c4c9", - "sha256:b4a2cf92995635b64876dc141af0ef089c6eea7e05898d8d8865e71a326c0385", - "sha256:bbda76961eb8f27e6ad3c84d1dc56d5bc61ba8f02bd20fcf3450bd421c2fcc9c", - "sha256:bd7e4baf9161d076b9a7e432fce06217b9bd90cfb8f1d543d6e8c4595627edb9", - "sha256:bea30da1e76cb1acc5b72e204a920a3a7678d9d52f688f087dc08e54e2754c67", - "sha256:c61e2e41656a673b777e2f0cbbe545323dbe0d32312f590b1bc09da1de6c2a02", - "sha256:c6c4da4843e0dabde41b8f2e8147438330924114f541949e6318358a56d1875a", - "sha256:d3499008ddec83127ab286c6f6ec82a34f39c9817f020f75eca96155f9765097", - "sha256:dbb990612c36163c6072723523d2be7c3eb1517bbdd63fe50449f56afafd1133", - "sha256:dd53b6c4e6d960600fd6532b79ee28e2da489322fcf6648738134587faf767b6", - "sha256:df40c16a7e8be7413b885c9bf900d402918cc848be08a59b022478804ea076b8", - "sha256:e0a5354cb4de9b64bccb6ea33162cb83e03dbefa0d892db88a672f5aad638a75", - "sha256:e0b148ab0438f72ad21cb004ce3bdaafd28465c4276af66df3b9ecd2037bf252", - "sha256:e23b88c69497a6322b5796c0781400692eca1ae5532821b39ce81a48c395aae9", - "sha256:fc4974d3684f28b61b9a90fcb4c41fb340fd4b6a50c04365704a4da5a9603b05", - "sha256:feea693c452d85ea0015ebe3bb9cd15b6f49acc1a31c28b3c50f4db0f8fb1e71", - "sha256:fffcc8edc508801ed2e6a4e7b0d150a62196fd28b4e16ab9f65192e8186102b6" + "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb", + "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c", + "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d", + "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a", + "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003", + "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699", + "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e", + "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93", + "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de", + "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513", + "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380", + "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567", + "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586", + "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b", + "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673", + "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d", + "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b", + "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e", + "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c", + "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03", + "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e", + "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec", + "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72", + "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c", + "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41", + "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0", + "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba", + "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b", + "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930", + "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7", + "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1", + "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1", + "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9", + "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c", + "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f", + "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520", + "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b", + "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0", + "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552", + "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907", + "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e", + "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f", + "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5", + "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305", + "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01", + "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44", + "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd", + "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5", + "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==2.0.28" + "version": "==2.0.29" }, "starlette": { "hashes": [ - "sha256:13d429aa93a61dc40bf503e8c801db1f1bca3dc706b10ef2434a36123568f044", - "sha256:90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080" + "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee", + "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823" ], "markers": "python_version >= '3.8'", - "version": "==0.36.3" + "version": "==0.37.2" }, "typing-extensions": { "hashes": [ - "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb" + "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", + "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a" ], "markers": "python_version >= '3.8'", - "version": "==4.10.0" + "version": "==4.11.0" }, "tzdata": { "hashes": [ @@ -969,12 +969,11 @@ }, "uvicorn": { "hashes": [ - "sha256:6623abbbe6176204a4226e67607b4d52cc60ff62cda0ff177613645cefa2ece1", - "sha256:cab4473b5d1eaeb5a0f6375ac4bc85007ffc75c3cc1768816d9e5d589857b067" + "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de", + "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==0.28.0" + "version": "==0.29.0" }, "uvloop": { "hashes": [ @@ -1175,19 +1174,17 @@ "sha256:f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88" ], "index": "pypi", - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", "version": "==2.0.1" } }, "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ @@ -1195,7 +1192,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "mccabe": { diff --git a/ecs/jskult-webapp/src/controller/login.py b/ecs/jskult-webapp/src/controller/login.py index 5c8d904e..9b2c808e 100644 --- a/ecs/jskult-webapp/src/controller/login.py +++ b/ecs/jskult-webapp/src/controller/login.py @@ -70,11 +70,22 @@ def login( jwt_token = login_service.login(request.username, request.password) except NotAuthorizeException as e: logger.info(f'ログイン失敗:{e}') + # ログイン失敗回数をカウント + login_service.increase_login_failed_count(request.username) + # ログイン失敗回数を超過した場合はメッセージを変える + if login_service.is_login_failed_limit_exceeded(request.username): + login_service.on_login_fail_limit_exceeded(request.username) + raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED) raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_ERROR) except JWTTokenVerifyException as e: logger.info(f'ログイン失敗:{e}') raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED) + # ログイン成功問わず、DBのログイン失敗回数が10回以上あれば、ログアウト画面にリダイレクトする + if login_service.is_login_failed_limit_exceeded(request.username): + logger.info(f'ログイン失敗回数が10回以上: {request.username}') + raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED) + verified_token = jwt_token.verify_token() # 普通の認証だと、`cognito:username`に入る。 user_id = verified_token.user_id diff --git a/ecs/jskult-webapp/src/controller/master_mainte.py b/ecs/jskult-webapp/src/controller/master_mainte.py index e9d4ed14..87b16978 100644 --- a/ecs/jskult-webapp/src/controller/master_mainte.py +++ b/ecs/jskult-webapp/src/controller/master_mainte.py @@ -199,7 +199,7 @@ def new_inst_result_view( return templates_response -@ router.get('/instEmpCsvDL', response_class=HTMLResponse) +@router.get('/instEmpCsvDL', response_class=HTMLResponse) def inst_emp_csv_download_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) @@ -270,6 +270,7 @@ def inst_emp_csv_download( ta_cd=csv_download_form.ta_cd, inst_cd=csv_download_form.inst_cd, emp_cd=csv_download_form.emp_cd, + emp_chg_type_cd=csv_download_form.emp_chg_type_cd, apply_date_from=csv_download_form.apply_date_from, start_date_from=csv_download_form.start_date_from, start_date_to=csv_download_form.start_date_to, diff --git a/ecs/jskult-webapp/src/db/database.py b/ecs/jskult-webapp/src/db/database.py index c729faf5..bd828db3 100644 --- a/ecs/jskult-webapp/src/db/database.py +++ b/ecs/jskult-webapp/src/db/database.py @@ -189,7 +189,7 @@ class DatabaseClient: self.__session = None def to_jst(self): - self.execute('SET time_zone = "+9:00"') + self.execute('SET SESSION time_zone = "Asia/Tokyo"') def __execute_with_transaction(self, query: str, parameters: dict): # トランザクションを開始してクエリを実行する diff --git a/ecs/jskult-webapp/src/model/db/user_master.py b/ecs/jskult-webapp/src/model/db/user_master.py index 913b415e..d86253ae 100644 --- a/ecs/jskult-webapp/src/model/db/user_master.py +++ b/ecs/jskult-webapp/src/model/db/user_master.py @@ -2,7 +2,7 @@ from datetime import datetime from typing import Optional from src.model.db.base_db_model import BaseDBModel - +from src.system_var import constants class UserMasterModel(BaseDBModel): user_id: Optional[str] @@ -25,6 +25,8 @@ class UserMasterModel(BaseDBModel): updater: Optional[str] update_date: Optional[datetime] mntuser_flg: Optional[str] + mntuser_login_failed_cnt: Optional[int] + mntuser_last_login_failed_datetime: Optional[datetime] def is_enable_user(self): return self.enabled_flg == 'Y' @@ -34,3 +36,6 @@ class UserMasterModel(BaseDBModel): def is_groupware_user(self): return self.mntuser_flg == '0' or self.mntuser_flg is None + + def is_login_failed_limit_exceeded(self): + return self.mntuser_login_failed_cnt >= constants.LOGIN_FAIL_LIMIT \ No newline at end of file diff --git a/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py b/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py index e288ce3a..a6146731 100644 --- a/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py +++ b/ecs/jskult-webapp/src/model/internal/master_mainte_csv.py @@ -1,16 +1,17 @@ import csv import json - -from io import TextIOWrapper -from datetime import datetime from abc import ABCMeta, abstractmethod +from datetime import datetime +from io import TextIOWrapper + +from src.logging.get_logger import get_logger +from src.repositories.bu_master_cd_repository import BuMasterRepository +from src.repositories.emp_chg_inst_repository import EmpChgInstRepository +from src.repositories.emp_master_repository import EmpMasterRepository +from src.repositories.generic_kbn_mst_repository import GenericKbnMstRepository +from src.repositories.mst_inst_repository import MstInstRepository from src.system_var import constants from src.util.string_util import is_not_empty -from src.repositories.mst_inst_repository import MstInstRepository -from src.repositories.bu_master_cd_repository import BuMasterRepository -from src.repositories.emp_master_repository import EmpMasterRepository -from src.repositories.emp_chg_inst_repository import EmpChgInstRepository -from src.logging.get_logger import get_logger logger = get_logger('マスターメンテ') @@ -24,6 +25,7 @@ class MasterMainteCSVItem(metaclass=ABCMeta): emp_master_repository: EmpMasterRepository bu_master_repository: BuMasterRepository emp_chginst_repository: EmpChgInstRepository + generic_kbn_mst_repository: GenericKbnMstRepository def __init__( self, @@ -33,7 +35,8 @@ class MasterMainteCSVItem(metaclass=ABCMeta): mst_inst_repository: MstInstRepository, emp_master_repository: EmpMasterRepository, bu_master_repository: BuMasterRepository, - emp_chginst_repository: EmpChgInstRepository + emp_chginst_repository: EmpChgInstRepository, + generic_kbn_mst_repository: GenericKbnMstRepository ): self.csv_row = csv_row self.table_name = table_name @@ -42,6 +45,7 @@ class MasterMainteCSVItem(metaclass=ABCMeta): self.emp_master_repository = emp_master_repository self.bu_master_repository = bu_master_repository self.emp_chginst_repository = emp_chginst_repository + self.generic_kbn_mst_repository = generic_kbn_mst_repository def validate(self) -> list[str]: """ @@ -57,6 +61,10 @@ class MasterMainteCSVItem(metaclass=ABCMeta): error_list.extend(self.check_require()) # 施設コード存在チェック error_list.extend(self.check_inst_cd_exists()) + # 領域コード存在チェック + error_list.extend(self.check_ta_cd_exists()) + # 担当者種別コード存在チェック + error_list.extend(self.check_emp_chg_type_cd_exists()) # MUID存在チェック error_list.extend(self.check_emp_cd_exists()) # BuCd存在チェック @@ -79,7 +87,7 @@ class MasterMainteCSVItem(metaclass=ABCMeta): return error_list def emp_chg_inst_count(self, start_date: str): - return self.emp_chginst_repository.fetch_count(self.inst_cd, self.ta_cd, start_date, self.table_name) + return self.emp_chginst_repository.fetch_count(self.inst_cd, self.ta_cd, self.emp_chg_type_cd, start_date, self.table_name) def is_exist_emp_cd(self, start_date: str) -> bool: if start_date is None or len(start_date) == 0: @@ -91,12 +99,36 @@ class MasterMainteCSVItem(metaclass=ABCMeta): def is_exist_inst_cd(self) -> bool: return True if self.mst_inst_repository.fetch_count(self.inst_cd) > 0 else False + def is_exist_emp_chg_type_cd(self, start_date: str) -> bool: + if start_date is None or len(start_date) == 0: + return False + if self.generic_kbn_mst_repository.fetch_count('emp_chg_type_cd', self.emp_chg_type_cd, start_date) > 0: + return True + return False + + def is_exist_ta_cd(self, start_date: str) -> bool: + if start_date is None or len(start_date) == 0: + return False + if self.generic_kbn_mst_repository.fetch_count('ta_cd', self.ta_cd, start_date) > 0: + return True + return False + def is_exist_bu_cd(self) -> bool: return True if self.bu_master_repository.fetch_count(self.bu_cd) > 0 else False def make_require_error_message(self, line_num: str, col_name: str) -> str: return f'{line_num}行目の{col_name}が入力されておりません。' + def make_data_exist_error_message(self, line_num: str, primary_key_col_names: list[str]) -> str: + return self.__make_check_data_exists_error_message(line_num, primary_key_col_names, 'がすべて同一のデータが既に登録されています。') + + def make_data_not_exist_error_message(self, line_num: str, primary_key_col_names: list[str]) -> str: + return self.__make_check_data_exists_error_message(line_num, primary_key_col_names, 'がすべて同一のデータが存在しないため更新できません。') + + def __make_check_data_exists_error_message(self, line_num: str, primary_key_col_names: list[str], suffix_message: str) -> str: + primary_key_logical_names = '、'.join(primary_key_col_names) + return f'{line_num}行目の{primary_key_logical_names}{suffix_message}' + def __parse_str_to_date(self, check_date: str) -> tuple[bool, datetime]: try: check_date_time: datetime = datetime.strptime(check_date, '%Y%m%d') @@ -160,6 +192,18 @@ class MasterMainteCSVItem(metaclass=ABCMeta): pass ... + @abstractmethod + def check_emp_chg_type_cd_exists(self) -> list[str]: + """担当者種別コード存在チェック""" + pass + ... + + @abstractmethod + def check_ta_cd_exists(self) -> list[str]: + """領域コード存在チェック""" + pass + ... + @abstractmethod def check_emp_cd_exists(self) -> list[str]: """MUID存在チェック""" @@ -205,7 +249,8 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem): mst_inst_repository: MstInstRepository, emp_master_repository: EmpMasterRepository, bu_master_repository: BuMasterRepository, - emp_chginst_repository: EmpChgInstRepository + emp_chginst_repository: EmpChgInstRepository, + generic_kbn_mst_repository: GenericKbnMstRepository ): super().__init__( csv_row, @@ -214,11 +259,13 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem): mst_inst_repository, emp_master_repository, bu_master_repository, - emp_chginst_repository + emp_chginst_repository, + generic_kbn_mst_repository ) self.inst_cd = super().get_csv_value(constants.CSV_NEW_INST_CD_COL_NO) self.inst_name = super().get_csv_value(constants.CSV_NEW_INST_NAME_COL_NO) self.ta_cd = super().get_csv_value(constants.CSV_NEW_TA_CD_COL_NO) + self.emp_chg_type_cd = super().get_csv_value(constants.CSV_NEW_EMP_CHG_TYPE_CD_COL_NO) self.emp_cd = super().get_csv_value(constants.CSV_NEW_EMP_CD_COL_NO) self.emp_name_family = super().get_csv_value(constants.CSV_NEW_EMP_NAME_FAMILY_COL_NO) self.emp_name_first = super().get_csv_value(constants.CSV_NEW_EMP_NAME_FIRST_COL_NO) @@ -237,6 +284,9 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem): if len(self.ta_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_TA_CD_COL_NO])) + if len(self.emp_chg_type_cd) == 0: + error_list.append(self.make_require_error_message( + self.line_num, constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_EMP_CHG_TYPE_CD_COL_NO])) if len(self.emp_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_EMP_CD_COL_NO])) @@ -271,6 +321,26 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem): は従業員マスタに存在しない もしくは 適用期間外のIDです。') return error_list + def check_emp_chg_type_cd_exists(self) -> list[str]: + error_list = [] + if not self.start_date or not self.emp_chg_type_cd: + return error_list + + if is_not_empty(self.emp_chg_type_cd) and super().is_exist_emp_chg_type_cd(self.start_date) is False: + error_list.append(f'{self.line_num}行目の{constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_EMP_CHG_TYPE_CD_COL_NO]}\ +は汎用区分マスタに存在しない もしくは 適用期間外のコードです。') + return error_list + + def check_ta_cd_exists(self) -> list[str]: + error_list = [] + if not self.start_date or not self.ta_cd: + return error_list + + if is_not_empty(self.ta_cd) and super().is_exist_ta_cd(self.start_date) is False: + error_list.append(f'{self.line_num}行目の{constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_TA_CD_COL_NO]}\ +は汎用区分マスタに存在しない もしくは 適用期間外のコードです。') + return error_list + def check_bu_cd_exists(self) -> list[str]: error_list = [] @@ -303,7 +373,15 @@ class MasterMainteNewInstEmpCSVItem(MasterMainteCSVItem): def check_data_exists(self) -> list[str]: error_list = [] if super().emp_chg_inst_count(self.start_date) > 0: - error_list.append(f'{self.line_num}行目の施設コード、領域コード、適用開始日がすべて同一のデータが既に登録されています。') + error_list.append(super().make_data_exist_error_message( + self.line_num, + primary_key_col_names=[ + constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_INST_CD_COL_NO], + constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_TA_CD_COL_NO], + constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_EMP_CHG_TYPE_CD_COL_NO], + constants.NEW_INST_EMP_CSV_LOGICAL_NAMES[constants.CSV_NEW_START_DATE] + ] + )) return error_list @@ -329,7 +407,8 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): mst_inst_repository: MstInstRepository, emp_master_repository: EmpMasterRepository, bu_master_repository: BuMasterRepository, - emp_chginst_repository: EmpChgInstRepository + emp_chginst_repository: EmpChgInstRepository, + generic_kbn_mst_repository: GenericKbnMstRepository ): super().__init__( csv_row, @@ -338,7 +417,8 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): mst_inst_repository, emp_master_repository, bu_master_repository, - emp_chginst_repository + emp_chginst_repository, + generic_kbn_mst_repository ) self.bu_cd = super().get_csv_value(constants.CSV_CHANGE_BU_CD_COL_NO) self.bu_name = super().get_csv_value(constants.CSV_CHANGE_BU_NAME_COL_NO) @@ -348,6 +428,7 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): self.inst_name = super().get_csv_value(constants.CSV_CHANGE_INST_NAME_COL_NO) self.ta_cd = super().get_csv_value(constants.CSV_CHANGE_TA_CD_COL_NO) self.explain = super().get_csv_value(constants.CSV_CHANGE_EXPLAIN_COL_NO) + self.emp_chg_type_cd = super().get_csv_value(constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO) self.emp_cd = super().get_csv_value(constants.CSV_CHANGE_EMP_CD_COL_NO) self.emp_full_name = super().get_csv_value(constants.CSV_CHANGE_EMP_FULL_NAME_COL_NO) self.inst_emp_start_date = super().get_csv_value(constants.CSV_CHANGE_INST_EMP_START_DATE_COL_NO) @@ -370,6 +451,9 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): if len(self.ta_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_TA_CD_COL_NO])) + if len(self.emp_chg_type_cd) == 0: + error_list.append(self.make_require_error_message( + self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO])) if len(self.emp_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CD_COL_NO])) @@ -388,6 +472,9 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): if len(self.ta_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_TA_CD_COL_NO])) + if len(self.emp_chg_type_cd) == 0: + error_list.append(self.make_require_error_message( + self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO])) if len(self.inst_emp_start_date) == 0: error_list.append(self.make_require_error_message( self.line_num, @@ -403,6 +490,10 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): if len(self.ta_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_TA_CD_COL_NO])) + if len(self.emp_chg_type_cd) == 0: + error_list.append(self.make_require_error_message( + self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO])) + if len(self.emp_cd) == 0: error_list.append(self.make_require_error_message( self.line_num, constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CD_COL_NO])) @@ -435,6 +526,28 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): は従業員マスタに存在しない もしくは 適用期間外のIDです。') return error_list + def check_emp_chg_type_cd_exists(self) -> list[str]: + error_list = [] + + if not self.inst_emp_start_date or not self.emp_chg_type_cd: + return error_list + + if is_not_empty(self.emp_chg_type_cd) and super().is_exist_emp_chg_type_cd(self.inst_emp_start_date) is False: + error_list.append(f'{self.line_num}行目の{constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO]}\ +は汎用区分マスタに存在しない もしくは 適用期間外のコードです。') + return error_list + + def check_ta_cd_exists(self) -> list[str]: + error_list = [] + + if not self.inst_emp_start_date or not self.ta_cd: + return error_list + + if is_not_empty(self.ta_cd) and super().is_exist_ta_cd(self.inst_emp_start_date) is False: + error_list.append(f'{self.line_num}行目の{constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_TA_CD_COL_NO]}\ +は汎用区分マスタに存在しない もしくは 適用期間外のコードです。') + return error_list + def check_bu_cd_exists(self) -> list[str]: error_list = [] @@ -484,10 +597,26 @@ class MasterMainteChangeInstEmpCSVItem(MasterMainteCSVItem): error_list = [] emp_chg_inst_count = super().emp_chg_inst_count(self.inst_emp_start_date) if self.comment == '追加' and emp_chg_inst_count > 0: - error_list.append(f'{self.line_num}行目の施設コード、領域コード、施設担当_開始日がすべて同一のデータが既に登録されています。') + error_list.append(super().make_data_exist_error_message( + self.line_num, + primary_key_col_names=[ + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_INST_CD_COL_NO], + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_TA_CD_COL_NO], + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO], + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_INST_EMP_START_DATE_COL_NO] + ] + )) elif (self.comment == '終了' or self.comment == '担当者修正') and emp_chg_inst_count == 0: - error_list.append(f'{self.line_num}行目の施設コード、領域コード、施設担当_開始日がすべて同一のデータが存在しないため更新できません。') + error_list.append(super().make_data_not_exist_error_message( + self.line_num, + primary_key_col_names=[ + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_INST_CD_COL_NO], + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_TA_CD_COL_NO], + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO], + constants.CHANGE_INST_CSV_LOGICAL_NAMES[constants.CSV_CHANGE_INST_EMP_START_DATE_COL_NO] + ] + )) return error_list @@ -525,7 +654,8 @@ class MasterMainteCSVItems: mst_inst_repository: MstInstRepository, emp_master_repository: EmpMasterRepository, bu_master_repository: BuMasterRepository, - emp_chginst_repository: EmpChgInstRepository + emp_chginst_repository: EmpChgInstRepository, + generic_kbn_mst_repository: GenericKbnMstRepository ) -> None: reader = csv.reader(file) csv_rows = [] @@ -540,7 +670,9 @@ class MasterMainteCSVItems: mst_inst_repository, emp_master_repository, bu_master_repository, - emp_chginst_repository)) + emp_chginst_repository, + generic_kbn_mst_repository + )) self.lines = csv_rows def __select_function(self, @@ -551,7 +683,8 @@ class MasterMainteCSVItems: mst_inst_repository: MstInstRepository, emp_master_repository: EmpMasterRepository, bu_master_repository: BuMasterRepository, - emp_chginst_repository: EmpChgInstRepository) -> MasterMainteCSVItem: + emp_chginst_repository: EmpChgInstRepository, + generic_kbn_mst_repository: GenericKbnMstRepository) -> MasterMainteCSVItem: if function_type == 'new': return MasterMainteNewInstEmpCSVItem( row, @@ -560,7 +693,8 @@ class MasterMainteCSVItems: mst_inst_repository, emp_master_repository, bu_master_repository, - emp_chginst_repository) + emp_chginst_repository, + generic_kbn_mst_repository) elif function_type == 'change': return MasterMainteChangeInstEmpCSVItem( row, @@ -569,4 +703,5 @@ class MasterMainteCSVItems: mst_inst_repository, emp_master_repository, bu_master_repository, - emp_chginst_repository) + emp_chginst_repository, + generic_kbn_mst_repository) diff --git a/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py b/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py index 18a5cb0c..1c79b75e 100644 --- a/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py +++ b/ecs/jskult-webapp/src/model/internal/master_mainte_emp_chg_inst_function.py @@ -29,8 +29,8 @@ class MasterMainteEmpChgInstFunction(metaclass=ABCMeta): def save(self): error_list = [] try: - self.emp_chginst_repository.to_jst() self.emp_chginst_repository.begin() + self.emp_chginst_repository.to_jst() (result_message, error_list) = self.write_emp_chg_inst_table() if len(error_list) > 0: self.emp_chginst_repository.rollback() @@ -46,6 +46,7 @@ class MasterMainteEmpChgInstFunction(metaclass=ABCMeta): self.emp_chginst_repository.insert_emp_chg_inst( data['施設コード'], data['領域コード'], + data['担当者種別コード'], data['MUID'], data['ビジネスユニットコード'], start_date, @@ -148,6 +149,7 @@ class ChangeEmpChgInstFunction(MasterMainteEmpChgInstFunction): self.emp_chginst_repository.end_emp_chg_inst( data['施設コード'], data['領域コード'], + data['担当者種別コード'], data['施設担当_開始日'], data['終了日の変更'], self.user_name, @@ -158,6 +160,7 @@ class ChangeEmpChgInstFunction(MasterMainteEmpChgInstFunction): data['施設コード'], data['領域コード'], data['施設担当_開始日'], + data['担当者種別コード'], data['MUID'], self.user_name, self.table_name) diff --git a/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py b/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py index 4155fa73..0ec43a10 100644 --- a/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py +++ b/ecs/jskult-webapp/src/model/request/master_mainte_csvdl.py @@ -2,20 +2,22 @@ from typing import Optional from fastapi import Form -from src.util.sanitize import sanitize - from src.model.request.request_base_model import RequestBaseModel +from src.util.sanitize import sanitize from src.util.string_util import is_not_empty @sanitize class MasterMainteCsvDlModel(RequestBaseModel): + # adaptは検索に使用する値 ta_cd: Optional[str] adapt_ta_cd: Optional[str] inst_cd: Optional[str] adapt_inst_cd: Optional[str] emp_cd: Optional[str] adapt_emp_cd: Optional[str] + emp_chg_type_cd: Optional[str] + adapt_emp_chg_type_cd: Optional[str] apply_date_from: Optional[str] adapt_apply_date_from: Optional[str] start_date_from: Optional[str] @@ -42,6 +44,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd: Optional[str] = Form(None), ctrl_inst_cd: Optional[str] = Form(None), ctrl_emp_cd: Optional[str] = Form(None), + ctrl_emp_chg_type_cd: Optional[str] = Form(None), ctrl_apply_date_from: Optional[str] = Form(None), ctrl_start_date_from: Optional[str] = Form(None), ctrl_start_date_to: Optional[str] = Form(None), @@ -58,6 +61,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd, ctrl_inst_cd, ctrl_emp_cd, + ctrl_emp_chg_type_cd, ctrl_apply_date_from, ctrl_start_date_from, ctrl_start_date_to, @@ -75,6 +79,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd: str, ctrl_inst_cd: str, ctrl_emp_cd: str, + ctrl_emp_chg_type_cd, ctrl_apply_date_from: str, ctrl_start_date_from: str, ctrl_start_date_to: str, @@ -89,6 +94,7 @@ class MasterMainteCsvDlModel(RequestBaseModel): ctrl_ta_cd = ctrl_ta_cd if is_not_empty(ctrl_ta_cd) else '' ctrl_inst_cd = ctrl_inst_cd if is_not_empty(ctrl_inst_cd) else '' ctrl_emp_cd = ctrl_emp_cd if is_not_empty(ctrl_emp_cd) else '' + ctrl_emp_chg_type_cd = ctrl_emp_chg_type_cd if is_not_empty(ctrl_emp_chg_type_cd) else '' adapt_apply_date_from = '' if is_not_empty(ctrl_apply_date_from): @@ -147,6 +153,8 @@ class MasterMainteCsvDlModel(RequestBaseModel): adapt_inst_cd=ctrl_inst_cd, emp_cd=ctrl_emp_cd, adapt_emp_cd=ctrl_emp_cd, + emp_chg_type_cd=ctrl_emp_chg_type_cd, + adapt_emp_chg_type_cd=ctrl_emp_chg_type_cd, apply_date_from=ctrl_apply_date_from, adapt_apply_date_from=adapt_apply_date_from, start_date_from=ctrl_start_date_from, diff --git a/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py b/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py index aa04068d..e7ac331a 100644 --- a/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py +++ b/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py @@ -9,6 +9,7 @@ class InstEmpCsvDownloadViewModel(BaseModel): ta_cd: str = '' inst_cd: str = '' emp_cd: str = '' + emp_chg_type_cd: str = '' apply_date_from: str = '' start_date_from: str = '' start_date_to: str = '' diff --git a/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py b/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py index d91be694..fe5329f2 100644 --- a/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py +++ b/ecs/jskult-webapp/src/repositories/emp_chg_inst_repository.py @@ -1,10 +1,10 @@ -from src.repositories.base_repository import BaseRepository -from src.db.sql_condition import SQLCondition from src.db import sql_condition as condition +from src.db.sql_condition import SQLCondition +from src.logging.get_logger import get_logger from src.model.db.master_mente_count import MasterMenteCountModel from src.model.request.master_mainte_csvdl import MasterMainteCsvDlModel +from src.repositories.base_repository import BaseRepository from src.util.string_util import is_not_empty -from src.logging.get_logger import get_logger logger = get_logger('従業員担当施設マスタ') @@ -28,6 +28,7 @@ class EmpChgInstRepository(BaseRepository): ( inst_cd, ta_cd, + emp_chg_type_cd, emp_cd, bu_cd, start_date, @@ -42,6 +43,7 @@ class EmpChgInstRepository(BaseRepository): VALUES ( :inst_cd, :ta_cd, + :emp_chg_type_cd, :emp_cd, :bu_cd, :start_date, @@ -55,13 +57,14 @@ class EmpChgInstRepository(BaseRepository): ) """ - def insert_emp_chg_inst(self, inst_cd, ta_cd, emp_cd, bu_cd, start_date, + def insert_emp_chg_inst(self, inst_cd, ta_cd, emp_chg_type_cd, emp_cd, bu_cd, start_date, end_date, create_user_name, table_name): try: query = self.INSERT_SQL.format(table_name=table_name) self._database.execute(query, { 'inst_cd': inst_cd, 'ta_cd': ta_cd, + 'emp_chg_type_cd': emp_chg_type_cd, 'emp_cd': emp_cd, 'bu_cd': bu_cd, 'start_date': start_date, @@ -82,17 +85,19 @@ class EmpChgInstRepository(BaseRepository): update_date = NOW() WHERE inst_cd = :inst_cd - and ta_cd = :ta_cd - and start_date = :start_date + AND ta_cd = :ta_cd + AND emp_chg_type_cd = :emp_chg_type_cd + AND start_date = :start_date """ - def end_emp_chg_inst(self, inst_cd, ta_cd, start_date, + def end_emp_chg_inst(self, inst_cd, ta_cd, emp_chg_type_cd, start_date, end_date, update_user_name, table_name): try: query = self.UPDATE_END_DATE_SQL.format(table_name=table_name) self._database.execute(query, { 'inst_cd': inst_cd, 'ta_cd': ta_cd, + 'emp_chg_type_cd': emp_chg_type_cd, 'start_date': start_date, 'end_date': end_date, 'update_user_name': update_user_name @@ -110,16 +115,18 @@ class EmpChgInstRepository(BaseRepository): update_date = NOW() where inst_cd = :inst_cd - and ta_cd = :ta_cd - and start_date = :start_date + AND ta_cd = :ta_cd + AND emp_chg_type_cd = :emp_chg_type_cd + AND start_date = :start_date """ - def modify_emp_chg_inst(self, inst_cd, ta_cd, start_date, emp_cd, update_user_name, table_name): + def modify_emp_chg_inst(self, inst_cd, ta_cd, start_date, emp_chg_type_cd, emp_cd, update_user_name, table_name): try: query = self.UPDATE_EMP_CD_SQL.format(table_name=table_name) self._database.execute(query, { 'inst_cd': inst_cd, 'ta_cd': ta_cd, + 'emp_chg_type_cd': emp_chg_type_cd, 'start_date': start_date, 'emp_cd': emp_cd, 'update_user_name': update_user_name @@ -136,14 +143,15 @@ class EmpChgInstRepository(BaseRepository): WHERE inst_cd = :inst_cd AND ta_cd = :ta_cd + AND emp_chg_type_cd = :emp_chg_type_cd AND start_date = :start_date """ - def fetch_count(self, inst_cd, ta_cd, start_date, table_name) -> MasterMenteCountModel: + def fetch_count(self, inst_cd, ta_cd, emp_chg_type_cd, start_date, table_name) -> MasterMenteCountModel: try: query = self.FETCH_COUNT_SQL.format(table_name=table_name) result = self._database.execute_select(query, {'inst_cd': inst_cd, 'ta_cd': ta_cd, - 'start_date': start_date}) + 'emp_chg_type_cd': emp_chg_type_cd, 'start_date': start_date}) models = [MasterMenteCountModel(**r) for r in result] if len(models) == 0: return 0 @@ -157,6 +165,7 @@ class EmpChgInstRepository(BaseRepository): eci.inst_cd AS inst_cd, mi.inst_name AS inst_name, eci.ta_cd AS ta_cd, + eci.emp_chg_type_cd AS emp_chg_type_cd, eci.emp_cd AS emp_cd, CONCAT(emp.emp_name_family, " ", emp.emp_name_first) AS emp_name_full, eci.bu_cd AS bu_cd, @@ -212,6 +221,11 @@ class EmpChgInstRepository(BaseRepository): parameter.adapt_emp_cd = f'%{parameter.emp_cd}%' where_clauses.append(SQLCondition('eci.emp_cd', condition.LIKE, 'adapt_emp_cd')) + # 担当者種別コードが入力されていた場合 + if is_not_empty(parameter.emp_chg_type_cd): + parameter.adapt_emp_chg_type_cd = f'%{parameter.emp_chg_type_cd}%' + where_clauses.append(SQLCondition('eci.emp_chg_type_cd', condition.LIKE, 'adapt_emp_chg_type_cd')) + # 適用期間内が入力されていた場合 if is_not_empty(parameter.adapt_apply_date_from): where_clauses.append(SQLCondition('eci.start_date', condition.LE, 'adapt_apply_date_from')) diff --git a/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py b/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py new file mode 100644 index 00000000..e2d210c4 --- /dev/null +++ b/ecs/jskult-webapp/src/repositories/generic_kbn_mst_repository.py @@ -0,0 +1,33 @@ +from src.repositories.base_repository import BaseRepository +from src.model.db.master_mente_count import MasterMenteCountModel +from src.logging.get_logger import get_logger + +logger = get_logger('汎用区分マスタ') + +class GenericKbnMstRepository(BaseRepository): + + FETCH_SQL = """\ + SELECT + COUNT(*) AS count + FROM + src05.generic_kbn_mst + WHERE + generic_kbn_mst.generic_kbn_cd = :generic_kbn_cd + AND + generic_kbn_mst.kbn_cd = :kbn_cd + AND + STR_TO_DATE( :start_date , '%Y%m%d') BETWEEN generic_kbn_mst.start_date AND generic_kbn_mst.end_date\ + """ + + + def fetch_count(self, generic_kbn_cd: str, kbn_cd: str, start_date: str) -> MasterMenteCountModel: + try: + query = self.FETCH_SQL + result = self._database.execute_select(query, {'generic_kbn_cd': generic_kbn_cd, 'kbn_cd': kbn_cd, 'start_date' : start_date}) + models = [MasterMenteCountModel(**r) for r in result] + if len(models) == 0: + return 0 + return models[0].count + except Exception as e: + logger.error(f"DB Error : Exception={e.args}") + raise e \ No newline at end of file diff --git a/ecs/jskult-webapp/src/repositories/user_master_repository.py b/ecs/jskult-webapp/src/repositories/user_master_repository.py index 7edde00a..3acbc105 100644 --- a/ecs/jskult-webapp/src/repositories/user_master_repository.py +++ b/ecs/jskult-webapp/src/repositories/user_master_repository.py @@ -6,6 +6,19 @@ logger = get_logger('ユーザー取得') class UserMasterRepository(BaseRepository): + + def to_jst(self): + self._database.to_jst() + + def begin(self): + self._database.begin() + + def commit(self): + self._database.commit() + + def rollback(self): + self._database.rollback() + FETCH_SQL = """\ SELECT * @@ -26,3 +39,46 @@ class UserMasterRepository(BaseRepository): except Exception as e: logger.exception(f"DB Error : Exception={e}") raise e + + def increase_login_failed_count(self, parameter: dict) -> UserMasterModel: + try: + query = """\ + UPDATE + src05.user_mst + SET + mntuser_login_failed_cnt = + CASE + WHEN + DATE(mntuser_last_login_failed_datetime) = DATE(CURRENT_TIMESTAMP()) + THEN + mntuser_login_failed_cnt + 1 + ELSE + 1 + END, + mntuser_last_login_failed_datetime = CURRENT_TIMESTAMP() + WHERE + user_id = :user_id + AND + mntuser_flg = 1;\ + """ + self._database.execute(query, parameter) + except Exception as e: + logger.exception(f"DB Error : Exception={e}") + raise e + + def disable_mnt_user(self, parameter: dict) -> UserMasterModel: + try: + query = """\ + UPDATE + src05.user_mst + SET + enabled_flg = 'N' + WHERE + user_id = :user_id + AND + mntuser_flg = 1\ + """ + self._database.execute(query, parameter) + except Exception as e: + logger.exception(f"DB Error : Exception={e}") + raise e diff --git a/ecs/jskult-webapp/src/services/login_service.py b/ecs/jskult-webapp/src/services/login_service.py index aa1f37fd..3a2715b2 100644 --- a/ecs/jskult-webapp/src/services/login_service.py +++ b/ecs/jskult-webapp/src/services/login_service.py @@ -49,6 +49,27 @@ class LoginService(BaseService): user_record: UserMasterModel = self.user_repository.fetch_one({'user_id': user_id}) return user_record + def increase_login_failed_count(self, user_id: str): + + try: + # セッション内のタイムゾーン変更のため、明示的にトランザクションを開始する + self.user_repository.begin() + self.user_repository.to_jst() + self.user_repository.increase_login_failed_count({'user_id': user_id}) + self.user_repository.commit() + except Exception as e: + self.user_repository.rollback() + raise e + + def on_login_fail_limit_exceeded(self, user_id: str): + self.user_repository.disable_mnt_user({'user_id': user_id}) + + def is_login_failed_limit_exceeded(self, user_id: str): + user_record: UserMasterModel = self.user_repository.fetch_one({'user_id': user_id}) + if user_record is None: + return False + return user_record.is_login_failed_limit_exceeded() + def __secret_hash(self, username: str): # see - https://aws.amazon.com/jp/premiumsupport/knowledge-center/cognito-unable-to-verify-secret-hash/ # noqa message = bytes(username + environment.COGNITO_CLIENT_ID, 'utf-8') diff --git a/ecs/jskult-webapp/src/services/master_mainte_service.py b/ecs/jskult-webapp/src/services/master_mainte_service.py index f3bbdb1a..6f612a87 100644 --- a/ecs/jskult-webapp/src/services/master_mainte_service.py +++ b/ecs/jskult-webapp/src/services/master_mainte_service.py @@ -19,6 +19,7 @@ from src.repositories.mst_inst_repository import MstInstRepository from src.repositories.bu_master_cd_repository import BuMasterRepository from src.repositories.emp_master_repository import EmpMasterRepository from src.repositories.emp_chg_inst_repository import EmpChgInstRepository +from src.repositories.generic_kbn_mst_repository import GenericKbnMstRepository from src.model.internal.master_mainte_csv import MasterMainteCSVItems from src.model.internal.master_mainte_emp_chg_inst_function import NewEmpChgInstFunction from src.model.internal.master_mainte_emp_chg_inst_function import ChangeEmpChgInstFunction @@ -38,6 +39,7 @@ class MasterMainteService(BaseService): 'emp_master_repository': EmpMasterRepository, 'bu_master_repository': BuMasterRepository, 'emp_chginst_repository': EmpChgInstRepository, + 'generic_kbn_mst_repository': GenericKbnMstRepository, } CLIENTS = { @@ -48,6 +50,7 @@ class MasterMainteService(BaseService): emp_master_repository: EmpMasterRepository bu_master_repository: BuMasterRepository emp_chginst_repository: EmpChgInstRepository + generic_kbn_mst_repository: GenericKbnMstRepository s3_client: S3Client def __init__(self, repositories: dict[str, BaseRepository], clients: dict[str, AWSAPIClient]) -> None: @@ -56,6 +59,7 @@ class MasterMainteService(BaseService): self.emp_master_repository = repositories['emp_master_repository'] self.bu_master_repository = repositories['bu_master_repository'] self.emp_chginst_repository = repositories['emp_chginst_repository'] + self.generic_kbn_mst_repository = repositories['generic_kbn_mst_repository'] self.s3_client = clients['s3_client'] def prepare_mainte_csv_up_view(self, @@ -77,7 +81,8 @@ class MasterMainteService(BaseService): self.mst_inst_repository, self.emp_master_repository, self.bu_master_repository, - self.emp_chginst_repository + self.emp_chginst_repository, + self.generic_kbn_mst_repository ) error_message_list = [] @@ -148,8 +153,8 @@ class MasterMainteService(BaseService): def copy_data_real_to_dummy(self) -> TableOverrideViewModel: try: - self.emp_chginst_repository.to_jst() self.emp_chginst_repository.begin() + self.emp_chginst_repository.to_jst() self.emp_chginst_repository.delete_dummy_table() self.emp_chginst_repository.copy_real_to_dummy() self.emp_chginst_repository.commit() diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index 3756facb..c3d5f4ec 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -63,6 +63,7 @@ LOGOUT_REASON_BACKUP_PROCESSING = 'dump_processing' LOGOUT_REASON_NOT_LOGIN = 'not_login' LOGOUT_REASON_DB_ERROR = 'db_error' LOGOUT_REASON_UNEXPECTED = 'unexpected' +LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED = 'login_failed_limit_exceeded' LOGOUT_REASON_MESSAGE_MAP = { LOGOUT_REASON_DO_LOGOUT: 'Logoutしました。', @@ -72,7 +73,8 @@ LOGOUT_REASON_MESSAGE_MAP = { LOGOUT_REASON_BACKUP_PROCESSING: 'バックアップ取得を開始しました。
日次バッチ更新が終了するまでマスターメンテは使用できません', LOGOUT_REASON_NOT_LOGIN: 'Loginしてからページにアクセスしてください。', LOGOUT_REASON_DB_ERROR: 'DB接続に失敗しました。
再度Loginするか、
管理者にお問い合わせください。', - LOGOUT_REASON_UNEXPECTED: '予期しないエラーが発生しました。
再度Loginするか、
管理者に問い合わせてください。' + LOGOUT_REASON_UNEXPECTED: '予期しないエラーが発生しました。
再度Loginするか、
管理者に問い合わせてください。', + LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED: 'ログイン失敗回数の上限を超えましたので
アカウントをロックしました。
管理者に連絡してください' } # 新規施設担当者登録CSV(マスターメンテ) @@ -80,6 +82,7 @@ NEW_INST_EMP_CSV_LOGICAL_NAMES = [ '施設コード', '施設名', '領域コード', + '担当者種別コード', 'MUID', '担当者名(姓)', '担当者名(名)', @@ -93,18 +96,20 @@ CSV_NEW_INST_CD_COL_NO = 0 CSV_NEW_INST_NAME_COL_NO = 1 # 領域コードの列No CSV_NEW_TA_CD_COL_NO = 2 +# 担当者種別コードの列No +CSV_NEW_EMP_CHG_TYPE_CD_COL_NO = 3 # MUIDの列No -CSV_NEW_EMP_CD_COL_NO = 3 +CSV_NEW_EMP_CD_COL_NO = 4 # 担当者名(姓)の列No -CSV_NEW_EMP_NAME_FAMILY_COL_NO = 4 +CSV_NEW_EMP_NAME_FAMILY_COL_NO = 5 # 担当者名(名)の列No -CSV_NEW_EMP_NAME_FIRST_COL_NO = 5 +CSV_NEW_EMP_NAME_FIRST_COL_NO = 6 # ビジネスユニットコードの列No -CSV_NEW_BU_CD_COL_NO = 6 +CSV_NEW_BU_CD_COL_NO = 7 # 適用開始日の列No -CSV_NEW_START_DATE = 7 +CSV_NEW_START_DATE = 8 # 適用終了日の列No -CSV_NEW_END_DATE = 8 +CSV_NEW_END_DATE = 9 # 施設担当者変更登録CSV(マスターメンテ) CHANGE_INST_CSV_LOGICAL_NAMES = [ @@ -116,6 +121,7 @@ CHANGE_INST_CSV_LOGICAL_NAMES = [ '施設名', '領域コード', '説明', + '担当者種別コード', 'MUID', '担当者名', '施設担当_開始日', @@ -139,18 +145,20 @@ CSV_CHANGE_INST_NAME_COL_NO = 5 CSV_CHANGE_TA_CD_COL_NO = 6 # 説明の列No CSV_CHANGE_EXPLAIN_COL_NO = 7 +# 担当者種別コード +CSV_CHANGE_EMP_CHG_TYPE_CD_COL_NO = 8 # MUIDの列No -CSV_CHANGE_EMP_CD_COL_NO = 8 +CSV_CHANGE_EMP_CD_COL_NO = 9 # 担当者名の列No -CSV_CHANGE_EMP_FULL_NAME_COL_NO = 9 +CSV_CHANGE_EMP_FULL_NAME_COL_NO = 10 # 施設担当_開始日の列No -CSV_CHANGE_INST_EMP_START_DATE_COL_NO = 10 +CSV_CHANGE_INST_EMP_START_DATE_COL_NO = 11 # 施設担当_終了日の列No -CSV_CHANGE_INST_EMP_END_DATE_COL_NO = 11 +CSV_CHANGE_INST_EMP_END_DATE_COL_NO = 12 # 終了日の変更の列No -CSV_CHANGE_CHANGE_END_DATE_COL_NO = 12 +CSV_CHANGE_CHANGE_END_DATE_COL_NO = 13 # コメントの列No -CSV_CHANGE_COMMENT = 13 +CSV_CHANGE_COMMENT = 14 # CSVアップロードテーブル名(マスターメンテ) CSV_REAL_TABLE_NAME = '本番テーブル' @@ -162,6 +170,7 @@ MENTE_CSV_DOWNLOAD_EXTRACT_COLUMNS = [ 'inst_cd', 'inst_name', 'ta_cd', + 'emp_chg_type_cd', 'emp_cd', 'emp_name_full', 'bu_cd', @@ -178,6 +187,7 @@ MENTE_CSV_DOWNLOAD_HEADER = [ '施設コード', '施設名', '領域コード', + '担当者種別コード', 'MUID', '担当者名', 'ビジネスユニットコード', @@ -207,3 +217,6 @@ DISPLAY_USER_STOP_DIV_SHORT = { '03': '特定項目停止', '04': '全DM停止' } + +# ログイン失敗回数上限(保守ユーザー) +LOGIN_FAIL_LIMIT = 10 \ No newline at end of file diff --git a/ecs/jskult-webapp/src/templates/instEmpCsvDL.html b/ecs/jskult-webapp/src/templates/instEmpCsvDL.html index 93ecf332..b0b50fe8 100644 --- a/ecs/jskult-webapp/src/templates/instEmpCsvDL.html +++ b/ecs/jskult-webapp/src/templates/instEmpCsvDL.html @@ -81,6 +81,17 @@ + + + 担当者種別コード: + + + + + 適用期間内: @@ -117,7 +128,7 @@ > - + 対象テーブル: @@ -160,7 +171,7 @@ > - + diff --git a/ecs/restore-dbdump/Dockerfile b/ecs/restore-dbdump/Dockerfile index 140de9c6..858c3dc9 100644 --- a/ecs/restore-dbdump/Dockerfile +++ b/ecs/restore-dbdump/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-bullseye +FROM python:3.9 ENV TZ="Asia/Tokyo" diff --git a/ecs/restore-dbdump/Pipfile.lock b/ecs/restore-dbdump/Pipfile.lock index 58c4d231..02f0cb52 100644 --- a/ecs/restore-dbdump/Pipfile.lock +++ b/ecs/restore-dbdump/Pipfile.lock @@ -19,12 +19,11 @@ "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ @@ -32,7 +31,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "mccabe": { diff --git a/lambda/NoticeToSlack/index.js b/lambda/NoticeToSlack/index.js new file mode 100644 index 00000000..5c0a7226 --- /dev/null +++ b/lambda/NoticeToSlack/index.js @@ -0,0 +1,37 @@ +"use-strict"; + +const request = require("request-promise"); +exports.handler = (event, context, callback) => { + const attaches = event.Records.map(evt => { + return { + "fallback":`Notification from mbj-newdwh2021 AWS: ${evt.EventSubscriptionArn}`, + "pretext":`Notification from mbj-newdwh2021 AWS: ${evt.EventSubscriptionArn}`, + "color":"#0000D0", + "fields":[ + { + "title": `${evt.Sns.Subject}`, + "value": `${evt.Sns.Timestamp}: ${evt.Sns.Message} (MessageId: ${evt.Sns.MessageId})`, + "short": false + } + ] + }; + }); + request({ + method: "POST", + url: process.env.webhookurl, + body: { + attachments: attaches + + }, + json: true + }).then((body => { + callback(null, `Request succeed. ${body}`); + })).catch((err) => { + callback("failed to request to slack.", { + result: "ERROR", + event: event, + cause: `request failed. ${err}.` + }); + }) + +}; diff --git a/lambda/NoticeToSlack/mbj-newdwh2021-staging-NoticeToSlack.zip b/lambda/NoticeToSlack/mbj-newdwh2021-staging-NoticeToSlack.zip new file mode 100644 index 00000000..53f0c160 Binary files /dev/null and b/lambda/NoticeToSlack/mbj-newdwh2021-staging-NoticeToSlack.zip differ diff --git a/lambda/NoticeToSlack/package.json b/lambda/NoticeToSlack/package.json new file mode 100644 index 00000000..1495f188 --- /dev/null +++ b/lambda/NoticeToSlack/package.json @@ -0,0 +1,15 @@ +{ + "name": "mbj-newdwh2021-staging-noticetoslack", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "request": "^2.88.2", + "request-promise": "^4.2.6" + } +} diff --git a/lambda/PublishFromLog/index.js b/lambda/PublishFromLog/index.js new file mode 100644 index 00000000..f0b608f8 --- /dev/null +++ b/lambda/PublishFromLog/index.js @@ -0,0 +1,30 @@ +const zlib = require("zlib"); +const aws = require("aws-sdk"); +const sns = new aws.SNS({ + apiVersion: "2010-03-31", + region: 'ap-northeast-1' +}); + +exports.handler = function(input, context) { + var payload = new Buffer.from(input.awslogs.data, 'base64'); + zlib.gunzip(payload, function(e, result) { + if (e) { + context.fail(e); + } else { + result = JSON.parse(result.toString('UTF-8')); + const publishMessage = { + Subject: `Detect Error(or Warning) in ${result.logGroup}`, + Message: result.logEvents.map((l) => l.message).join('\n'), + TopicArn: process.env.topicArn + }; + console.log(publishMessage); + + sns.publish(publishMessage, (err, data) => { + console.log(err, data); + if(err){ + context.fail(err); + } + }); + } + }); +}; \ No newline at end of file diff --git a/lambda/PublishFromLog/mbj-newdwh2021-staging-PublishFromLog.zip b/lambda/PublishFromLog/mbj-newdwh2021-staging-PublishFromLog.zip new file mode 100644 index 00000000..6a8526bc Binary files /dev/null and b/lambda/PublishFromLog/mbj-newdwh2021-staging-PublishFromLog.zip differ diff --git a/lambda/PublishFromLog/package.json b/lambda/PublishFromLog/package.json new file mode 100644 index 00000000..1e0d12e7 --- /dev/null +++ b/lambda/PublishFromLog/package.json @@ -0,0 +1,15 @@ +{ + "name": "mbj-newdwh2021-staging-publishfromlog", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "aws-sdk": "^2.1011.0", + "zlib": "^1.0.5" + } +} diff --git a/lambda/check-view-security-option/Pipfile.lock b/lambda/check-view-security-option/Pipfile.lock index 8f7fdc66..d9e8f1c3 100644 --- a/lambda/check-view-security-option/Pipfile.lock +++ b/lambda/check-view-security-option/Pipfile.lock @@ -18,50 +18,48 @@ "default": { "awslambdaric": { "hashes": [ - "sha256:038aa61eb897e94a198a1c27213b79848509f43df622238ab2271a20f11d5d39", - "sha256:05070850dad5af71c911a04ccb6c376dbdb7aed6aaba2fb1d09eaff6ebb26b0d", - "sha256:09acc9715f74c994e8688436e4d3c496148fc945c4fe1a28ef1e3b9529453133", - "sha256:173baa4d61cf648d0e580e6e8ebebb212e50e0e0366352ba20daaef63761c9ed", - "sha256:238cdff033edf6182024305224da1bbdb8bfef1207b04e35816a5d5e5516344a", - "sha256:2bb5027d7f2c4f480b039f73a015d41c046037ab341dc1dbb55d8494133304a6", - "sha256:2cb6fa2ad9a34ff9d0a678034fefce286de83f9a55b792af60e79e3ba1d3d71f", - "sha256:2d12e7f096d6bee43e731b75184abdf10f22765824387f6ae3429a480e696b2b", - "sha256:39e8e4579e913a76b580bd22b36af8d808c7b4bb8bf5a2b526f0149edd029e4f", - "sha256:3c3f339f89c6318fe56c1b6d8ef74aadaf486f56746dd1e04f73f83881d32ae5", - "sha256:42c18fccc0079c96a9bdfd219e7d1e736c41b8a44319de3a75ff960523f24696", - "sha256:4465a604de74ffd202d4b891c88228fdfac39a306725fee593c76b4377d847c5", - "sha256:50531d37c4a1737fe3c6540cf0852459cecd4e7a03e4c2791a24bc32db153235", - "sha256:5414c81e6cf088be51a0024e2202e0faf2e9dba2cc247a55e59f4ffc34369bfb", - "sha256:5a11cd06dc29459bf3b9da570af612fcf4dca1060bcfd2b78c36c835a37ae5c1", - "sha256:5eeb3b5294b220d133b569f096ac922e6665811aefefe8e7e4b5d907b1a1bf2b", - "sha256:665b1849fe46e25589835219dc226f77c13fff6c27fc2f34e9e49cb03cf5019a", - "sha256:6afbd60e3a78945bcee586eca4924df4aa3c552065b91a85711cc6771e65a138", - "sha256:6f3ad30165498d4748fffab87b32897fd7f15f67fed7804bfba4ed96a4babf14", - "sha256:9b97da2fe64fb016fa81a88205f8f5e5a9c4a43344c9771b13d94467fdf85b4e", - "sha256:a5e9dce5b5b1ccb809d4386b24f7ea971c8abfd84037f43148db06ecf271c4c5", - "sha256:b62eda8e3a034c692a7b2e589e77bc1d3130121dca2ebb9efea9ce31c14079f6", - "sha256:e6cdab6054fff4fd16c4a3a33a9c4e5aa18ac39f215d0e3a3345d3036cdc418a" + "sha256:04d4d4b63cef0e9aad3adea95a5cf3f81634bccde625f104ff025f764a3e8874", + "sha256:0a9922690eb7722417cbac55b913ab070c88444ab83290293debf29d5d9ca371", + "sha256:0e55a815caef1258ed7a9b0adad54e5f1b2ca63966d21342dc5da5b55dd471ef", + "sha256:2566a9db2c613fddddc22aedb45e74dbcd5c1a044da6992424680be719db80c9", + "sha256:34a3e8d27b84ccc9535086487eed50425c0db7a016bf91cf24d8d6cc853faec3", + "sha256:403109390f1a9856f8f6d5f0d5e7f2f83bdec99a62d024e433bff50eda2ed373", + "sha256:4dbd3e2262d080327a90e1ac9d087d7616e8b5be6da83be9fd3ca1b5ae575173", + "sha256:506f004ca08a2f43a898b65dad9d6dd2b2a4910ebe43dcc6682dc5ca0267c24a", + "sha256:662b95b6079b563d3e2ef4fda7bcb20e360901eae7a646425612ef2f4e5d6bdf", + "sha256:6de8d5ea0fc8cb780e060fc06a84328fda3ed329faf97606db59287814490ade", + "sha256:6f298068e2791b0ec5c420ef27cdf8aaba23486dfa5917b6c3067e30c97dde4f", + "sha256:7699c822197f98cc22c262af2368c99d69b43a73113099be52545b195c5e0064", + "sha256:7b75376d62a294e37d96507a68290dd94ce83f5b1a597c42d29242545e1ee126", + "sha256:98b16b4752f16b6a0562cfc1db2e6ce63b2a41ffa97c27e784c3ae5e8c2dc91d", + "sha256:bf57203ebeb4d718b34cd168f6b5ef497bfd2481adf848c5252faf38dccd7bf1", + "sha256:bf824aeff2cde789db1167c377573f1dbf2bf01e75eeb31651de00786ef09ed0", + "sha256:d3438bf0be646d61f8a60fb668c0c3b103963611462f35bf2db11ef50242f54f", + "sha256:d530ab882984188436f3869a2fc172086ab6b43a5f7502a86b241347a5441de3", + "sha256:e4be962e90035f362511eac65ad5c0242da15f73cfae27716de42b47f9d0a2a8", + "sha256:e5145fa63560901d7dbe26c5ee0dd5977f3783ab799fa04f50c50c207be78305", + "sha256:eb1a13c130a8a2ffc1c127a2bd581f45b9f10ec32a3892e41b5b1bdc9788b92d", + "sha256:ed798ab90f5230fe11079b269c3748bd875bc218c2ad4528ae2b4a04a0cd92b5", + "sha256:f55cf42cea67661ccea604b7774ba8cb1e467dadaf3d4c4b7f4e029faf43a46b" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.10" + "version": "==2.0.11" }, "boto3": { "hashes": [ - "sha256:4b40bf2c8494647c9e88c180537dc9fc0c1047a9fffbb1e5b0da6596f1e59b7b", - "sha256:992e994c7e481a5d3259c699574882b79d631a46f7c369bea350b7ccb0651317" + "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04", + "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "botocore": { "hashes": [ - "sha256:079f3288d38f97fd5656c25c44a94bea0e7090b938abfdeea463eaadb210c4a0", - "sha256:72df4af7e4e6392552c882d48c74e4be9bf7be4cd8d829711b312fbae13d7034" + "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6", + "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb" ], "markers": "python_version >= '3.8'", - "version": "==1.34.61" + "version": "==1.34.84" }, "cffi": { "hashes": [ @@ -157,7 +155,6 @@ "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==42.0.5" }, "jmespath": { @@ -170,10 +167,11 @@ }, "pycparser": { "hashes": [ - "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" ], - "version": "==2.21" + "markers": "python_version >= '3.8'", + "version": "==2.22" }, "pymysql": { "hashes": [ @@ -181,7 +179,6 @@ "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==1.1.0" }, "python-dateutil": { @@ -194,62 +191,102 @@ }, "s3transfer": { "hashes": [ - "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e", - "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b" + "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", + "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" ], "markers": "python_version >= '3.8'", - "version": "==0.10.0" + "version": "==0.10.1" }, "simplejson": { "hashes": [ - "sha256:034550078a11664d77bc1a8364c90bb7eef0e44c2dbb1fd0a4d92e3997088667", - "sha256:05b43d568300c1cd43f95ff4bfcff984bc658aa001be91efb3bb21df9d6288d3", - "sha256:0dd9d9c738cb008bfc0862c9b8fa6743495c03a0ed543884bf92fb7d30f8d043", - "sha256:10fc250c3edea4abc15d930d77274ddb8df4803453dde7ad50c2f5565a18a4bb", - "sha256:2862beabfb9097a745a961426fe7daf66e1714151da8bb9a0c430dde3d59c7c0", - "sha256:292c2e3f53be314cc59853bd20a35bf1f965f3bc121e007ab6fd526ed412a85d", - "sha256:2d3eab2c3fe52007d703a26f71cf649a8c771fcdd949a3ae73041ba6797cfcf8", - "sha256:2e7b57c2c146f8e4dadf84977a83f7ee50da17c8861fd7faf694d55e3274784f", - "sha256:311f5dc2af07361725033b13cc3d0351de3da8bede3397d45650784c3f21fbcf", - "sha256:344e2d920a7f27b4023c087ab539877a1e39ce8e3e90b867e0bfa97829824748", - "sha256:3fabde09af43e0cbdee407555383063f8b45bfb52c361bc5da83fcffdb4fd278", - "sha256:42b8b8dd0799f78e067e2aaae97e60d58a8f63582939af60abce4c48631a0aa4", - "sha256:4b3442249d5e3893b90cb9f72c7d6ce4d2ea144d2c0d9f75b9ae1e5460f3121a", - "sha256:55d65f9cc1b733d85ef95ab11f559cce55c7649a2160da2ac7a078534da676c8", - "sha256:5c659a0efc80aaaba57fcd878855c8534ecb655a28ac8508885c50648e6e659d", - "sha256:72d8a3ffca19a901002d6b068cf746be85747571c6a7ba12cbcf427bfb4ed971", - "sha256:75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841", - "sha256:76ac9605bf2f6d9b56abf6f9da9047a8782574ad3531c82eae774947ae99cc3f", - "sha256:7d276f69bfc8c7ba6c717ba8deaf28f9d3c8450ff0aa8713f5a3280e232be16b", - "sha256:7f10f8ba9c1b1430addc7dd385fc322e221559d3ae49b812aebf57470ce8de45", - "sha256:8042040af86a494a23c189b5aa0ea9433769cc029707833f261a79c98e3375f9", - "sha256:813846738277729d7db71b82176204abc7fdae2f566e2d9fcf874f9b6472e3e6", - "sha256:845a14f6deb124a3bcb98a62def067a67462a000e0508f256f9c18eff5847efc", - "sha256:869a183c8e44bc03be1b2bbcc9ec4338e37fa8557fc506bf6115887c1d3bb956", - "sha256:8acf76443cfb5c949b6e781c154278c059b09ac717d2757a830c869ba000cf8d", - "sha256:8f713ea65958ef40049b6c45c40c206ab363db9591ff5a49d89b448933fa5746", - "sha256:934115642c8ba9659b402c8bdbdedb48651fb94b576e3b3efd1ccb079609b04a", - "sha256:9551f23e09300a9a528f7af20e35c9f79686d46d646152a0c8fc41d2d074d9b0", - "sha256:9a2b7543559f8a1c9ed72724b549d8cc3515da7daf3e79813a15bdc4a769de25", - "sha256:a55c76254d7cf8d4494bc508e7abb993a82a192d0db4552421e5139235604625", - "sha256:ad8f41c2357b73bc9e8606d2fa226233bf4d55d85a8982ecdfd55823a6959995", - "sha256:af4868da7dd53296cd7630687161d53a7ebe2e63814234631445697bd7c29f46", - "sha256:afebfc3dd3520d37056f641969ce320b071bc7a0800639c71877b90d053e087f", - "sha256:b59aa298137ca74a744c1e6e22cfc0bf9dca3a2f41f51bc92eb05695155d905a", - "sha256:bc00d1210567a4cdd215ac6e17dc00cb9893ee521cee701adfd0fa43f7c73139", - "sha256:c1cb29b1fced01f97e6d5631c3edc2dadb424d1f4421dad079cb13fc97acb42f", - "sha256:c94dc64b1a389a416fc4218cd4799aa3756f25940cae33530a4f7f2f54f166da", - "sha256:ceaa28a5bce8a46a130cd223e895080e258a88d51bf6e8de2fc54a6ef7e38c34", - "sha256:cff6453e25204d3369c47b97dd34783ca820611bd334779d22192da23784194b", - "sha256:d0b64409df09edb4c365d95004775c988259efe9be39697d7315c42b7a5e7e94", - "sha256:d4813b30cb62d3b63ccc60dd12f2121780c7a3068db692daeb90f989877aaf04", - "sha256:da3c55cdc66cfc3fffb607db49a42448785ea2732f055ac1549b69dcb392663b", - "sha256:e058c7656c44fb494a11443191e381355388443d543f6fc1a245d5d238544396", - "sha256:fed0f22bf1313ff79c7fc318f7199d6c2f96d4de3234b2f12a1eab350e597c06", - "sha256:ffd4e4877a78c84d693e491b223385e0271278f5f4e1476a4962dca6824ecfeb" + "sha256:01f426ee9e3a2d205aa4c22c3da996b51f2de75c4199ef703258a28b304dea8c", + "sha256:03de1ec4ad734f28ca49b0a758b997d752be0d089ed30360157c4e8811999c8f", + "sha256:041dd69026284d10f035cefb4a75026d2cfcef31f31e62585eeb2b7776e7e047", + "sha256:05a668d4a93816fb8a644e90e7987aa3beeb9d2112ca50a474d41e6acb5bb88a", + "sha256:094275b1b8f003afce1167c8a674cd1ee2fd48c566632dac5d149901d5012ff8", + "sha256:097e48686e49026836ef384c7c10ca670acc023cb16a976a689c2eb6c1852df4", + "sha256:0cc9a47bf8cde85c99db5f4a919bb756e62427ade0f2e875a6ec89ae8492d486", + "sha256:0cdb5069870f7d26a34e5adc30672d0a7b26e652720530a023bb3a8d8a42e37f", + "sha256:0dcc54e7cfbd9674ec4ca181e26eaa5b038446601faeaa6c83d146ddef2f2652", + "sha256:16fbebfc38ad4285c256d2430797fd669b0437d090e985c6d443521d4303b133", + "sha256:1844d7782652f859d9648531778582d4842d80cfff8d334eb23bb8da0d22a1b0", + "sha256:2362c66d2c633925d90f2f177f05e0570d320d986130d34dff9ad6edbf7be8ac", + "sha256:29a86bc9c8a913a4e0ffab85c563a7505cdf4bd13fba05342f8314facc0b7586", + "sha256:2a6e5c0e0817fb20dbb880c83caebbd4ef39f1901f6f8e53b73a3c74de4e5172", + "sha256:2d1b47f768e1f4c1c8a9457effabed735939401e85c0ddcdf68444c88a9242e6", + "sha256:30e381471158290ccb79bd31e7bbda4c8f2cf7e1a5f6b557c1b97d6036ccd05b", + "sha256:313dfd911723dc3022fed7050a7b315d5d0681cd56eee08e44e2cbd39fd9ad81", + "sha256:32de1672f91a789cc9e1c36c406b2d75457a242d64e9e73a70b9b814ef00095e", + "sha256:340b7d085b4a5063aacb8664b1250e4a7426c16e1cc80705c548a229153af147", + "sha256:34d95ad8e27754f0d91917600d6ea273e05c82a71021f168c45be48637d9502f", + "sha256:3d549efc7e8f9a180c59462b124991b690ff25c235d5cf495c3246c66a7679cd", + "sha256:3dbfaa79b1c0efdb768392a19110f1aff793f3e8d43f57e292f46734b8affb45", + "sha256:44058bea97429cfa0d6fb1d8eb0736a77022f34a326d5bc64fd6fed8d9304571", + "sha256:46b8cc86204b51eddcf157cbaf3c44a20f24393030442af0909eeb961186cb67", + "sha256:47509775a5c41ec2a6cd17c9c00fc14965cad8e6670059663872ba5e39332f57", + "sha256:4b5df4ee48403885046c6f4fd8adc84c4ac0adec69482f22a17bd4ba52876341", + "sha256:544e5607142d66a469ecf78a3154ec0f915834dc3b8cfdb2677a78ca58319ad6", + "sha256:56d36f47bc7c7684504f0f18feb161a0b1162546b3622e45aa6155f8285180ac", + "sha256:5b217201efc007166e24e9a282007cc208a2d059350a7c5bd0b0303460ad3019", + "sha256:5c4f59dd358c3a99efa46d62dc1583be3a1c37171f5240c4cbdc2d5838870902", + "sha256:5d45ed9452a42064805143480397b586ea2ea322f4b8b69034c51181e7f38342", + "sha256:6197cfebe659ac802a686b5408494115a7062b45cdf37679c4d6a9d4f39649b7", + "sha256:65de5876e34780b43f92d9d2539de16ecc56d16f56e56e59b34adfa1cebe064f", + "sha256:676e8c182f8079851f12ae1cee2fcebe04def2da2a5703a9d747ab125af47732", + "sha256:682b202f56d9d9e1bb22eaca3e37321002223fd5ddef7189b9233e3c14079917", + "sha256:695da62e494e4689ab78fae173a78390a175b6a5ccc4292277ce0f8dba3945d5", + "sha256:6d65ea4582b47d77e9094c22eb0aeded0ebd96c1df86e988870b40c6514c6e21", + "sha256:706a7fc81ceeb321a1040d008b134056012188f95a5c31ad94fb03153b35cc84", + "sha256:7339bd6203351555c1e728acd601ba95ebce0f6041ebdb386e025f00af3f1769", + "sha256:7701a289d45fdfeb37f1d15cf638801cea439df667a613379443772a86e82936", + "sha256:7f27a079cb009ba569983061a50a9270b7e1d35f81e4eeaf0e26f8924027e550", + "sha256:827ddc3b3603f7d0421b054388da6face7871d800c4b3bbedeedc8778e4085ea", + "sha256:8ccc982197982cdda19e3e5ba4ef7f6ad6bed3eb39bb423bfbf7fa2cd29488ab", + "sha256:8f381747c2edebe3c750a571e55103bfcc33b2707a9b91ae033ab9ba718d976a", + "sha256:93ba80fbf959b5852554f23201a5f4b30885930c303546ffa883859a435ea3cf", + "sha256:9a50a9da1cf93e35f26c4ddee162abf3184a340339ec2d4001c34607b87e71b4", + "sha256:a1163bfe5d043c20adeb5c4c8e89dd1dd39b375c8ca6f1c1e35ec537ad7a12e7", + "sha256:a2285609b4edbf9957440642493788ebef6583042b3fb96217c2e71f29bc6d80", + "sha256:a255d30cda6334ba780eb40a56e8134efd3453948b995d3966e45212e34bf018", + "sha256:a3bba99178f1b25878752a8bc6da2f93fbae754ebd4914d2ac4b869b9fb24102", + "sha256:a56005332d70b8d02d476d4a85818b27b01e51dac1a21d5c1a1d8a5df2efb4a6", + "sha256:a89d7fe994b115f0a792e6673f387af3db812a1760d594abad51e0ea11d3e470", + "sha256:a8ac155e3fd3b54a63040df024e57e62c130b15a2fc66eff3c2a946f42beed52", + "sha256:ab5941e1fd509fc151258477ef4b663fe14c94f8faf3581827bf4b02080fd4ba", + "sha256:ab64f087c5863ac621b42e227e5a43bd9b28de581afe7be12ad96562b9be8203", + "sha256:ad37f25fd8dfbed80815c3281b82a165be2a74e663856b9a50099d18789987bc", + "sha256:b17026f3f349a6e87818cd3531e3bbb5cc78a6f4b2b6718f574a8e0512d71e08", + "sha256:b43d3c2e204d709af955bdb904ae127fe137363ace87fbf7dc8fe6017f7f8449", + "sha256:b482d1fdd8f860e743c7de8cd6dfe54fb9fe8cd6ccba29e2966912ac89e17b2f", + "sha256:b6c6cfc492710d8f0303705fa1ff7bb3d6a145f523384e45a6f3b13ada37021f", + "sha256:b9893852c559998f667e6434d2c2474518d4cdfd1b9cec8e57b3c9d577ba55c1", + "sha256:bd694c465cc61fa8e599355e535b6eb561279834d9883aeef08d0e86c44c300c", + "sha256:c0444423129df448788edc66a129bc7560ad7d6a661d74f0900959c0b44349a1", + "sha256:c37b092d29741096c4723f48924a80b1d3de62ca1de254ce88178fa083dd520c", + "sha256:ced906b172bfad62736a27cfafcb6e24bc9938533b0529ff8150f7926fe35b54", + "sha256:d0d3b9f7cee233368d92c89746dde74313abafaa3ec1f0c06a3f4f164dc27bcc", + "sha256:d5f67bffa6fc68e391b2250e1feb43d534ded64a7b918eb89cf7e3e679759d94", + "sha256:d9f0dfde448611f4f818da05f9b544a78f29355dc39151b0dad8e7c65c513e4f", + "sha256:da6dc0cb00ef1e1a8daf285074ca8b2bb89591170c42ceab0c37bcdb9adc802c", + "sha256:dc74a9ef4d61e18ee6f1886b6ef1fe285b1f432885288afacfb7402f7d469448", + "sha256:deb71e6166e4f1264174d78b5b88abd52b14c6649e6eabaf9cf93cb1c7362850", + "sha256:e042ae053e05fe193514d51d6b0f0243729961901e9a75f8b596bfaf69522c52", + "sha256:e2f87a483c4ab0bb2a9adc9ca09173e7f7cf3696e4fa67bd45a6b33181e57921", + "sha256:e2fa1ee5ca34ab2ecfbe3f7a7e952a1ecaebb5b4818f002b5b146324912ac3d5", + "sha256:e7d3f7cd57ce0c6a5bb8133f8ed5c3d1be0473a88b7d91a300626298f12d0999", + "sha256:edb334cab35dcd90eb563fdacb085f10e5dd0b1acb57fa43f8933308b42a8f88", + "sha256:efae49d0148ec68b6e012f1b9e19bd530f4dced378ba919e3e906ae2b829cc31", + "sha256:f1085cadec0f7e76377951d7a87744628c90ac6cc634fc97eecce0c4d41ec563", + "sha256:f15f56b3119fb71fa57eb4613bcd87eb7df6c2f3547de7d341853d3e50cef97e", + "sha256:f1b425a857ce52e651739314e4118fc68bd702ef983148b8fd5cb6f68bb6a020", + "sha256:f31e126204ec38f92dee119af87cf881044ef7dea6f7477ef774ed3d84199c24", + "sha256:f5e0a03e533313eee9437ccc6c4eab47369f17bc919b57df4a20ccd8bc85d8fd", + "sha256:f85d87986ca375b8305b5c4f166783b8db383a6469e8b99b8dba22878388f234", + "sha256:fa6fe8fa94a831886ee164ac03514f361e1387a62a1b9da32fde5c0c1f27fa8d", + "sha256:fb0f8b35c11fd8e4b924f974d331b20fa54555282451db7f2a3b24bd2d33cc11" ], "markers": "python_version >= '2.5' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==3.17.2" + "version": "==3.18.4" }, "six": { "hashes": [ @@ -271,12 +308,11 @@ "develop": { "autopep8": { "hashes": [ - "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", - "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c" + "sha256:1fa8964e4618929488f4ec36795c7ff12924a68b8bf01366c094fc52f770b6e7", + "sha256:2bb76888c5edbcafe6aabab3c47ba534f5a2c2d245c2eddced4a30c4b4946357" ], "index": "pypi", - "markers": "python_version >= '3.6'", - "version": "==2.0.4" + "version": "==2.1.0" }, "flake8": { "hashes": [ @@ -284,7 +320,6 @@ "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.0.0" }, "mccabe": { diff --git a/rds_mysql/stored_procedure/crm_data_sync.sql b/rds_mysql/stored_procedure/crm_data_sync.sql new file mode 100644 index 00000000..bb3f3354 --- /dev/null +++ b/rds_mysql/stored_procedure/crm_data_sync.sql @@ -0,0 +1,48 @@ +-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する +-- $$から始まる文字は後からREPLACEする文字を示す独自ルール +-- crm_data_syncストアドプロシージャは、同一セッション内での並列処理を実行することができない +-- 実行者の権限でストアドプロシージャを実行するために、「SQL SECURITY INVOKER」を付与している +CREATE PROCEDURE src02.crm_data_sync(target_table VARCHAR(255), target_table_all VARCHAR(255), target_column VARCHAR(255)) +SQL SECURITY INVOKER +BEGIN + -- 例外処理 + -- エラーが発生した場合に一時テーブルの削除を実施 + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + GET DIAGNOSTICS CONDITION 1 + @error_state = RETURNED_SQLSTATE, @error_msg = MESSAGE_TEXT; + ROLLBACK; + SIGNAL SQLSTATE '45000' + SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg; + END; + + SET @error_state = NULL, @error_msg = NULL; + START TRANSACTION; + + -- ①-1 Salesforce側で物理削除されたデータを検出し更新する + SET @update_end_datetime = ' + UPDATE $$target_table$$ tt + SET + tt.end_datetime = CURRENT_TIMESTAMP () + , tt.upd_user = CURRENT_USER () + , tt.upd_date = CURRENT_TIMESTAMP () + WHERE + tt.end_datetime = "9999-12-31 00:00:00" + AND NOT EXISTS ( + SELECT + tta.Id + FROM + $$target_table_all$$ tta + WHERE + tt.Id = tta.Id + AND tt.$$target_column$$ = tta.$$target_column$$ + ) + '; + SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_table$$", target_table); + SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_table_all$$", target_table_all); + SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_column$$", target_column); + PREPARE update_end_datetime_stmt from @update_end_datetime; + EXECUTE update_end_datetime_stmt; + + COMMIT; +END diff --git a/rds_mysql/stored_procedure/crm_history.sql b/rds_mysql/stored_procedure/crm_history.sql new file mode 100644 index 00000000..cc94bbfb --- /dev/null +++ b/rds_mysql/stored_procedure/crm_history.sql @@ -0,0 +1,95 @@ +-- A5M2で実行時に[SQL] - [スラッシュ(/)のみの行でSQLを区切る]に変えてから実行する +-- $$から始まり$$で終わる文字は後からREPLACEする文字を示す独自ルール +-- crm_historyストアドプロシージャは、同一セッション内での並列処理を実行することができない +-- 実行者の権限でストアドプロシージャを実行するために、「SQL SECURITY INVOKER」を付与している +CREATE PROCEDURE src02.crm_history(target_table VARCHAR(255), target_column VARCHAR(255)) +SQL SECURITY INVOKER +BEGIN + -- 例外処理 + -- エラーが発生した場合に一時テーブルの削除を実施 + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + GET DIAGNOSTICS CONDITION 1 + @error_state = RETURNED_SQLSTATE, @error_msg = MESSAGE_TEXT; + EXECUTE drop_tmp_table_stmt; + DEALLOCATE PREPARE drop_tmp_table_stmt; + ROLLBACK; + SIGNAL SQLSTATE '45000' + SET MYSQL_ERRNO = @error_state, MESSAGE_TEXT = @error_msg; + END; + + SET @error_state = NULL, @error_msg = NULL; + START TRANSACTION; + + -- ②-3で利用する一時テーブル削除のSQLを準備 + -- 例外処理でも利用するため先に記述 + SET @drop_tmp_table = ' + DROP TEMPORARY TABLE IF EXISTS $$target_table$$_make_history_tmp + '; + SET @drop_tmp_table = REPLACE(@drop_tmp_table, "$$target_table$$", target_table); + PREPARE drop_tmp_table_stmt from @drop_tmp_table; + + -- ①-1 Salesforce側で更新されたデータの適用開始日時と適用終了日時を設定する + SET @new_history_save = ' + UPDATE $$target_table$$ + SET + start_datetime = $$target_column$$ + , end_datetime = "9999-12-31 00:00:00" + , upd_user = CURRENT_USER() + , upd_date = CURRENT_TIMESTAMP() + WHERE + start_datetime IS NULL + AND end_datetime IS NULL + '; + SET @new_history_save = REPLACE(@new_history_save, "$$target_table$$", target_table); + SET @new_history_save = REPLACE(@new_history_save, "$$target_column$$", target_column); + PREPARE new_history_save_stmt from @new_history_save; + EXECUTE new_history_save_stmt; + DEALLOCATE PREPARE new_history_save_stmt; + + -- ②-1 Salesforce側で更新されたデータを検出用一時テーブルの作成 + SET @make_history_tmp_create = ' + CREATE TEMPORARY TABLE $$target_table$$_make_history_tmp + SELECT + Id + , MIN($$target_column$$) AS min_start_datetime + , MAX(start_datetime) AS max_start_datetime + FROM + $$target_table$$ + WHERE + end_datetime = "9999-12-31 00:00:00" + GROUP BY + Id + HAVING + count(Id) = 2 + '; + SET @make_history_tmp_create = REPLACE(@make_history_tmp_create, "$$target_table$$", target_table); + SET @make_history_tmp_create = REPLACE(@make_history_tmp_create, "$$target_column$$", target_column); + PREPARE make_history_tmp_create_stmt from @make_history_tmp_create; + EXECUTE make_history_tmp_create_stmt; + DEALLOCATE PREPARE make_history_tmp_create_stmt; + + -- ②-2 「②-1」で取得した全件に更新処理を行う + SET @update_end_datetime = ' + UPDATE $$target_table$$ tt + INNER JOIN $$target_table$$_make_history_tmp mht + ON tt.Id = mht.Id + AND tt.start_datetime = mht.min_start_datetime + SET + end_datetime = mht.max_start_datetime - INTERVAL 1 SECOND + , upd_user = CURRENT_USER() + , upd_date = CURRENT_TIMESTAMP() + '; + SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_table$$", target_table); + SET @update_end_datetime = REPLACE(@update_end_datetime, "$$target_column$$", target_column); + PREPARE update_end_datetime_stmt from @update_end_datetime; + EXECUTE update_end_datetime_stmt; + DEALLOCATE PREPARE update_end_datetime_stmt; + + -- ②-3 「②-1」で作成した一時テーブルを削除する + EXECUTE drop_tmp_table_stmt; + DEALLOCATE PREPARE drop_tmp_table_stmt; + + COMMIT; + +END diff --git a/s3/config/crm/last_fetch_datetime/Medical_Event_vod__c.json b/s3/config/crm/last_fetch_datetime/Medical_Event_vod__c.json deleted file mode 100644 index 7453dc17..00000000 --- a/s3/config/crm/last_fetch_datetime/Medical_Event_vod__c.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "last_fetch_datetime_from": "1900-01-01T00:00:00.000Z", - "last_fetch_datetime_to": "" -} diff --git a/s3/config/crm/object_info/crm_object_list_diff.json b/s3/config/crm/object_info/crm_object_list_diff.json index e4b17fdd..82a19d57 100644 --- a/s3/config/crm/object_info/crm_object_list_diff.json +++ b/s3/config/crm/object_info/crm_object_list_diff.json @@ -781,7 +781,8 @@ "MSJ_CE_SIPAGL_5__c", "MSJ_CE_SIPAGL_Comment__c", "MSJ_CE_SIPAGL_1A_date__c", - "MSJ_CE_SIPAGL_6__c" + "MSJ_CE_SIPAGL_6__c", + "MSJ_mc_campaign_code__c" ], "is_skip": false, "is_update_last_fetch_datetime": true diff --git a/s3/data/crm/settings/CRM_Medical_Event_vod__c.txt b/s3/data/crm/settings/CRM_Medical_Event_vod__c.txt index 9fbad221..e5ace5f1 100644 --- a/s3/data/crm/settings/CRM_Medical_Event_vod__c.txt +++ b/s3/data/crm/settings/CRM_Medical_Event_vod__c.txt @@ -4,9 +4,9 @@ utf-8 " CRLF 1 -52 -Id,OwnerId,IsDeleted,Name,RecordTypeId,CreatedDate,CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,LastActivityDate,MayEdit,IsLocked,LastViewedDate,LastReferencedDate,Primary_Product__c,Description_vod__c,Start_Date_vod__c,Location__c,End_Date_vod__c,Secondary_Product__c,Website__c,Active_vod__c,Event_Type__c,MSJ_Area__c,MSJ_Business_Unit__c,MSJ_Comment__c,MSJ_Company__c,MSJ_Expense_App_No__c,MSJ_Form__c,MSJ_HQ_Area__c,MSJ_Location__c,MSJ_MR__c,MSJ_Number_of_Attendee__c,MSJ_Product__c,MSJ_Site__c,MSJ_Type__c,MSJ_Number_of_Attendee_Auto_Calc__c,MSJ_Number_of_Attendee_Invited__c,Account_vod__c,MSJ_MUID__c,Country_Name_vod__c,MSJ_CE_SIPAGL_Updater__c,MSJ_CE_SIPAGL_1A__c,MSJ_CE_SIPAGL_1B__c,MSJ_CE_SIPAGL_2__c,MSJ_CE_SIPAGL_3__c,MSJ_CE_SIPAGL_4__c,MSJ_CE_SIPAGL_5__c,MSJ_CE_SIPAGL_Comment__c,MSJ_CE_SIPAGL_1A_date__c,MSJ_CE_SIPAGL_6__c -Id,OwnerId,IsDeleted,Name,RecordTypeId,CreatedDate,CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,LastActivityDate,MayEdit,IsLocked,LastViewedDate,LastReferencedDate,Primary_Product__c,Description_vod__c,Start_Date_vod__c,Location__c,End_Date_vod__c,Secondary_Product__c,Website__c,Active_vod__c,Event_Type__c,MSJ_Area__c,MSJ_Business_Unit__c,MSJ_Comment__c,MSJ_Company__c,MSJ_Expense_App_No__c,MSJ_Form__c,MSJ_HQ_Area__c,MSJ_Location__c,MSJ_MR__c,MSJ_Number_of_Attendee__c,MSJ_Product__c,MSJ_Site__c,MSJ_Type__c,MSJ_Number_of_Attendee_Auto_Calc__c,MSJ_Number_of_Attendee_Invited__c,Account_vod__c,MSJ_MUID__c,Country_Name_vod__c,MSJ_CE_SIPAGL_Updater__c,MSJ_CE_SIPAGL_1A__c,MSJ_CE_SIPAGL_1B__c,MSJ_CE_SIPAGL_2__c,MSJ_CE_SIPAGL_3__c,MSJ_CE_SIPAGL_4__c,MSJ_CE_SIPAGL_5__c,MSJ_CE_SIPAGL_Comment__c,MSJ_CE_SIPAGL_1A_date__c,MSJ_CE_SIPAGL_6__c +53 +Id,OwnerId,IsDeleted,Name,RecordTypeId,CreatedDate,CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,LastActivityDate,MayEdit,IsLocked,LastViewedDate,LastReferencedDate,Primary_Product__c,Description_vod__c,Start_Date_vod__c,Location__c,End_Date_vod__c,Secondary_Product__c,Website__c,Active_vod__c,Event_Type__c,MSJ_Area__c,MSJ_Business_Unit__c,MSJ_Comment__c,MSJ_Company__c,MSJ_Expense_App_No__c,MSJ_Form__c,MSJ_HQ_Area__c,MSJ_Location__c,MSJ_MR__c,MSJ_Number_of_Attendee__c,MSJ_Product__c,MSJ_Site__c,MSJ_Type__c,MSJ_Number_of_Attendee_Auto_Calc__c,MSJ_Number_of_Attendee_Invited__c,Account_vod__c,MSJ_MUID__c,Country_Name_vod__c,MSJ_CE_SIPAGL_Updater__c,MSJ_CE_SIPAGL_1A__c,MSJ_CE_SIPAGL_1B__c,MSJ_CE_SIPAGL_2__c,MSJ_CE_SIPAGL_3__c,MSJ_CE_SIPAGL_4__c,MSJ_CE_SIPAGL_5__c,MSJ_CE_SIPAGL_Comment__c,MSJ_CE_SIPAGL_1A_date__c,MSJ_CE_SIPAGL_6__c,MSJ_mc_campaign_code__c +Id,OwnerId,IsDeleted,Name,RecordTypeId,CreatedDate,CreatedById,LastModifiedDate,LastModifiedById,SystemModstamp,LastActivityDate,MayEdit,IsLocked,LastViewedDate,LastReferencedDate,Primary_Product__c,Description_vod__c,Start_Date_vod__c,Location__c,End_Date_vod__c,Secondary_Product__c,Website__c,Active_vod__c,Event_Type__c,MSJ_Area__c,MSJ_Business_Unit__c,MSJ_Comment__c,MSJ_Company__c,MSJ_Expense_App_No__c,MSJ_Form__c,MSJ_HQ_Area__c,MSJ_Location__c,MSJ_MR__c,MSJ_Number_of_Attendee__c,MSJ_Product__c,MSJ_Site__c,MSJ_Type__c,MSJ_Number_of_Attendee_Auto_Calc__c,MSJ_Number_of_Attendee_Invited__c,Account_vod__c,MSJ_MUID__c,Country_Name_vod__c,MSJ_CE_SIPAGL_Updater__c,MSJ_CE_SIPAGL_1A__c,MSJ_CE_SIPAGL_1B__c,MSJ_CE_SIPAGL_2__c,MSJ_CE_SIPAGL_3__c,MSJ_CE_SIPAGL_4__c,MSJ_CE_SIPAGL_5__c,MSJ_CE_SIPAGL_Comment__c,MSJ_CE_SIPAGL_1A_date__c,MSJ_CE_SIPAGL_6__c,MSJ_mc_campaign_code__c src02.crm_Medical_Event_vod__c org02.crm_Medical_Event_vod__c