"""Seed additional global render positions (3/4 Front mirrored, 3/4 Back mirrored).

Revision ID: 058
Revises: 057
"""
from alembic import op
import sqlalchemy as sa

revision = "058"
down_revision = "057"
branch_labels = None
depends_on = None

_ADDITIONAL_POSITIONS = [
    {"name": "3/4 Front (mirrored)", "rotation_x": -15.0, "rotation_y": -45.0, "rotation_z": 0.0, "is_default": False, "sort_order": 3},
    {"name": "3/4 Back (mirrored)", "rotation_x": -15.0, "rotation_y": 135.0, "rotation_z": 0.0, "is_default": False, "sort_order": 4},
]


def upgrade() -> None:
    conn = op.get_bind()
    for pos in _ADDITIONAL_POSITIONS:
        conn.execute(
            sa.text(
                "INSERT INTO global_render_positions (id, name, rotation_x, rotation_y, rotation_z, is_default, sort_order, created_at, updated_at) "
                "VALUES (gen_random_uuid(), :name, :rx, :ry, :rz, :is_default, :sort_order, now(), now())"
            ),
            {"name": pos["name"], "rx": pos["rotation_x"], "ry": pos["rotation_y"], "rz": pos["rotation_z"],
             "is_default": pos["is_default"], "sort_order": pos["sort_order"]},
        )


def downgrade() -> None:
    conn = op.get_bind()
    conn.execute(
        sa.text("DELETE FROM global_render_positions WHERE name IN ('3/4 Front (mirrored)', '3/4 Back (mirrored)')")
    )
