104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

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

104 relatorio de pedidos dre - #105

Merged
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre
Sep 19, 2025
Merged

104 relatorio de pedidos dre#105
rbxyz merged 3 commits into
mainfrom
104-relatorio-de-pedidos-dre

Conversation

@rbxyz

@rbxyzrbxyz commented Sep 19, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added DRE report for admins with period/year/date filters, invoice value input, summaries, detailed table, and Excel export.
    • New DRE tab in Admin Food, visible when permitted.
  • Access Control
    • Introduced a “can view DRE report” permission; DRE UI shown only to authorized users.
    • Admin Food now redirects to home if lacking access.
  • Admin UI
    • Permissions page adds “Visualizar Relatório DRE” toggle, badges, and improved admin route handling.
    • Save buttons now use consistent labels (Salvar Permissões, Salvar Rotas).

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

vercelBot commented Sep 19, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
eloReadyReadyPreviewCommentSep 19, 2025 0:20am

@coderabbitai

coderabbitaiBot commented Sep 19, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds a DRE report feature: client UI (DREReport), server TRPC query (getDREData), Excel export, and supporting table components. Integrates a new DRE tab into the admin food page, extends access-control with canViewDREReport, and propagates a new RolesConfig field (can_view_dre_report) across types, user/forms APIs, and webhook initialization.

Changes

Cohort / File(s)Summary
DRE Report UI
src/app/(authenticated)/admin/food/_components/dre-report.tsx
New client component to fetch DRE data, compute representativeness and cost-center allocation, render table/cards, and export to Excel.
Admin Food Page Integration
src/app/(authenticated)/admin/food/page.tsx
Adds “Relatório DRE” tab gated by canViewDREReport; mounts DREReport; includes redirect for lacking admin access.
Access Control Enhancements
src/hooks/use-access-control.tsx
Exposes canViewDREReport; grants admin route access when role_config.can_view_dre_report or sudo; handles DRE-specific routes.
Server: Food Orders DRE Data
src/server/api/routers/food-order.ts
Adds getDREData query aggregating orders by enterprise and sector for monthly/quarterly/annual periods.
RolesConfig + APIs Propagation
src/types/role-config.ts, src/server/api/routers/user.ts, src/server/api/routers/forms.ts
Introduces RolesConfig.can_view_dre_report: boolean; includes in me() defaults, updateRoleConfig input, and forms default role_config initialization.
Admin Users Page Permission UI
src/app/(authenticated)/admin/users/page.tsx
Adds “Visualizar Relatório DRE” permission toggle; syncs admin routes; updates save flows and badges; logging for route edits.
UI Table Components
src/components/ui/table.tsx
New Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption components with forwardRef and class merging.
Clerk Webhook Initialization
src/app/api/webhooks/clerk/route.ts
Initializes can_view_dre_report (false by default; true for admin); extends admin_pages set with “/vehicles” and “/users”.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Admin as Admin User
participant Page as Admin Food Page
participant DRE as DREReport (Client)
participant AC as useAccessControl
participant API as TRPC foodOrder.getDREData
participant XLSX as Excel Export
Admin->>Page: Navigate /admin/food
Page->>AC: canViewDREReport()
AC-->>Page: boolean
alt can view
Page->>DRE: Mount component
Admin->>DRE: Set filters (period/year/date, invoice value)
Admin->>DRE: Click "Gerar Relatório"
DRE->>API: getDREData({ year, period, date? })
API-->>DRE: Aggregated rows
DRE->>DRE: Compute representativeness and rateio
DRE-->>Admin: Render summary + table
opt Export
Admin->>DRE: Click "Exportar Excel"
DRE->>XLSX: Build workbook
XLSX-->>Admin: Download file
end
else no permission
Page-->>Admin: DRE tab hidden
end
Loading
sequenceDiagram
autonumber
actor Clerk as Clerk Webhook
participant API as /api/webhooks/clerk
participant Roles as RolesConfig
participant UserAPI as user.me()/updateRoleConfig
participant Hook as useAccessControl
Clerk->>API: user.created/public_metadata
API->>Roles: Init role_config { can_view_dre_report: false|true }
UserAPI-->>Client: me() returns role_config with can_view_dre_report
Client->>Hook: useAccessControl()
Hook-->>Client: canViewDREReport() derived from sudo/role_config
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jdalmeida

Poem

hop hop, new ledgers to see
rows and totals, neat as can be
I nibble bytes, export to .xlsx
quarters, months—crunching the specs
a carrot-orange DRE delight
permissions set, the tab in sight
tail twitches—reports take flight! 🥕📊

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 104-relatorio-de-pedidos-dre

📜 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 2ca7771 and 785cfaa.

📒 Files selected for processing (10)
  • src/app/(authenticated)/admin/food/_components/dre-report.tsx (1 hunks)
  • src/app/(authenticated)/admin/food/page.tsx (4 hunks)
  • src/app/(authenticated)/admin/users/page.tsx (13 hunks)
  • src/app/api/webhooks/clerk/route.ts (2 hunks)
  • src/components/ui/table.tsx (1 hunks)
  • src/hooks/use-access-control.tsx (3 hunks)
  • src/server/api/routers/food-order.ts (1 hunks)
  • src/server/api/routers/forms.ts (1 hunks)
  • src/server/api/routers/user.ts (3 hunks)
  • src/types/role-config.ts (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"mode: "warning"instructions: | Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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 fd6f668 into mainSep 19, 2025
3 of 4 checks passed
@coderabbitaicoderabbitaiBot mentioned this pull request Oct 1, 2025
@coderabbitaicoderabbitaiBot mentioned this pull request May 20, 2026
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.

Relatório de pedidos DRE

1 participant

@rbxyz