(ns link-sales-queries (:require [datomic.client.api :as dc] [auto-ap.datomic :refer [conn]] [auto-ap.routes.queries :refer [get-query]] [auto-ap.config :as config])) (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" ] )) config.core/env (def unattached-queries (map first (dc/q '[:find ?g :in $ [?g ...] :where (not [_ :saved-query/guid ?g])] (dc/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 (dc/pull (dc/db conn) '[:db/id] [:saved-query/lookup-key lookup-key])) :extant-guid (:saved-query/guid (dc/pull (dc/db conn) '[:saved-query/guid] [:saved-query/lookup-key lookup-key])) :extant-guid-used? (recently-used-query-ids (:saved-query/guid (dc/pull (dc/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"}) )