from app.models.metadata.apartment_type import apartment_type_metadata
from app.models.metadata.apartment_selling import apartment_selling_metadata
from app.models.metadata.apartment_renting import apartment_renting_metadata
from app.models.metadata.building import building_metadata
from app.models.metadata.business_space_selling import business_space_selling_metadata
from app.models.metadata.business_space_renting import business_space_renting_metadata
from app.models.metadata.house_selling import house_selling_metadata
from app.models.metadata.house_renting import house_renting_metadata
from app.models.metadata.lead import leads_metadata
from app.models.metadata.lot_selling import lot_selling_metadata
from app.models.metadata.lot_renting import lot_renting_metadata
from app.models.metadata.new_apartment import new_apartment_metadata
from app.models.metadata.project import project_metadata
from app.models.metadata.image import image_metadata
from app.models.metadata.item import item_metadata
from app.models.metadata.hub_user import hub_user_metadata

from app.models.layout.add.apartment_type import APARTMENT_TYPE_ROWS
from app.models.layout.add.apartment_selling import APARTMENT_SELLING_ROWS
from app.models.layout.add.apartment_renting import APARTMENT_RENTING_ROWS
from app.models.layout.add.building import BUILDING_ROWS
from app.models.layout.add.business_space_selling import BUSINESS_SPACE_SELLING_ROWS
from app.models.layout.add.business_space_renting import BUSINESS_SPACE_RENTING_ROWS
from app.models.layout.add.house_selling import HOUSE_SELLING_ROWS
from app.models.layout.add.house_renting import HOUSE_RENTING_ROWS
from app.models.layout.add.lot_selling import LOT_SELLING_ROWS
from app.models.layout.add.lot_renting import LOT_RENTING_ROWS
from app.models.layout.add.new_apartment import NEW_APARTMENT_ROWS
from app.models.layout.add.project import PROJECT_ROWS
from app.models.layout.add.lead import LEAD_ROWS
from app.models.layout.copy.old_development import COPY_OLD_DEVELOPMENT_ROWS
from app.models.layout.copy.new_development import COPY_NEW_DEVELOPMENT_ROWS
from app.models.layout.copy.lead import COPY_LEAD_ROWS
from app.models.layout.price.old_development_selling import PRICE_OLD_SELLING_ROWS
from app.models.layout.price.old_development_renting import PRICE_OLD_RENTING_ROWS
from app.models.layout.price.new_development import PRICE_NEW_APARTMENT_ROWS

# Central registry for metadata and layout models
MODEL_REGISTRY = {
    'apartment_selling': {
        'metadata': apartment_selling_metadata,
        'layout': {
            'add': APARTMENT_SELLING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_SELLING_ROWS
        }
    },
    'apartment_renting': {
        'metadata': apartment_renting_metadata,
        'layout': {
            'add': APARTMENT_RENTING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_RENTING_ROWS
        }
    },
    'building': {
        'metadata': building_metadata,
        'layout': {
            'add': BUILDING_ROWS,
            'copy': COPY_NEW_DEVELOPMENT_ROWS,
            'price': PRICE_NEW_APARTMENT_ROWS

        }
    },
    'apartment_type': {
        'metadata': apartment_type_metadata,
        'layout': {
            'add': APARTMENT_TYPE_ROWS,
            'copy': COPY_NEW_DEVELOPMENT_ROWS
        }
    },
    'business_space_selling': {
        'metadata': business_space_selling_metadata,
        'layout': {
            'add': BUSINESS_SPACE_SELLING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_SELLING_ROWS
        }
    },
    'business_space_renting': {
        'metadata': business_space_renting_metadata,
        'layout': {
            'add': BUSINESS_SPACE_RENTING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_RENTING_ROWS
        }
    },
    'house_selling': {
        'metadata': house_selling_metadata,
        'layout': {
            'add': HOUSE_SELLING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_SELLING_ROWS
        }
    },
    'house_renting': {
        'metadata': house_renting_metadata,
        'layout': {
            'add': HOUSE_RENTING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_RENTING_ROWS
        }
    },
    'lot_selling': {
        'metadata': lot_selling_metadata,
        'layout': {
            'add': LOT_SELLING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_SELLING_ROWS
        }
    },
    'lot_renting': {
        'metadata': lot_renting_metadata,
        'layout': {
            'add': LOT_RENTING_ROWS,
            'copy': COPY_OLD_DEVELOPMENT_ROWS,
            'price': PRICE_OLD_RENTING_ROWS
        }
    },
    'new_apartment': {
        'metadata': new_apartment_metadata,
        'layout': {
            'add': NEW_APARTMENT_ROWS,
            'price': PRICE_NEW_APARTMENT_ROWS
        }
    },
    'project': {
        'metadata': project_metadata,
        'layout': {
            'add': PROJECT_ROWS,
            'copy': COPY_NEW_DEVELOPMENT_ROWS
        }
    },
    'image': {
        'metadata': image_metadata
    },
    'item': {
        'metadata': item_metadata
    },
    'hub_user': {
        'metadata': hub_user_metadata
    },
    'lead': {
        'metadata': leads_metadata,
        'layout': {
            'add': LEAD_ROWS,
            'copy': COPY_LEAD_ROWS,
        }
    }
}
