caverav / auditforge

AuditForge is a pentest reporting application making it simple and easy to write your findings and generate a customizable report.
https://auditforge.feriadesoftware.cl
MIT License
21 stars 0 forks source link

Feature/edit findings audit #163

Closed iTzGooDLife closed 6 days ago

iTzGooDLife commented 1 week ago

Descripción

Se realizaron los siguientes cambios:

OBSERVACIONES:

Motivación y Contexto

Se finaliza la historia de usuario 11.

¿Cómo ha sido probado?

Pasos para comprobar:

Capturas de pantalla (si es apropiado):

Tipos de cambios

Lista de verificación:

Summary by CodeRabbit

coderabbitai[bot] commented 1 week ago
📝 Walkthrough
📝 Walkthrough ## Walkthrough El pull request introduce múltiples cambios en varios componentes relacionados con la gestión de auditorías. Se añade una nueva propiedad `status` al tipo `Finding`, se implementa un contexto para manejar datos de auditoría y se crean nuevos componentes para editar hallazgos. Además, se mejora la gestión de errores y se refactorizan funciones para un manejo más eficiente de los hallazgos. También se realizan ajustes en la internacionalización y se simplifica la gestión del estado en algunos componentes. ## Changes | File Path | Change Summary | |-------------------------------------------------------|-------------------------------------------------------------------------------------------------------| | `frontend/src/components/navbar/AuditSidebar.tsx` | Se añade `CheckIcon`, se actualiza el tipo `Finding` para incluir `status`, y se añade lógica de renderizado condicional. | | `frontend/src/i18n/en-US/index.ts` | Se añade un nuevo mensaje de error para la eliminación fallida de hallazgos. | | `frontend/src/routes/audits/edit/AuditContext.tsx` | Se crean tipos `FindingType`, `AuditContextType`, y `AuditContextProps`, y se implementa el `AuditContext`. | | `frontend/src/routes/audits/edit/AuditRoot.tsx` | Se añaden nuevos estados para `nameAudit`, `auditType`, y `currentLanguage`, y se envuelven los componentes en `AuditProvider`. | | `frontend/src/routes/audits/edit/findings/add/add.tsx`| Se refactoriza `handleAddVuln` a un patrón async/await y se añade `handlerFindings`. | | `frontend/src/routes/audits/edit/findings/edit/DefinitionTab.tsx` | Se introduce un nuevo componente para editar hallazgos, con manejo de CWE y estado interno. | | `frontend/src/routes/audits/edit/findings/edit/DetailsTab.tsx` | Se introduce un nuevo componente para editar hallazgos, con validaciones y manejo de estado. | | `frontend/src/routes/audits/edit/findings/edit/ProofsTab.tsx` | Se introduce un nuevo componente para manejar información de prueba en hallazgos. | | `frontend/src/routes/audits/edit/findings/edit/edit.tsx` | Se refactoriza el componente `Edit` para manejar hallazgos con nuevos estados y funciones de actualización. | | `frontend/src/routes/audits/edit/general/general.tsx` | Se elimina la variable de estado `setLanguages`, simplificando la gestión de opciones de idioma. | | `frontend/src/routes/audits/edit/useAuditContext.tsx` | Se introduce un nuevo hook `useAuditContext` para acceder al contexto de auditoría. | | `frontend/src/routes/vulnerabilities/components/CVSSCalculator.tsx` | Se añade lógica para manejar partes vacías en el vector CVSS. | | `frontend/src/services/audits.ts` | Se introduce el tipo `EditFinding` y se añaden funciones para obtener, actualizar y eliminar hallazgos. | ## Possibly related PRs - **#128**: Cambios en el componente `AuditSidebar` relacionados con el tipo `Finding` y la adición de la propiedad `identifier`. - **#138**: Añade propiedades `remediationComplexity` y `priority` al tipo `Finding`, alineándose con la adición de la propiedad `status`. - **#146**: Modificaciones en `AuditSidebar` que incluyen actualizaciones al tipo `AuditSidebarProps`, mejorando su funcionalidad. - **#165**: Refactorización del componente `AverageCVSS` para usar `useRef` en el almacenamiento de `auditId`, relevante para la gestión de hallazgos. ## Suggested labels `enhancement` ## Suggested reviewers - Icksir - jllanosg - massi-ponce - caverav - Sealra

📜 Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
📥 Commits Reviewing files that changed from the base of the PR and between efdb0e1665ae1b63024e791b681735d9ea85aacc and 4247b88a96388f082bdfcf9744723ac49f1e2a44.
📒 Files selected for processing (2) * `frontend/src/i18n/en-US/index.ts` (1 hunks) * `frontend/src/routes/audits/edit/AuditRoot.tsx` (6 hunks)
🚧 Files skipped from review as they are similar to previous changes (2) * frontend/src/i18n/en-US/index.ts * frontend/src/routes/audits/edit/AuditRoot.tsx

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): > ‼️ **IMPORTANT** > Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged. - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
jllanosg commented 1 week ago

@iTzGooDLife revisar el nombre del pr xfa

Icksir commented 1 week ago

Funciona bien, lo único que noté es que no se actualiza la barra lateral al agregar una nueva vulnerability desde New Vulnerability

2024-11-04-14-43-38

Sealra commented 1 week ago

Al navegar entre las vulnerabilidades en el sidebar, siempre queda la primera marcada con un 'check', no muestra bien en cual estás 'actualmente'.

jllanosg commented 1 week ago

Al navegar entre las vulnerabilidades en el sidebar, siempre queda la primera marcada con un 'check', no muestra bien en cual estás 'actualmente'.

El check es porque la marcaste como completada.

Sealra commented 1 week ago

Al navegar entre las vulnerabilidades en el sidebar, siempre queda la primera marcada con un 'check', no muestra bien en cual estás 'actualmente'.

El check es porque la marcaste como completada.

a, entonces como posible issue mejora ui sería implementar una diferenciación de sobre cual vuln se está en el momento, considerando que se puede agregar múltiples veces la misma vuln a un audit.

A parte de eso, el resto se ve bien !!!

caverav commented 1 week ago

Nada funcional, solo comentar que el contraste es fuerte aquí: image Creo que sería más cómo a la vista algo así: image

iTzGooDLife commented 1 week ago

Al navegar entre las vulnerabilidades en el sidebar, siempre queda la primera marcada con un 'check', no muestra bien en cual estás 'actualmente'.

El check es porque la marcaste como completada.

a, entonces como posible issue mejora ui sería implementar una diferenciación de sobre cual vuln se está en el momento, considerando que se puede agregar múltiples veces la misma vuln a un audit.

A parte de eso, el resto se ve bien !!!

Efectivamente, considero que es necesario para mejorar el ui, pero eso no se abarca en el presente PR, pero totalmente de acuerdo con la opinión!

iTzGooDLife commented 1 week ago

Nada funcional, solo comentar que el contraste es fuerte aquí: image Creo que sería más cómo a la vista algo así: image

Efectivamente, queda mejor así, podrías aplicar directamente esos cambios. De igual manera, se implementó de la misma manera en que se implementó en añadir y editar vulnerabilidades (además de los custom fields y custom sections), considero que se deberia cambiar ahí también por temas de uniformidad.

jllanosg commented 6 days ago

Hay un issue que documente el trabajo faltante del TODO que se menciona en el PR?

iTzGooDLife commented 6 days ago

Hay un issue que documente el trabajo faltante del TODO que se menciona en el PR?

Nop, tengo pensado hacerlos una vez se haga el merge, de igual manera en un rato más los puedo hacer :+1: