UPDATE content_items
SET body = REPLACE(
    REPLACE(
        body,
        'Les modules WININFO peuvent être utilisés indépendamment ou combinés afin de construire une solution adaptée aux différentes activités de votre entreprise.',
        'Les modules WININFO d une meme solution peuvent etre combines afin de construire un environnement adapte a vos activites et a votre organisation.'
    ),
    'Les modules WININFO peuvent fonctionner ensemble afin de construire une solution adaptée aux différentes activités et à l''organisation de votre entreprise.',
    'Les modules WININFO d une meme solution peuvent etre combines afin de construire un environnement adapte a vos activites et a votre organisation.'
)
WHERE item_type = 'environment_modules_block'
  AND owner_type IN ('product', 'module');

INSERT INTO content_items (
    owner_type, owner_id, item_type, title, body, icon, media_id, sort_order, is_active, created_at, updated_at
)
SELECT
    'module',
    transport.id,
    'feature',
    'Gestion des missions express',
    'Centralisez les courses urgentes et les missions express au sein de votre environnement Win@Transport, de leur prise en charge jusqu au suivi de leur realisation.',
    'bolt',
    NULL,
    7,
    1,
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP
FROM modules transport
WHERE transport.slug = 'win-transport'
  AND transport.deleted_at IS NULL
  AND NOT EXISTS (
      SELECT 1
      FROM content_items ci
      WHERE ci.owner_type = 'module'
        AND ci.owner_id = transport.id
        AND ci.item_type = 'feature'
        AND ci.title = 'Gestion des missions express'
  );

UPDATE content_items ci
JOIN modules m ON m.id = ci.owner_id
SET ci.body = JSON_OBJECT(
    'eyebrow', JSON_UNQUOTE(JSON_EXTRACT(ci.body, '$.eyebrow')),
    'body', JSON_UNQUOTE(JSON_EXTRACT(ci.body, '$.body')),
    'cta_label', JSON_UNQUOTE(JSON_EXTRACT(ci.body, '$.cta_label')),
    'cta_url', JSON_UNQUOTE(JSON_EXTRACT(ci.body, '$.cta_url')),
    'secondary_cta_label', JSON_UNQUOTE(JSON_EXTRACT(ci.body, '$.secondary_cta_label')),
    'secondary_cta_url', '/catalogue/modules/?product=win-erp'
)
WHERE ci.owner_type = 'module'
  AND ci.item_type = 'final_cta'
  AND m.slug = 'win-transport';

INSERT INTO redirects (
    source_path, target_url, status_code, is_active, note, created_at, updated_at
)
SELECT
    '/modules/win-express',
    '/modules/win-transport/',
    301,
    1,
    'Win@Express est désormais présenté comme une fonctionnalité de Win@Transport.',
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP
WHERE NOT EXISTS (
    SELECT 1 FROM redirects WHERE source_path = '/modules/win-express'
);

INSERT INTO redirects (
    source_path, target_url, status_code, is_active, note, created_at, updated_at
)
SELECT
    '/modules/win-express/',
    '/modules/win-transport/',
    301,
    1,
    'Win@Express est désormais présenté comme une fonctionnalité de Win@Transport.',
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP
WHERE NOT EXISTS (
    SELECT 1 FROM redirects WHERE source_path = '/modules/win-express/'
);

UPDATE modules
SET
    status = 'draft',
    featured = 0,
    updated_at = CURRENT_TIMESTAMP
WHERE slug = 'win-express'
  AND deleted_at IS NULL;
