@cryptotaxi247 / CoPilot / commits / 6f13e185

Refactor Grafana login functions to retrieve credentials directly from the Connectors model (#391)

taylor_socfortress committed Jan 10, 2025 at 09:44 UTC 6f13e185049be37cd5bc6875a5b5c5d48311275f
1 file changed +26 -4
backend/app/connectors/grafana/services/reporting.py
+26 -4
@@ -26,7 +26,8 @@ from app.connectors.grafana.schema.reporting import RequestPanel
26 from app.connectors.grafana.schema.reporting import TimeRange
27 from app.connectors.grafana.utils.universal import create_grafana_client
28 from app.connectors.models import Connectors
29 -from app.utils import get_connector_attribute
29 +
30 +# from app.utils import get_connector_attribute
31
32
33 async def get_grafana_url(session: AsyncSession):
@@ -35,6 +36,18 @@ async def get_grafana_url(session: AsyncSession):
36 return connector.connector_url
37
38
39 +async def get_granfana_user(session: AsyncSession):
40 + connector = await session.execute(select(Connectors).where(Connectors.connector_name == "Grafana"))
41 + connector = connector.scalars().first()
42 + return connector.connector_username
43 +
44 +
45 +async def get_granfana_password(session: AsyncSession):
46 + connector = await session.execute(select(Connectors).where(Connectors.connector_name == "Grafana"))
47 + connector = connector.scalars().first()
48 + return connector.connector_password
49 +
50 +
51 def calculate_unix_timestamps(time_range: TimeRange):
52 now = datetime.now()
53 if time_range.unit == "m":
@@ -135,15 +148,24 @@ async def get_dashboard_details(dashboard_uid: str) -> GrafanaDashboardDetails:
148 async def login_to_page(page, session: AsyncSession):
149 try:
150 # Navigate to the login page
138 - await page.goto(f'{await get_connector_attribute(connector_id=8, column_name="connector_url", session=session)}/login')
151 + # await page.goto(f'{await get_connector_attribute(connector_id=8, column_name="connector_url", session=session)}/login')
152 + await page.goto(f"{await get_grafana_url(session)}/login")
153 # Enter the username and password
154 + # await page.fill(
155 + # 'input[name="user"]',
156 + # f'{await get_connector_attribute(connector_id=8, column_name="connector_username", session=session)}',
157 + # )
158 await page.fill(
159 'input[name="user"]',
142 - f'{await get_connector_attribute(connector_id=8, column_name="connector_username", session=session)}',
160 + f"{await get_granfana_user(session)}",
161 )
162 + # await page.fill(
163 + # 'input[name="password"]',
164 + # f'{await get_connector_attribute(connector_id=8, column_name="connector_password", session=session)}',
165 + # )
166 await page.fill(
167 'input[name="password"]',
146 - f'{await get_connector_attribute(connector_id=8, column_name="connector_password", session=session)}',
168 + f"{await get_granfana_password(session)}",
169 )
170 # Click the login button
171 await page.click('button[data-testid="data-testid Login button"]')