| 22 | | WITH build_to_clone AS ( |
| 23 | | SELECT name, description, total_price |
| 24 | | FROM build |
| 25 | | WHERE id = $buildId |
| 26 | | LIMIT 1 |
| 27 | | ), |
| 28 | | new_build AS ( |
| 29 | | INSERT INTO build (user_id, name, created_at, description, total_price, is_approved) |
| 30 | | SELECT |
| 31 | | $userId, |
| 32 | | build_to_clone.name || ' (copy)', |
| 33 | | CURRENT_DATE, |
| 34 | | build_to_clone.description, |
| 35 | | build_to_clone.total_price, |
| 36 | | false |
| 37 | | FROM build_to_clone |
| 38 | | RETURNING id |
| 39 | | ), |
| 40 | | copied_components AS ( |
| 41 | | INSERT INTO build_component (build_id, component_id) |
| 42 | | SELECT |
| 43 | | new_build.id, |
| 44 | | bc.component_id |
| 45 | | FROM new_build |
| 46 | | JOIN build_component AS bc |
| 47 | | ON bc.build_id = $buildId |
| 48 | | RETURNING 1 |
| | 22 | SELECT b.id |
| | 23 | b.id, |
| | 24 | b.name, |
| | 25 | b.description, |
| | 26 | b.total_price, |
| | 27 | b.is_approved |
| | 28 | FROM builds b |
| | 29 | WHERE id = $buildId |
| | 30 | LIMIT 1; |
| | 31 | |
| | 32 | INSERT INTO builds (user_id, name, created_at, description, total_price, is_approved) |
| | 33 | VALUES ( |
| | 34 | $userId, |
| | 35 | $buildToClone_name || ' (copy)', |
| | 36 | CURRENT_TIMESTAMP, |
| | 37 | $buildToClone.description, |
| | 38 | $buildToClone.total_price, |
| | 39 | false |