@@ -127,37 +127,21 @@ def get_issues():
127127 type: string
128128 """
129129 try :
130- # Fetch all issues with their details
131- dmp_issues = SupabaseInterface ().get_instance ().client .table ('dmp_issues' ).select ('*' ).execute ().data
132-
133- # Create a defaultdict of lists to group issues by 'org_id'
134- grouped_data = defaultdict (list )
135- for issue in dmp_issues :
136- # Fetch organization details for the issue
137- org_details = SupabaseInterface ().get_instance ().client .table ('dmp_orgs' ).select ('*' ).eq ('id' , issue ['org_id' ]).execute ().data
138- if org_details :
139- issue ['org_name' ] = org_details [0 ]['name' ]
140-
141- grouped_data [issue ['org_id' ]].append (issue )
142-
143- # Prepare response in the required format
144- response = []
145- for org_id , items in grouped_data .items ():
146- issues = [
147- {
148- "id" : item ['issue_number' ],
149- "name" : item ['title' ]
150- }
151- for item in items
152- ]
153-
154- response .append ({
155- "org_id" : org_id ,
156- "org_name" : items [0 ]['org_name' ], # Assuming all items in the group have the same org_name
157- "issues" : issues
158- })
159-
160- return jsonify ({"issues" : response })
130+ # Fetch all issues with their details
131+ response = SupabaseInterface ().get_instance ().client .table ('dmp_orgs' ).select ('*, dmp_issues(*)' ).execute ()
132+ res = []
133+
134+ for org in response .data :
135+ obj = {}
136+ issues = org ['dmp_issues' ]
137+ obj ['org_id' ] = org ['id' ]
138+ obj ['org_name' ] = org ['name' ]
139+ renamed_issues = [{"id" : issue ["issue_number" ], "name" : issue ["title" ]} for issue in issues ]
140+ obj ['issues' ] = renamed_issues
141+
142+ res .append (obj )
143+
144+ return jsonify ({"issues" : res })
161145
162146 except Exception as e :
163147 error_traceback = traceback .format_exc ()
0 commit comments