feat: version 2.10.0 -- Notas en tarjetas, crear/editar en popup, compartir de solo lectura
Rediseno completo del modulo Notas (era lista inline, sin popup, sin compartir):
- Tarjetas con resumen del contenido en vez de lista vertical; la primera tarjeta siempre es
un "+" para crear.
- Crear y editar se hacen en un DetailPopup (antes: textarea fijo arriba + edicion inline por
tarjeta).
- Nueva tabla note_shares (migracion 019): compartir una nota con otro usuario ya registrado,
siempre de solo lectura -- el dueño sigue siendo el unico que edita/borra/comparte (mismo
patron que project_members pero sin rol ni invitacion por correo, ya que acá no hace falta).
Quien recibe la nota la ve con "Compartida por {nombre}", sin ningun control de edicion.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
import { Router } from 'express';
|
||||
import { requireAuth } from '../../middleware/auth.js';
|
||||
import { getNotes, postNote, putNote, deleteNote } from './controller.js';
|
||||
import { getNotes, postNote, putNote, deleteNote, getNoteShares, postNoteShare, deleteNoteShare } from './controller.js';
|
||||
|
||||
const router = Router();
|
||||
|
||||
// Sin restriccion de rol: cualquier usuario autenticado tiene sus propias notas.
|
||||
// Sin restriccion de rol: cualquier usuario autenticado tiene sus propias notas (y ve las que
|
||||
// otros compartieron con el). Los permisos de compartir se resuelven en el service (dueño-only).
|
||||
router.use(requireAuth);
|
||||
router.get('/', getNotes);
|
||||
router.post('/', postNote);
|
||||
router.put('/:id', putNote);
|
||||
router.delete('/:id', deleteNote);
|
||||
router.get('/:id/shares', getNoteShares);
|
||||
router.post('/:id/shares', postNoteShare);
|
||||
router.delete('/:id/shares/:userId', deleteNoteShare);
|
||||
|
||||
export default router;
|
||||
|
||||
Reference in New Issue
Block a user