Skip to content

Commit 6691db0

Browse files
lumburovskalinaLennartSchmidtKernJWittmeyer
authored
v1.21.5 (#194)
* session fix * Get integrations overview request --------- Co-authored-by: LennartSchmidtKern <[email protected]> Co-authored-by: JWittmeyer <[email protected]>
1 parent 520ddcb commit 6691db0

File tree

2 files changed

+38
-4
lines changed

2 files changed

+38
-4
lines changed

cognition_objects/integration.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,37 @@ def get_all(
5151
return query.order_by(CognitionIntegration.created_at.desc()).all()
5252

5353

54+
def get_all_all_overview(
55+
integration_type: Optional[CognitionIntegrationType] = None,
56+
) -> Dict[str, Any]:
57+
add_filter = ""
58+
if integration_type:
59+
add_filter = f" WHERE type = '{integration_type.value}' "
60+
query = f"""
61+
SELECT jsonb_object_agg(org_id::text, integrations)
62+
FROM (
63+
SELECT
64+
organization_id AS org_id,
65+
jsonb_object_agg(
66+
id::text,
67+
jsonb_build_object(
68+
'name', name,
69+
'state', state,
70+
'error_message', error_message,
71+
'is_synced', is_synced,
72+
'last_synced_at', last_synced_at
73+
)
74+
) AS integrations
75+
FROM cognition.integration i
76+
{add_filter}
77+
GROUP BY organization_id
78+
) sub """
79+
value = general.execute_first(query)
80+
if value and value[0]:
81+
return value[0]
82+
return {}
83+
84+
5485
def get_all_in_org(
5586
org_id: str,
5687
integration_type: Optional[str] = None,

listeners.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,34 @@
11
from sqlalchemy import event
22
from datetime import datetime, timezone
33
from submodules.model.models import CognitionConversation, CognitionMessage
4-
from submodules.model.session_wrapper import with_session
54
import traceback
65

76
from src.controller.admin_query_message_summary import (
87
manager as admin_query_message_summary_manager,
98
)
9+
from submodules.model.business_objects import general
1010

1111

1212
@event.listens_for(CognitionConversation, "after_insert")
13-
@with_session()
1413
def after_insert(mapper, connection, conversation_entity: CognitionConversation):
1514
try:
15+
session_token = general.get_ctx_token()
1616
admin_query_message_summary_manager.log_conversation_summary(
1717
conversation_entity, 1
1818
)
1919
except Exception:
20-
print("Error in after_insert listener of CognitionConversation", flush=True)
2120
print(traceback.format_exc(), flush=True)
21+
finally:
22+
general.remove_and_refresh_session(session_token)
2223

2324

2425
@event.listens_for(CognitionMessage, "after_insert")
25-
@with_session()
2626
def after_insert(mapper, connection, message_entity: CognitionMessage):
2727
try:
28+
session_token = general.get_ctx_token()
2829
admin_query_message_summary_manager.log_message_summary(message_entity)
2930
except Exception:
3031
print("Error in after_insert listener of CognitionMessage", flush=True)
3132
print(traceback.format_exc(), flush=True)
33+
finally:
34+
general.remove_and_refresh_session(session_token)

0 commit comments

Comments
 (0)