diff --git a/scratch-sessions/link_sales_queries.clj b/scratch-sessions/link_sales_queries.clj new file mode 100644 index 00000000..69c7a5b8 --- /dev/null +++ b/scratch-sessions/link_sales_queries.clj @@ -0,0 +1,382 @@ + +(ns link-sales-queries + (:require [datomic.api :as d] + [auto-ap.datomic :refer [conn]] + [auto-ap.routes.queries :refer [get-query]])) + +(def recently-used-query-ids (into #{} + [ + +"0038c919-fac7-4452-b3f8-3797dd0b46f7" +"0092f4cb-f117-4928-8851-186ec9c8d809" +"01609097-1d76-4986-8ca2-8cb6267ed522" +"05704445-dd45-438a-af96-0683fc44bb5a" +"071a24f4-9408-4ad0-adbc-02edae0bd26f" +"076bae65-4349-428e-9c73-facc56b61e2c" +"07e7e0fc-c017-401f-a109-c90b9fd082c5" +"07edda39-9271-48ea-bf3b-da0ba353d7e0" +"07ffd585-b5ed-4669-990b-b53aba2e057d" +"0809ece4-33f5-4130-9ce9-86aeac93a85c" +"0961aa9a-16d4-4e17-b57f-888172dc7143" +"0befcce6-fd81-4a0f-a235-a646eace310f" +"0d94e279-ddf4-429e-b0d2-f593c58e8d3c" +"0eb31fc3-7e30-44a2-a1ea-82b2c801eaee" +"108126a5-40db-4b14-8bb7-af5e07c3cc24" +"1324f59b-cb56-4ef6-8674-35d0da3ca2e1" +"1366a2fd-af45-4074-b83c-e96f96bb9838" +"13c8252b-e308-4e3f-acb5-cf7a92624120" +"147d58e9-92df-4cf9-b3af-33502c5829c5" +"1578dc56-892f-4098-b299-5edbbf9fd170" +"1613f261-b0d9-455f-a6b1-5e78813657a6" +"16bb1450-2315-4fec-b725-a5e5d17e4199" +"187f9193-bc13-46e2-81f2-77f3654b17a6" +"1969454d-c059-40ff-ab15-1fb14481a9c7" +"19794ab0-5ea0-4332-8f06-a0d55e2ba239" +"1abf057d-d95f-4944-a789-d02d616c74a0" +"1c3d1b2e-f56c-4bfd-be71-a0cd97b45a3b" +"1cae2f63-90c8-49be-a1a2-800e9a49b7db" +"1cc149ff-20b5-4c2c-8028-2fd5acc076e8" +"1e699d12-7467-46a2-8382-307204e6820c" +"1f58325f-ef50-4939-9454-a969821c9655" +"2118a7b3-aac5-4cc6-a40e-67e330f03a62" +"21500e54-9b55-4075-b4fb-0f2b584743c4" +"2152df59-2907-4806-97c2-2545ad80fe77" +"21c8b59e-854f-4864-8858-fa927c050d6f" +"22577a02-3b07-4919-a108-5a09f45fff8c" +"227b7d2e-e9ee-41e4-835c-11cbdb146f1b" +"23f47199-9fe4-40d3-99eb-ebe497705132" +"24a460ca-14c0-4069-8f7f-cc685494b280" +"24e6642b-c4c0-4b67-bd6f-83b154681999" +"250d9b86-3c46-4e38-a7a0-e6a5d03365e7" +"25214e3d-96d0-4a00-b35b-532f4b6878d2" +"25660b8e-0614-47ee-b738-86a5b8b17480" +"26f59aa8-c5d0-44c3-9e30-1de62138ff37" +"29502c65-b95a-45bc-a78c-6974a94aa6eb" +"2aa3724b-5c65-41d7-a7d6-552aca7c4da1" +"2ab4e4f2-2a75-4e33-adfc-d830bb9d0aab" +"2b9e5cae-a472-4dc4-a448-f7db5d836352" +"2c07cc61-1d2d-44c2-b1e2-cae24a8a5cf8" +"2df4b048-a10e-4e5b-8647-7a738623d928" +"2f0abd7b-6b09-4733-8b68-348ccefeabaa" +"2fc4e899-ad27-4ff7-8274-ed01fd3ad1c6" +"3146906d-2583-491d-99f3-fdbf2611356d" +"3186aaef-fe76-45a0-bc33-8b18b2679f36" +"33364076-a45f-4126-9cc8-5fb62d222534" +"33768184-46f3-42b5-885c-ede317c51acc" +"35f10271-655c-4344-b92d-9173439f88ed" +"364e625a-90a7-4832-ba2a-64708624cb94" +"368d2017-40dd-4af0-a335-3589c8c778dc" +"36916953-5c77-4887-b4f2-35db1bdf42d2" +"36ec8579-26f4-441a-9bab-87cf08a8ae82" +"381da2b4-9261-478a-95fd-d4c57ab324a6" +"39a4e69e-c2aa-4eb2-bd0b-c1c92f7ac237" +"3c75f3c5-574e-4474-91ec-c87d09d6df3b" +"3cf981e8-4d7b-42f6-9690-98901af20e4d" +"3e7d49ed-28b1-43a3-aaaf-e9741938219e" +"41087be4-4053-46a8-850e-6a82abc8c129" +"4292d24d-43c3-4c90-97c2-e552494e9e47" +"43f67122-a644-4608-9f7c-e91351dc433e" +"44454e84-fdd5-4383-bfe2-117e19dc9be0" +"46abe60e-8a0a-4c88-933a-9b837d14ea8a" +"46f02edd-59ee-4251-be81-9dc8e7caf018" +"481ad1f0-c6b6-4614-a255-a240a0b831d5" +"495da0d9-faa2-4ca2-b393-58314f93f886" +"4a01c35b-6c2f-4c9d-bd7a-d2eddaefdb56" +"4ac83d7d-d8f8-4eec-86a2-469a1caf6fe0" +"4b02b2c3-4348-443f-bcd9-266084929406" +"4b2ec6e2-7c8b-4921-8150-f37df68816c7" +"4b8a6ac0-816d-401f-afea-2a564728fcc8" +"4d90e0e0-aa68-41a1-a97c-d1e57a9df76d" +"4d9ed0ef-8832-4708-9e70-c45029c88e1c" +"4da5d16d-f991-4e3b-a591-89f0ffaf7b23" +"4dc1a437-2f09-4260-8428-1872e5458d3f" +"4de1a837-7a13-4ccc-aae5-fa9072863b00" +"4f523a4a-1f76-4e74-b3d3-4382175861d7" +"5046c976-d978-4a7e-9887-664a178fc64b" +"50612670-5d12-4165-8be5-d7aa823ea526" +"53b9c19c-be0a-4091-922e-ae83b252f633" +"54071177-22fe-426b-8b4a-57315a97f20c" +"541f4b8a-0872-4ebd-96d2-b539a4b8bbc9" +"54aa01de-078e-47be-99c8-879a8c0f0885" +"54b9bf6b-99d3-408f-b696-96f255f0f073" +"54d16b74-ec87-4293-b913-f112f6ebcaa4" +"55160179-5f0e-46d7-9524-7cfc4c694932" +"5592125c-e667-4a2f-be4a-75e733805807" +"55dc3170-bb10-4d70-9a4c-36d7a5ed2d9b" +"58bdcfd3-bbf3-4fc4-bea8-6cdce88c8141" +"5945c701-bc32-4c32-8135-9a6a94df35ed" +"5a146c03-b1fc-4509-8b8a-8a672af7f041" +"5b2ebaec-dabb-4b9a-ae4f-d0f2d4c24d29" +"5b5450bc-8a48-49a2-9be4-2352bf07e563" +"5c0c3780-3ba0-47ae-9791-e2173e6619a9" +"5cd8e3ee-0cdf-45a1-acae-8cd0981e979f" +"5d3ef59a-9e80-4983-ac6b-c018d0158c29" +"5d9be3e6-beeb-4009-be11-f1a775f65ab1" +"5f09b020-942b-4f89-979d-8ef57a63f7fa" +"610a0a3a-8e38-4945-bed4-bfbae4715ebf" +"6113c065-4b84-401e-bda8-f56c8826ef82" +"6135aff0-a366-4ee0-a226-c435e4fe7f70" +"6185835a-bbe5-4e3f-bf16-53a69ba9116e" +"61d80803-456c-41c0-81dd-4e9b791ca64d" +"61fef016-84ba-4de1-96b6-1d73b7cff444" +"636309b1-80c0-4825-9626-18b813b6801c" +"645bdbb5-c512-4d6b-9d5e-4f1f92c47b0d" +"650da228-a427-4f58-8426-6d4e9c3a3658" +"65c2171e-a512-4a7a-8c82-686227500f2d" +"664610ae-c625-4168-93bd-5c6cb2034d07" +"6781fc5a-ab82-4576-b383-0adb5c625730" +"6c1a979e-55dc-4fd0-85e8-e38684439d2b" +"6cddebf7-7710-4189-8e3b-f79a3e5408f6" +"6ec69922-8e8a-44b4-a391-22119f05b28a" +"6fe9f170-dc25-4ce2-b872-a90ee3398a16" +"707882eb-9ebc-4e96-8b21-819ea5350f2b" +"7207e3e5-dbcf-48d2-860f-53c391df9c90" +"721af203-47af-487a-b4e0-476d4725a852" +"7294f83d-f646-4683-a1d0-983ded56d8b5" +"72a0e580-fb4a-411c-a0f9-13d5e911e3b1" +"7375e550-147d-46a3-b891-bec17c7097b1" +"7429a55c-0874-4169-a51e-e556e8e9ed5c" +"75eca05c-576c-4900-8e48-0fb565693137" +"764c097d-9b39-4ba5-93e5-8c39ce8fae60" +"7749ec77-8980-400e-8716-52822319fb5e" +"77896f42-6ecc-4eb8-9ef0-52cad05dee06" +"77aa3d42-a0fe-4cbf-8854-f71ed5712c7d" +"7828b978-f66e-481f-8d39-8e7bd7308121" +"782935e4-1580-4006-ab62-79ffdd8b1690" +"78952f2d-2897-4182-945a-51a19492751c" +"799b301d-2606-4f15-ae50-ff8b2e94a489" +"7aaf8a58-989a-4cc5-a5c4-daedff3fe28d" +"7aca8d70-7b54-4e48-8bac-dd241f064087" +"7ce94643-210c-48ab-8e73-bd6d06e02a0b" +"7d1ea5b4-bfae-4c7f-95c6-3043e94b949c" +"7e4a7c84-f09a-46b2-8aaf-38fd9e1e9da1" +"7fc6f6e2-5d3b-459d-abaf-df9a27340cf1" +"8017a16e-1349-4f0d-8bdc-25292834b75f" +"82aa415a-8008-4b90-8423-6fadef5ef6da" +"835a703a-cf44-43f6-b3b4-348f1f02ddae" +"85b1f2e4-14c4-4bf0-b1fc-3998b207c484" +"85b29509-0754-4319-bf5f-02343507e035" +"85e3ecba-9f89-4610-a08b-c4642c772fb6" +"86938afd-d187-4e89-9e83-4f536261f864" +"87e72b7f-be48-4bb9-b745-0b2dae526e11" +"88361bf5-8332-413a-81c8-7c603e4fb19d" +"8846560c-aa7a-4dbf-9b9d-a0b752479171" +"886c9bf3-7f89-4525-9c20-954e9743989c" +"8871b95c-5a39-444d-b788-ad1de568d048" +"896b2e8e-e7d5-408a-a8b9-dd4c9033b1ef" +"8a9c829f-ec6d-4725-91c4-47aa87109973" +"8ac7996d-17ff-4071-8441-4ceabde9ee34" +"8db3adbe-2a86-497c-93ca-33641f4b0783" +"8dd217c4-d887-4730-8b5e-c42caed08546" +"8e5ad747-a07c-4ddb-a66d-392d8e2f4ecd" +"8ed68d14-c608-49e3-9259-2a1dd82e23ea" +"8f6b5413-bf1f-4690-9287-d4f24b25a9b4" +"9096178b-1d36-429b-8e19-233a7301e698" +"9110582e-bebc-4218-8ead-e804aa36285c" +"91331d99-7570-4219-a464-50af52c56a69" +"936c7e46-1b07-42dc-95fc-330aa474303b" +"939a6224-d2fa-4534-9f24-ec0de83f6583" +"940c1199-cd67-4232-90a7-bb1299542bc2" +"94336348-84cb-410a-b3b8-a9a2588e0d65" +"94ad68c7-118e-46cd-a59a-a6eb968e5eb5" +"96574a35-e835-4fc8-91dc-3ffa1e371062" +"9b10defe-61d1-423a-8b3b-6413fe65b9e5" +"9c473534-bda4-4bc2-b2aa-998f88584880" +"9d80aace-bcc4-426b-99f4-6bec8658f6ca" +"a15e4880-e288-48e1-8249-6f67de9979c6" +"a1a8979c-5a08-490e-a11c-c1405c2a308c" +"a333d665-be87-46f4-a2d2-c8eb941e9787" +"a39b8514-4957-4516-b65e-8cd95dbf9c06" +"a4179936-9a3e-4116-aa56-f7616e16f39f" +"a4364c8e-7fb9-4606-b4d3-b117fd08c4b4" +"a4ce7b8e-8058-4666-82a2-343297ff7c55" +"a5b505dd-d03c-471f-975a-4ff99be8f836" +"a6378d74-0fc3-46b8-9823-844cfe0a331d" +"a7e36435-e3fa-49fb-972a-4a8930523956" +"a93f2dec-d583-4fc2-a795-825034ef375d" +"a9693ae7-c781-47a8-83e3-e63371a61f60" +"aa100a71-55d6-433f-a17a-4cd2395a014f" +"aaf62fac-1dc0-49e5-879d-a48672c68492" +"abfbc17f-4a41-493b-93ba-f2b5dff160c0" +"ac69825d-998f-47a7-a7b7-8042ccae59a0" +"ac93831d-0e6e-43d8-bedd-472a6506368c" +"acc7e104-289b-4501-874d-bb0062b7d84e" +"adbcf87c-82db-4f92-be00-445024f54288" +"ae0a1b49-7e73-4f17-a00a-2c87dcbef1e7" +"ae365ae7-a219-45c2-856d-5a1dad69c7ae" +"afc1182e-eaa9-4ea6-8c8b-e45b21f55e46" +"afc872bb-0c98-4f59-a4e1-b1cb793abd2c" +"b02f79d0-e331-4cbc-b55b-e0f871f5c5ee" +"b0697c87-7c16-4990-b2ba-0dba053d691c" +"b08a83fe-c6cb-406f-ba61-b378d3e1db00" +"b1c3a57c-028c-4ed5-9e38-d98b8e208e64" +"b474370f-c2c9-420e-8de6-c0266c5f9139" +"b4e575c2-b711-41b1-abcb-3fe925d8320f" +"b6306971-b356-4f8c-acd8-85c971a6c327" +"b7b15326-0dc2-44bc-9895-0fac8c595abe" +"b7e500a8-9db4-4f63-843d-ef0a1283e078" +"b80c2c1d-97e9-49b4-9dc3-6f193a381e8a" +"b90bc63e-e35c-4f05-8026-06421f74dc51" +"b971d6e2-df9a-4489-a146-a0d093dde93c" +"babb0abc-14e1-44f5-ad11-57fcdacdf83c" +"baeacd89-796a-4861-a4a8-5936473a09c9" +"baff8923-7dad-47e0-9fa0-3bb23d57441a" +"bbdc35f4-f940-4804-b0a9-283dafdb5203" +"bc241896-18b5-4170-a805-9c17a82f5d46" +"be7a3bc6-af9b-4c12-ac46-be5e4aabcb98" +"be99afb4-d43d-43de-94d9-da9fdc261e1c" +"c07f6000-5ca2-4935-80a3-ee4febf6effc" +"c08c0877-f78a-4808-ae8b-400e4d97b960" +"c6bddaac-9c7a-4ce3-be7a-d986596f974e" +"c70dbad3-7b01-468e-845d-f2010f79dc54" +"c8ce2f5c-8394-4910-ad97-71bcecd95c7e" +"c97cc895-6e6e-44ed-9bd8-0e0ca7b36395" +"c9bd2da9-175f-43f5-83a1-447a174dada0" +"ca84b2ff-d646-4d3c-9a7a-479871ff7578" +"cb51c967-1f65-46b5-a2a8-6c654d0077b3" +"cc20f787-edea-4976-b028-5d5289cde606" +"ce50bea5-f36c-47b8-973f-96997ea64dac" +"cf581059-f1b5-4eda-82e4-71b7f1f4e4ec" +"d027dd43-fbe4-49f7-b982-12db69bc6d38" +"d08e4e9a-e50e-46d7-bb88-7aeda7ff109d" +"d0933ec2-1138-4554-b498-e0ef67ac589f" +"d25e9b98-6819-4bd0-bfe8-9a3942757c95" +"d26028b5-9e3a-4825-b1af-23373e5fec17" +"d27a2278-4c11-436f-bd02-4be744c08112" +"d497e98c-73f7-4906-808f-e442570490be" +"d59a0937-a540-4dc2-9dd6-c7c37d02b312" +"d757c9e8-18e1-4f71-b548-770f9197f348" +"d82e201e-56db-47cc-9b02-97ca26d0120a" +"d843b66a-c82a-4bd9-98fd-9538c714bdc5" +"d9500b1d-4ae3-44af-b363-834aae9b10fa" +"db248502-4b31-41d8-9600-c41cdab6d455" +"dc1f6089-2859-4bd8-874c-4b5f326251d1" +"ddaa432b-a967-4827-a193-02144486f921" +"de2ae538-8ef3-4038-82ff-6fb5925662e0" +"dfca3c76-2d44-4bcf-a3be-8290c26c74ef" +"e02beaef-3325-4072-a01b-9cedfcce7323" +"e0a2eac2-456f-4d8a-b0cd-c7bfefdd6ff0" +"e0c1987a-5970-45c4-8fe7-1feb61bc379b" +"e13290e9-58cf-426e-bdfb-61dce21bf9bf" +"e1340f33-1213-482e-9364-616708f8c110" +"e1b75c5b-14ef-4daf-a79d-ea7322e589d7" +"e28f4495-370b-44db-a70c-d4db273a687a" +"e30be873-0d26-4708-8cd4-93eb24f2e7c1" +"e58de4a6-995a-4b10-99ef-36a7f743dcd7" +"e5e31d0b-a303-4f63-926e-3194b0c0cf7a" +"e5eeb7e0-1c80-4967-a697-7c3c5eaeb070" +"e6159324-5c0c-442a-9dca-f8d4a4b2063e" +"e6330966-697a-47e3-8223-f685b4f8792b" +"e69de24b-c013-4259-8af1-7828b9b1cff6" +"e6d67881-7339-4566-aaf7-6b980efb1c18" +"e865f543-535e-4d81-88ff-08c6f5091182" +"e9296592-444b-403e-96c1-25c4a67368de" +"e98d65f5-b9ad-47a2-be85-4adef937e6cd" +"e9c44d9f-ec0d-430d-9b41-1ed771e36584" +"ea2de9f1-bec2-40e7-b167-72c812cfcbce" +"ea90f9cd-486d-4fa8-abe1-1898936af8cf" +"eb5927a7-d122-4538-9e2e-ddb8aa7af540" +"ec174511-1432-4024-8731-ec89122b1221" +"eddc1c98-e9d7-4445-a76a-5f45dd6bba57" +"ee3da444-67ad-438b-9df0-fafd3f43eae3" +"ef741b5f-9178-411a-b4b3-05216a8d5c29" +"effe78a1-8b34-4c94-9ac5-5b901275774a" +"f061a728-7f03-4a58-863a-cff28e9143a7" +"f3529705-c362-45e8-9e7a-69f9d3723e8d" +"f6d60af2-9379-44e9-858f-8ff1692fb5e7" +"f8ab4673-71a3-4f6c-ae2e-72114bd80288" +"f9f7d276-85db-40a1-afd5-fdcfa56a2501" +"fa03eb66-26db-4ad2-9425-d82b1fdfa34e" +"fa6bbe27-5d30-49df-aed8-564ca3b60602" +"fbb87e17-bc62-405a-ad08-7864d736b4e6" +"fbdc0c1d-7b52-4c36-8c60-9ac3caf9930c" +"ff7541b2-0bc5-4033-8c92-109657942f50" + + +] +)) + + +(user/init-repl) + + +(def unattached-queries + (map first (d/q '[:find ?g + :in $ [?g ...] + :where (not [_ :saved-query/guid ?g])] + (d/db conn) + recently-used-query-ids))) + + +(def unattached-queries-categorized + (->> unattached-queries + + (map (fn [q] + (let [{:keys [query note]} (:body (get-query {:identity {:user/role "admin"} + :params {:query-id q}})) + query (or query "") + note (or note "") + client-code (second (re-find #"client\/code \"(.*)\"" query)) + lookup-key (str client-code "-" + (cond + (re-find #"expected deposit" note) + "expected-deposit" + + (re-find #"sales category" note) + "sales-category" + + (re-find #"charge.tip" query) + "tender" + + (re-find #"refund" note) + "refund" + + (re-find #"sales query" note) + "sales-summary" + + (re-find #"expected-deposit.fee" query) + "expected-deposit" + + (re-find #"returns" query) + "sales-summary" + + (re-find #"category" query) + "sales-category" + + (re-find #"sales-refund" query) + "refund" + + :else + "unknown"))] + {:client-code client-code + :guid q + :lookup-key lookup-key + :query query + :note note + :extant (:db/id (d/pull (d/db conn) '[:db/id] [:saved-query/lookup-key lookup-key])) + :extant-guid (:saved-query/guid (d/pull (d/db conn) '[:saved-query/guid] [:saved-query/lookup-key lookup-key])) + :extant-guid-used? (recently-used-query-ids (:saved-query/guid (d/pull (d/db conn) '[:saved-query/guid] [:saved-query/lookup-key lookup-key])))}))) + + #_(filter (comp #{"NGEB"} :client-code)) + + ;; if the guid that's already attached to this lookup key is used, then it likely means they recently generated new queries and put + ;; them into biweeklies. Don't undo that. + (filter (complement :extant-guid-used?)) + (map (fn [q] + {:db/id (or (:extant q) (str (java.util.UUID/randomUUID))) + :saved-query/guid (:guid q) + :saved-query/lookup-key (:lookup-key q) + :saved-query/client [:client/code (:client-code q)] + :saved-query/key (str "queries/" (:guid q)) + :saved-query/description (str (:lookup-key q) " for " (:client-code q))})))) + + +(comment + (auto-ap.datomic/audit-transact unattached-queries-categorized + {:user/name "Attaching-used-queries"}) + + ) + + + +