in backend/bms_app/services/operations/db_mappings.py [0:0]
def generate_db_mappings_objects(qs):
"""Get list of SourceDB/Mapping objects.
Output: [
DbMapping(db=<SourceDB 1>, mappings=[<Mapping 1>, <Mapping 2>]),
DbMapping(db=<SourceDB 2>, mappings=[<Mapping 3>]),
....
]
"""
data = {}
for source_db, mapping in qs.all():
db_id = source_db.id
if db_id not in data:
data[db_id] = {
'db': source_db,
'mappings': [],
}
if not mapping:
data[db_id]['is_dms'] = True
data[db_id]['mappings'].append(mapping)
objects = []
for obj in data.values():
objects.append(
DbMapping(
db=obj['db'],
mappings=obj['mappings'],
is_dms=obj['is_dms'],
)
)
return objects