253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

253 gestao qualidade - #254

Merged
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade
Nov 27, 2025
Merged

253 gestao qualidade#254
rbxyz merged 2 commits into
mainfrom
253-gestao-qualidade

Conversation

@rbxyz

@rbxyzrbxyz commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

New Features

  • Quality Management System: Added comprehensive quality document management with create, read, update, and delete operations.
  • Quality Document Admin Dashboard: New administrative interface for managing quality documents with advanced filtering, search, and access control capabilities.
  • Quality Enums Management: Ability to manage quality document types and classifications.
  • User Quality Catalog: New quality documents section for users to browse and view available documents.
  • Access Controls: Permission-based document access management with granular user permissions.

✏️ Tip: You can customize this high-level summary in your review settings.

@rbxyzrbxyz linked an issue Nov 27, 2025 that may be closed by this pull request
@vercel

vercelBot commented Nov 27, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentNov 27, 2025 7:21pm

@coderabbitai

coderabbitaiBot commented Nov 27, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive Quality Management subsystem with database models for quality documents, enums, and access controls. It adds three TRPC routers for CRUD operations, new admin and public-facing UI pages for managing documents, permission-based access control integration, and supporting type definitions and validation schemas.

Changes

Cohort / File(s)Summary
Type Definitions
@types/form-responses.ts, @types/quality-document.ts, @types/role-config.ts, @types/room.ts
Introduce new TypeScript interfaces and types: ResponseStatus, FormResponse, ChatMessage, QualityDocument variants, QualityDocumentForForm, RolesConfig, Room, Booking, Coordinates. Add role-config type with quality management permissions.
Database Schema
prisma/schema.prisma
Add new models: QualityEnum, QualityDocumentAccess, QualityDocument; introduce enums: EnumType, DocRevPeriod. Extend User model with three new relations (qualityDocumentsResponsible, qualityDocumentsApprovedManager, qualityDocumentAccess). Add indexes and constraints.
TRPC Routers
src/server/api/routers/quality-document.ts, src/server/api/routers/quality-enum.ts, src/server/api/routers/quality-access.ts
Implement three new routers with full CRUD endpoints, permission checks via checkQualityManagementPermission helper, and Prisma queries for filtering, pagination, and relational data retrieval.
Admin Quality Pages
src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/admin/quality/enums/page.tsx
Create admin UI pages for managing quality documents and enums with search, filtering, create/edit/delete dialogs, data tables, and form components with client-side validation and TRPC integration.
Public Quality Page
src/app/(authenticated)/quality/page.tsx
Add user-facing quality documents list page with search, advanced filters, card/table views, detail modal, and responsive layout using TRPC data fetching.
Quality Document Component
src/components/admin/quality/quality-document-form.tsx
Create reusable form component for creating/editing quality documents using react-hook-form, zod validation, dynamic user lookups, and date handling.
Validation Schemas
src/schemas/quality-document.schema.ts
Define zod schemas for quality document CRUD operations: createQualityDocumentSchema, updateQualityDocumentSchema, listQualityDocumentsSchema, qualityDocumentFormSchema with derived types.
Access Control Integration
src/hooks/use-access-control.tsx, src/lib/access-control-server.ts
Extend access control hook with canManageQualityManagement() and hasPermission(string) methods; update server-side access checks to support quality management permission alongside products; add early-return logic for /admin/quality route.
Routes & Admin Configuration
src/const/admin-routes.ts, src/const/routes.ts
Add new admin route entry for /admin/quality with icon and metadata; extend hasAccessToAdminRoute signature with canManageQuality parameter; add commented Quality route to user-facing routes.
Server API Setup
src/server/api/root.ts, src/server/api/routers/user.ts
Wire new quality routers (qualityDocument, qualityEnum, qualityAccess) into appRouter; add can_manage_quality_management to default role config, fallback config, and updateRoleConfig schema.
Type System & Configuration
src/types/quality-document.ts, src/types/role-config.ts, tsconfig.json
Add quality-document types (QualityDocumentForForm, EnumFormData, etc.) with enum labels and form props interfaces; extend RolesConfig type with can_manage_quality_management field; add @types/* path alias to tsconfig.
Miscellaneous
src/app/page.tsx
Add ESLint disable directive for unused catch parameter.

Sequence Diagram

sequenceDiagram
participant User as User/<br/>Client
participant UI as Quality Mgmt<br/>UI Page
participant Access as Access<br/>Control
participant TRPC as TRPC<br/>Router
participant DB as Database
User->>UI: Opens /admin/quality
UI->>Access: Check canManageQualityManagement()
Access-->>UI: ✓ Permission granted
rect rgb(200, 240, 200)
note right of TRPC: Initial Data Load
UI->>TRPC: qualityDocument.list({filters})
TRPC->>Access: Validate permission
TRPC->>DB: Query documents<br/>with relations
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: paginated list
UI-->>User: Render table
end
rect rgb(240, 200, 200)
note right of TRPC: Create/Edit Flow
User->>UI: Click create or edit
UI->>UI: Open form dialog
User->>UI: Submit form
UI->>TRPC: qualityDocument.create()<br/>or .update()
TRPC->>Access: Validate permission
TRPC->>DB: Insert/Update record
DB-->>TRPC: success
TRPC-->>UI: updated document
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Show toast + refresh table
end
rect rgb(200, 220, 240)
note right of TRPC: Delete Flow
User->>UI: Click delete
UI->>UI: Confirm dialog
User->>UI: Confirm delete
UI->>TRPC: qualityDocument.delete()
TRPC->>Access: Validate permission
TRPC->>DB: Delete record
DB-->>TRPC: success: true
TRPC-->>UI: success
UI->>TRPC: qualityDocument.list()
TRPC->>DB: Refresh list
DB-->>TRPC: [QualityDocuments]
TRPC-->>UI: updated list
UI-->>User: Remove from table
end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • Prisma schema changes (prisma/schema.prisma): Review relationships, cascading deletes, unique constraints, and index strategies for performance; ensure User relations are correctly defined and don't introduce circular dependencies.
  • Permission checks in TRPC routers: Verify checkQualityManagementPermission logic is consistently applied across all three quality routers (document, enum, access) and aligns with access control patterns used elsewhere.
  • Quality document router complexity (src/server/api/routers/quality-document.ts): Review filtering logic, pagination cursor handling, search across multiple columns, and relational select/include patterns for correctness.
  • Access control integration (src/lib/access-control-server.ts, src/hooks/use-access-control.tsx): Verify early-return logic for /admin/quality route doesn't bypass intended checks; confirm hasAccessToAdminRoute signature extension maintains backward compatibility.
  • Form component data handling (src/components/admin/quality/quality-document-form.tsx): Review user lookup logic, date formatting (formatDateToString), field mapping between form schema and API input, and error handling.
  • UI pages with dialogs and tables (src/app/(authenticated)/admin/quality/page.tsx, src/app/(authenticated)/quality/page.tsx): Validate state management, loading states, filter/search implementations, and dialog close/cancel flows to prevent stale data or unintended state leaks.

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

🐰 Hopping through the Quality gates,
New documents, enums, access rates—
TRPC routers pave the way,
Management systems come to play,
Permission checks keep all at bay,
Quality reigns bright today! 📋✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 253-gestao-qualidade

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bbe13 and 6bcff6f.

📒 Files selected for processing (24)
  • @types/form-responses.ts (1 hunks)
  • @types/quality-document.ts (1 hunks)
  • @types/role-config.ts (1 hunks)
  • @types/room.ts (1 hunks)
  • prisma/schema.prisma (2 hunks)
  • src/app/(authenticated)/admin/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/enums/page.tsx (1 hunks)
  • src/app/(authenticated)/admin/quality/page.tsx (1 hunks)
  • src/app/(authenticated)/quality/page.tsx (1 hunks)
  • src/app/page.tsx (1 hunks)
  • src/components/admin/quality/quality-document-form.tsx (1 hunks)
  • src/const/admin-routes.ts (4 hunks)
  • src/const/routes.ts (2 hunks)
  • src/hooks/use-access-control.tsx (2 hunks)
  • src/lib/access-control-server.ts (2 hunks)
  • src/schemas/quality-document.schema.ts (1 hunks)
  • src/server/api/root.ts (2 hunks)
  • src/server/api/routers/quality-access.ts (1 hunks)
  • src/server/api/routers/quality-document.ts (1 hunks)
  • src/server/api/routers/quality-enum.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/quality-document.ts (1 hunks)
  • src/types/role-config.ts (1 hunks)
  • tsconfig.json (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rbxyz
rbxyz merged commit caa2e15 into mainNov 27, 2025
7 of 9 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar Gestão de Qualidade

1 participant

@rbxyz