# `sql_query_config.py` ## Overview This file serves as a centralized repository for all raw SQL queries utilized by the `EMIRepository`. Storing queries in this module rather than hardcoding them in the repository classes keeps the Python logic clean and makes database queries easier to review and maintain. ## Query Structure All queries are written using string formatting and parameterized query syntax (`%s`) to protect against SQL Injection. ### Key Query Categories - **User & Customer Queries**: - `insert_user`, `update_user`, `users_query` - `insert_customer_query`, `update_customers` - **Consumer Application Queries** (The core entities for loan checkout): - `insert_consumer_application`, `update_consumer_application`, `dedupe_consumer_application`, `soft_delete_consumer_application` - Specialized queries like `insert_consumer_application_ckyc` or `consumer_application_product_update`. - **Consumer Application Elements** (Auxiliary specific details like addresses and panels): - `insert_consumer_application_element`, `update_consumer_element`, `consumer_application_element_update` - Solar specifics: `store_installation_address` - **Merchant Queries**: - `merchant_query`, `display_merchants`, `display_solar_merchants`, `get_merchant_name` - **Files & Verification**: - `consumer_application_files_insert_query`, `consumer_application_files_query` - `insert_kyc_details`, `insert_digio_vkyc`, `pirimid_bank_analysis` - **OTP & Communication**: - `otp_manager_insert_query`, `otp_manager_query`, `otp_manager_update_query` - **Offers & EMI**: - `emi_calculation` ## Usage Note When interacting with `EMIRepository`, these variables are imported (e.g., `sql_query_config.insert_user`) and passed to the underlying `query_results.insertion` or `query_results.fetch_query_results` executor methods along with the tuple of parameters matching the `%s` placeholders.