from app.models.enums import ImageTags

image_metadata = {
    'table_name': 'images',
    'columns': {
        'id': {
            'sql_type': 'SERIAL',
            'type': int,
            'constraints': {'primary_key': True},
            'required': True
        },
        'filename': {
            'sql_type': 'VARCHAR(255)',
            'type': str,
            'constraints': {'max_length': 255},
            'required': True
        },
        'tag': {
            'sql_type': 'VARCHAR(100)',
            'type': str,
            'constraints': {'enum': ImageTags},
            'required': True
        },
        'description': {
            'sql_type': 'TEXT',
            'type': str,
            'constraints': {'max_length': 1000},
            'required': False
        },
        'item_id': {
            'sql_type': 'INTEGER',
            'type': int,
            'constraints': {
                'foreign_key': {
                    'ref_table': 'items',
                    'ref_column': 'id'
                }
            },
            'required': True
        },
        'created_at': {
            'sql_type': 'TIMESTAMP',
            'type': str,
            'constraints': {},
            'required': False
        }
    }
}
