feat: convertir una actividad en proyecto (con sus tareas)
Una tarea siempre necesita una actividad contenedora, asi que convertir crea DOS cosas: el proyecto nuevo y, dentro, una actividad nueva que recibe las tareas -- y comentarios/adjuntos -- de la actividad original. Se piden ambos nombres (precargados con el nombre actual) antes de confirmar. La actividad original se borra al final, ya vacia de tareas (no choca con el bloqueo de removeActivity). Exige el mismo permiso que crear un proyecto, no solo escribir la actividad. Nuevo POST /api/activities/:id/convert-to-project. Probado de punta a punta en dev: prioridad heredada, tareas y comentario movidos correctamente, actividad original eliminada, navega al proyecto nuevo al terminar. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,12 @@ export async function removeByEntity(entityType, entityId) {
|
||||
await pool.query('DELETE FROM comments WHERE entity_type = ? AND entity_id = ?', [entityType, entityId]);
|
||||
}
|
||||
|
||||
// Usado al convertir una actividad en proyecto: sus comentarios pasan a la actividad nueva que
|
||||
// hereda sus tareas, en vez de perderse cuando se borra la actividad original.
|
||||
export async function reassignEntity(entityType, oldEntityId, newEntityId) {
|
||||
await pool.query('UPDATE comments SET entity_id = ? WHERE entity_type = ? AND entity_id = ?', [newEntityId, entityType, oldEntityId]);
|
||||
}
|
||||
|
||||
export async function create({ entityType, entityId, userId, message }) {
|
||||
const [result] = await pool.query(
|
||||
'INSERT INTO comments (entity_type, entity_id, user_id, message) VALUES (?, ?, ?, ?)',
|
||||
|
||||
Reference in New Issue
Block a user