Gerado em 2026-06-24 21:38:53 . Fonte: /Users/luizpenha/coreproviders/* contra /Users/luizpenha/monetarie.
O estudo compara arquivos relevantes, rotas Vue, menus/navegacao, chamadas HTTP e gates RBAC/permission dos tres fronts. A comparacao e propositalmente conservadora: caminho diferente ou contrato local diferente aparece como gap ou adaptacao ate ser justificado.
src/views, src/composables, src/components, src/shared, src/lib, src/http, src/router, src/stores, src/services.name e evidencias de path/component/meta./dashboard.api.get/post/put/patch/delete e checagem estatica contra o router Phoenix local quando possivel.| Frente | Arquivos CP | Arquivos Monetarie | Mesmo caminho | Adaptados caminho | Faltas caminho | Rotas faltantes | Menus faltantes | APIs locais sem rota estatica | Gaps RBAC | RBAC invalido |
|---|---|---|---|---|---|---|---|---|---|---|
| ib-front / banking | 137 | 193 | 125 | 12 | 0 | 0 | 0 | 0 | 0 | 0 |
| merchant-front / merchant | 120 | 139 | 114 | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
| coreadmin-front / admin | 186 | 521 | 186 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Este bloco registra o que foi validado localmente neste relatorio. Builds/typecheck completos devem ser reexecutados sempre que o codigo mudar depois deste PDF.
| Comando | Codigo | Saida |
|---|---|---|
| git diff --check | 0 | |
| admin pnpm build | 0 | Executado manualmente nesta rodada: pnpm --filter @monetarie/admin build. |
| banking pnpm build | na | Nao reexecutado nesta continuacao; usuario pediu continuidade em merchant-front e coreadmin-front. |
| merchant pnpm build | 0 | Executado manualmente nesta rodada: pnpm --filter @monetarie/merchant-portal build. |
| backend mix compile | 0 | Executado manualmente nesta rodada: mix compile. |
| Area | Impacto | Estado |
|---|---|---|
| PIX envio/consulta | Existe trabalho paralelo no ib-front para cabine PIX | Nao houve alteracao nesta continuacao; foco executado em merchant-front e coreadmin-front. |
| Cabines PIX/SPB/STA | Validacao real de mensageria/integrações externas | Fora do escopo atual deste relatorio de fronts. |
| Backend admin endpoints | Telas coreadmin portadas do coreproviders | Varias chamadas existem no frontend e ainda precisam confirmacao/implementacao local. |
| RBAC granular | Rotas admin novas | Gates sem feature equivalente ficam listados no handoff; Parceiros usa admin.provedores.view ate existir feature dedicada admin.parceiros. |
Port funcional do banking coreproviders para o banking Monetarie, preservando identidade visual e fluxos locais.
| Sinal | Quantidade |
|---|---|
| Arquivos coreproviders no escopo | 137 |
| Arquivos Monetarie no escopo | 193 |
| Arquivos no mesmo caminho | 125 |
| Arquivos adaptados em caminho/fluxo local | 12 |
| Arquivos faltando no mesmo caminho | 0 |
| Arquivos locais sem equivalente CP | 68 |
| Rotas CP faltantes por name | 0 |
| Menus CP faltantes por path normalizado | 0 |
| APIs locais sem rota local por checagem estatica | 0 |
| Rotas admin com requiredPermission sem requiredRbac | 0 |
| Rotas admin com requiredRbac inexistente no seed | 0 |
| Area | CP | Monetarie | Mesmo caminho | Adaptado | Faltando | Local only |
|---|---|---|---|---|---|---|
| src/views | 101 | 152 | 100 | 1 | 0 | 52 |
| src/composables | 11 | 24 | 11 | 0 | 0 | 13 |
| src/components | 3 | 4 | 3 | 0 | 0 | 1 |
| src/shared | 15 | 4 | 4 | 11 | 0 | 0 |
| src/lib | 2 | 3 | 2 | 0 | 0 | 1 |
| src/http | 1 | 1 | 1 | 0 | 0 | 0 |
| src/router | 1 | 1 | 1 | 0 | 0 | 0 |
| src/stores | 3 | 4 | 3 | 0 | 0 | 1 |
| Arquivo coreproviders | Motivo |
|---|---|
| src/shared/api/index.ts | Adaptado para src/http/api.ts e src/lib/api.ts locais. |
| src/shared/components/FlxBottomNav.vue | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/components/FlxDrawer.vue | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/components/FlxFinancialCard.vue | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/components/FlxHeader.vue | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/components/FlxQuickAction.vue | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/components/FlxSidebar.vue | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/components/index.ts | Design system consumido via pacote @monetarie/shared/components. |
| src/shared/i18n/index.ts | I18n local fica nos arquivos src/i18n/*. |
| src/shared/theme/index.ts | Tema consumido via pacote @monetarie/shared/theme. |
| src/shared/theme/useTheme.ts | Tema consumido via pacote @monetarie/shared/theme. |
| src/views/settings/ChangePasswordView.vue | Fluxo local mantido em src/views/auth/ChangePasswordView.vue. |
| Name | Path CP | Component CP | Meta CP |
|---|---|---|---|
| Nenhuma |
| Name CP | Path CP | Name local | Path local | Component |
|---|---|---|---|---|
| business-onboarding | /business-onboarding | business-onboarding-cnpj | /business-onboarding | src/views/nextcode-onboarding/NextCodeOnboardingView.vue |
| inTransit | in-transit | in-transit | in-transit | src/views/in-transit/InTransitView.vue |
| Path CP | Normalizado | Label | Capability | Origem |
|---|---|---|---|---|
| Nenhum |
| Metodo | Endpoint CP | Normalizado | Arquivo CP |
|---|---|---|---|
| POST | /onboarding/register | /onboarding/register | src/composables/useNextCodeOnboarding.ts:27 |
| POST | /onboarding/resend-otp | /onboarding/resend-otp | src/composables/useNextCodeOnboarding.ts:51 |
| POST | /onboarding/verify-otp | /onboarding/verify-otp | src/composables/useNextCodeOnboarding.ts:69 |
| GET | /onboarding/status/${proposalId} | /onboarding/status/:var | src/composables/useNextCodeOnboarding.ts:102 |
| POST | /onboarding/register | /onboarding/register | src/composables/useBusinessOnboarding.ts:25 |
| POST | /onboarding/verify-otp | /onboarding/verify-otp | src/composables/useBusinessOnboarding.ts:35 |
| POST | /onboarding/resend-otp | /onboarding/resend-otp | src/composables/useBusinessOnboarding.ts:45 |
| POST | /accounts/${getAccountId()}/transfers | /accounts/:var/transfers | src/composables/useTransfer.ts:70 |
| GET | /transfers/favorites | /transfers/favorites | src/composables/useTransfer.ts:84 |
| POST | /transfers/favorites | /transfers/favorites | src/composables/useTransfer.ts:98 |
| DELETE | /transfers/favorites/${favoriteId} | /transfers/favorites/:var | src/composables/useTransfer.ts:112 |
| GET | /transfers/lookup-account | /transfers/lookup-account | src/composables/useTransfer.ts:125 |
| POST | /accounts/${getAccountId()}/transfers/ted | /accounts/:var/transfers/ted | src/composables/useTransfer.ts:141 |
| GET | /banks | /banks | src/composables/useTransfer.ts:155 |
| GET | /accounts | /accounts | src/stores/account.ts:35 |
| GET | /accounts/${selectedAccount.value.id}/balance | /accounts/:var/balance | src/stores/account.ts:63 |
| POST | /auth/logout | /auth/logout | src/http/api.ts:79 |
| POST | /auth/verify-email | /auth/verify-email | src/http/api.ts:86 |
| POST | /auth/resend-verification | /auth/resend-verification | src/http/api.ts:88 |
| POST | /auth/change-password | /auth/change-password | src/http/api.ts:97 |
| GET | /merchants | /merchants | src/http/api.ts:102 |
| GET | /merchants/${id} | /merchants/:var | src/http/api.ts:103 |
| PUT | /merchants/${id} | /merchants/:var | src/http/api.ts:105 |
| POST | /merchants/accept-invitation | /merchants/accept-invitation | src/http/api.ts:107 |
| GET | /accounts | /accounts | src/http/api.ts:113 |
| GET | /accounts/${id} | /accounts/:var | src/http/api.ts:114 |
| POST | /accounts | /accounts | src/http/api.ts:116 |
| PUT | /accounts/${id} | /accounts/:var | src/http/api.ts:118 |
| DELETE | /accounts/${id} | /accounts/:var | src/http/api.ts:119 |
| POST | /transactions/${transactionId}/retry-payout | /transactions/:var/retry-payout | src/http/api.ts:142 |
| POST | /pix/dict-lookup | /pix/dict-lookup | src/http/api.ts:156 |
| POST | /pix/charges | /pix/charges | src/http/api.ts:158 |
| GET | /webhooks | /webhooks | src/http/api.ts:185 |
| GET | /webhooks/${id} | /webhooks/:var | src/http/api.ts:186 |
| POST | /webhooks | /webhooks | src/http/api.ts:188 |
| PUT | /webhooks/${id} | /webhooks/:var | src/http/api.ts:190 |
| DELETE | /webhooks/${id} | /webhooks/:var | src/http/api.ts:191 |
| GET | /webhooks/${id}/events | /webhooks/:var/events | src/http/api.ts:193 |
| GET | /api-keys | /api-keys | src/http/api.ts:199 |
| POST | /api-keys | /api-keys | src/http/api.ts:201 |
| DELETE | /api-keys/${id} | /api-keys/:var | src/http/api.ts:202 |
| POST | /accounts/${accountId}/transfers/between-accounts | /accounts/:var/transfers/between-accounts | src/http/api.ts:218 |
| GET | /fees | /fees | src/http/api.ts:224 |
| GET | /limits | /limits | src/http/api.ts:229 |
| GET | /meds | /meds | src/http/api.ts:234 |
| GET | /meds/${id} | /meds/:var | src/http/api.ts:235 |
| GET | /med-cautelar-blocks | /med-cautelar-blocks | src/http/api.ts:241 |
| GET | /med-cautelar-blocks/${id} | /med-cautelar-blocks/:var | src/http/api.ts:242 |
| GET | /med-cautelar-blocks/${id}/refunds | /med-cautelar-blocks/:var/refunds | src/http/api.ts:243 |
| POST | /med-cautelar-blocks/${id}/defense | /med-cautelar-blocks/:var/defense | src/http/api.ts:245 |
| GET | /webhooks/events | /webhooks/events | src/http/api.ts:251 |
| GET | /transactions/search | /transactions/search | src/views/TransactionSearchView.vue:42 |
| GET | /analytics/dashboard | /analytics/dashboard | src/views/DashboardAnalyticsView.vue:60 |
| POST | /auth/check-cnpj | /auth/check-cnpj | src/views/LoginView.vue:85 |
| GET | /analytics/dashboard | /analytics/dashboard | src/views/DashboardView.vue:230 |
| GET | /limits | /limits | src/views/LimitsView.vue:107 |
| GET | /fees | /fees | src/views/FeesView.vue:130 |
| GET | /transactions/${transactionId.value}/receipt | /transactions/:var/receipt | src/views/receipts/ReceiptView.vue:175 |
| POST | /auth/change-password | /auth/change-password | src/views/settings/ChangePasswordView.vue:79 |
| GET | /auth/sessions | /auth/sessions | src/views/security/SecurityView.vue:271 |
| GET | /accounts | /accounts | src/views/security/GrantAccessView.vue:227 |
| POST | /auth/change-password | /auth/change-password | src/views/auth/FirstAccessView.vue:60 |
| POST | /auth/verify-sms/send | /auth/verify-sms/send | src/views/auth/FirstAccessView.vue:84 |
| POST | /auth/verify-sms/check | /auth/verify-sms/check | src/views/auth/FirstAccessView.vue:100 |
| POST | /auth/verify-email/send | /auth/verify-email/send | src/views/business-onboarding/Step2EmailView.vue:80 |
| POST | /auth/verify-email/check | /auth/verify-email/check | src/views/business-onboarding/Step2EmailView.vue:132 |
| GET | /accounts | /accounts | src/views/transfer/TransferScheduledView.vue:72 |
| GET | /accounts | /accounts | src/views/transfer/TransferHistoryView.vue:63 |
| GET | /transfers/favorites | /transfers/favorites | src/views/transfer/TransferSendView.vue:50 |
| POST | /transfers | /transfers | src/views/transfer/TransferSendConfirmView.vue:182 |
| GET | /transactions/search | /transactions/search | src/views/statement/StatementView.vue:130 |
| GET | /accounts/${accountId}/statement/export?${params} | /accounts/:var/statement/export | src/views/statement/StatementView.vue:257 |
| GET | /webhooks | /webhooks | src/views/api-keys/ApiKeysWebhooksView.vue:134 |
| GET | /webhooks/events | /webhooks/events | src/views/api-keys/ApiKeysWebhooksView.vue:135 |
| POST | /webhooks | /webhooks | src/views/api-keys/ApiKeysWebhooksView.vue:256 |
| PATCH | /webhooks/${webhookId}/toggle | /webhooks/:var/toggle | src/views/api-keys/ApiKeysWebhooksView.vue:304 |
| POST | /webhooks/${webhookId}/test | /webhooks/:var/test | src/views/api-keys/ApiKeysWebhooksView.vue:321 |
| DELETE | /webhooks/${deleteWebhookId.value} | /webhooks/:var | src/views/api-keys/ApiKeysWebhooksView.vue:334 |
| GET | /api-keys/${keyId} | /api-keys/:var | src/views/api-keys/ApiKeysDetailView.vue:83 |
| PATCH | /api-keys/${apiKey.value.id}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysDetailView.vue:188 |
| PATCH | /api-keys/${apiKey.value.id}/permissions | /api-keys/:var/permissions | src/views/api-keys/ApiKeysDetailView.vue:217 |
| PATCH | /api-keys/${apiKey.value.id}/ip-whitelist | /api-keys/:var/ip-whitelist | src/views/api-keys/ApiKeysDetailView.vue:243 |
| PATCH | /api-keys/${apiKey.value!.id}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysDetailView.vue:296 |
| DELETE | /api-keys/${apiKey.value!.id} | /api-keys/:var | src/views/api-keys/ApiKeysDetailView.vue:301 |
| POST | /api-keys | /api-keys | src/views/api-keys/ApiKeysDetailView.vue:302 |
| POST | /api-keys | /api-keys | src/views/api-keys/ApiKeysCreateView.vue:255 |
| GET | /api-keys | /api-keys | src/views/api-keys/ApiKeysView.vue:58 |
| PATCH | /api-keys/${keyId}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysView.vue:98 |
| PATCH | /api-keys/${revokeKeyId.value}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysView.vue:111 |
| GET | /med-cautelar-blocks | /med-cautelar-blocks | src/views/compliance/ComplianceView.vue:66 |
| Mais 10 itens no JSON/Markdown anexo. | |||
| Metodo | Endpoint local | Normalizado | Arquivo local |
|---|---|---|---|
| Nenhuma |
| Grupo | Qtd | Arquivos |
|---|---|---|
| Nenhum | 0 |
Port funcional do merchant coreproviders para o merchant Monetarie, com adaptacoes de layout/paths locais.
| Sinal | Quantidade |
|---|---|
| Arquivos coreproviders no escopo | 120 |
| Arquivos Monetarie no escopo | 139 |
| Arquivos no mesmo caminho | 114 |
| Arquivos adaptados em caminho/fluxo local | 6 |
| Arquivos faltando no mesmo caminho | 0 |
| Arquivos locais sem equivalente CP | 25 |
| Rotas CP faltantes por name | 0 |
| Menus CP faltantes por path normalizado | 0 |
| APIs locais sem rota local por checagem estatica | 0 |
| Rotas admin com requiredPermission sem requiredRbac | 0 |
| Rotas admin com requiredRbac inexistente no seed | 0 |
| Area | CP | Monetarie | Mesmo caminho | Adaptado | Faltando | Local only |
|---|---|---|---|---|---|---|
| src/views | 84 | 97 | 78 | 6 | 0 | 19 |
| src/composables | 11 | 15 | 11 | 0 | 0 | 4 |
| src/components | 5 | 6 | 5 | 0 | 0 | 1 |
| src/shared | 15 | 15 | 15 | 0 | 0 | 0 |
| src/lib | 1 | 2 | 1 | 0 | 0 | 1 |
| src/http | 1 | 1 | 1 | 0 | 0 | 0 |
| src/router | 1 | 1 | 1 | 0 | 0 | 0 |
| src/stores | 2 | 2 | 2 | 0 | 0 | 0 |
| Arquivo coreproviders | Motivo |
|---|---|
| src/views/LoginView.vue | Fluxo local fica em src/views/auth/LoginView.vue. |
| src/views/auth/InviteAcceptView.vue | Adaptado para src/views/auth/AcceptInvitationView.vue com token por query ou path param. |
| src/views/auth/ResetPasswordView.vue | Adaptado para src/views/auth/SetPasswordView.vue via rota /reset-password. |
| src/views/login/Verify2FAView.vue | 2FA local fica no fluxo de login; /login/verify-2fa redireciona para /login. |
| src/views/pix/PixHubView.vue | Hub local equivalente fica em src/views/pix/PixView.vue. |
| src/views/webhooks/WebhookDeliveriesView.vue | Fluxo local usa entregas por webhook em src/views/development/WebhookDetailView.vue; backend local nao expoe listagem global merchant /webhooks/deliveries. |
| Name | Path CP | Component CP | Meta CP |
|---|---|---|---|
| Nenhuma |
| Name CP | Path CP | Name local | Path local | Component |
|---|---|---|---|---|
| api-keys-create | api-keys/create | merchant-api-keys-create | api-keys/create | src/views/api-keys/ApiKeysCreateView.vue |
| api-keys-detail | api-keys/:id | merchant-api-keys-detail | api-keys/:id | src/views/api-keys/ApiKeysDetailView.vue |
| api-keys-webhooks | api-keys/:id/webhooks | merchant-api-keys-webhooks | api-keys/:id/webhooks | src/views/api-keys/ApiKeysWebhooksView.vue |
| cards | cards | cards-listing | cards/listing | src/views/cards/CardsListingView.vue |
| compliance | infractions | merchant-compliance | infractions | src/views/infractions/InfractionDetailView.vue |
| dashboard-analytics | dashboard/analytics | merchant-analytics | analytics | src/views/DashboardAnalyticsView.vue |
| dev-api-keys | development/api-keys | api-keys | development/api-keys | src/views/development/ApiKeysView.vue |
| dev-webhook-detail | development/webhooks/:id | webhook-detail | development/webhooks/:id | src/views/development/WebhookDetailView.vue |
| dev-webhook-edit | development/webhooks/:id/edit | webhook-edit | development/webhooks/:id/edit | src/views/development/WebhookEditView.vue |
| dev-webhooks | development/webhooks | webhooks | development/webhooks | src/views/development/WebhooksView.vue |
| fee-split-received | fee-splits | merchant-fee-splits | fee-splits | src/views/fee-splits/FeeSplitReceivedView.vue |
| fees | fees | merchant-fees | fees | src/views/FeesView.vue |
| inTransit | in-transit | in-transit | in-transit | src/views/in-transit/InTransitView.vue |
| ledger | ledger | merchant-ledger | ledger | src/views/LedgerView.vue |
| med-defense | meds/:id | merchant-med-defense | meds/:id/defense | src/views/meds/MedDefenseView.vue |
| settings-2fa | settings/two-factor-auth | settings-two-factor-auth | settings/two-factor-auth | src/views/settings/TwoFactorAuthView.vue |
| transaction-search | transaction-search | merchant-transaction-search | transaction-search | src/views/TransactionSearchView.vue |
| Path CP | Normalizado | Label | Capability | Origem |
|---|---|---|---|---|
| Nenhum |
| Metodo | Endpoint CP | Normalizado | Arquivo CP |
|---|---|---|---|
| GET | /transactions/${encodeURIComponent(transactionId)}/receipt.pdf | /transactions/:var/receipt.pdf | src/composables/useReceiptDownloader.ts:11 |
| POST | /accounts/${getAccountId()}/transfers | /accounts/:var/transfers | src/composables/useTransfer.ts:70 |
| POST | /accounts/${getAccountId()}/transfers/ted | /accounts/:var/transfers/ted | src/composables/useTransfer.ts:141 |
| POST | /auth/mfa/backup/verify | /auth/mfa/backup/verify | src/stores/auth.ts:103 |
| POST | /auth/refresh | /auth/refresh | src/stores/auth.ts:154 |
| POST | /auth/logout | /auth/logout | src/stores/auth.ts:181 |
| POST | /auth/refresh | /auth/refresh | src/http/api.ts:75 |
| POST | /auth/logout | /auth/logout | src/http/api.ts:114 |
| POST | /auth/change-password | /auth/change-password | src/http/api.ts:128 |
| GET | /accounts/${id} | /accounts/:var | src/http/api.ts:143 |
| POST | /pix/dict-lookup | /pix/dict-lookup | src/http/api.ts:178 |
| POST | /pix/charges | /pix/charges | src/http/api.ts:180 |
| POST | /qrcodes | /qrcodes | src/http/api.ts:201 |
| GET | /webhooks/${id} | /webhooks/:var | src/http/api.ts:208 |
| PUT | /webhooks/${id} | /webhooks/:var | src/http/api.ts:212 |
| GET | /webhooks/${id}/events | /webhooks/:var/events | src/http/api.ts:215 |
| GET | /api-keys | /api-keys | src/http/api.ts:221 |
| POST | /api-keys | /api-keys | src/http/api.ts:223 |
| DELETE | /api-keys/${id} | /api-keys/:var | src/http/api.ts:224 |
| PATCH | /api-keys/${id}/ip-whitelist | /api-keys/:var/ip-whitelist | src/http/api.ts:226 |
| POST | /accounts/${accountId}/transfers/between-accounts | /accounts/:var/transfers/between-accounts | src/http/api.ts:242 |
| GET | /fees | /fees | src/http/api.ts:248 |
| GET | /med-cautelar-blocks | /med-cautelar-blocks | src/http/api.ts:258 |
| GET | /med-cautelar-blocks/${id} | /med-cautelar-blocks/:var | src/http/api.ts:259 |
| POST | /med-cautelar-blocks/${id}/defense | /med-cautelar-blocks/:var/defense | src/http/api.ts:261 |
| GET | /analytics/dashboard | /analytics/dashboard | src/views/DashboardAnalyticsView.vue:69 |
| GET | /pix/keys | /pix/keys | src/views/DashboardView.vue:74 |
| GET | /analytics/dashboard | /analytics/dashboard | src/views/DashboardView.vue:229 |
| GET | /fees | /fees | src/views/FeesView.vue:137 |
| GET | /transactions/${transactionId.value}/receipt | /transactions/:var/receipt | src/views/receipts/ReceiptView.vue:178 |
| POST | /auth/change-password | /auth/change-password | src/views/settings/ChangePasswordView.vue:79 |
| GET | /fee-history | /fee-history | src/views/fees/FeeHistoryView.vue:203 |
| GET | /fee-summary | /fee-summary | src/views/fees/FeeHistoryView.vue:204 |
| GET | /auth/sessions | /auth/sessions | src/views/security/SecurityView.vue:264 |
| POST | /auth/change-password | /auth/change-password | src/views/auth/FirstAccessView.vue:82 |
| POST | /transfers | /transfers | src/views/transfer/TransferSendConfirmView.vue:183 |
| PATCH | /webhooks/${webhookId}/toggle | /webhooks/:var/toggle | src/views/api-keys/ApiKeysWebhooksView.vue:327 |
| GET | /api-keys/${keyId} | /api-keys/:var | src/views/api-keys/ApiKeysDetailView.vue:83 |
| PATCH | /api-keys/${apiKey.value.id}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysDetailView.vue:181 |
| PATCH | /api-keys/${apiKey.value.id}/permissions | /api-keys/:var/permissions | src/views/api-keys/ApiKeysDetailView.vue:210 |
| PATCH | /api-keys/${apiKey.value.id}/ip-whitelist | /api-keys/:var/ip-whitelist | src/views/api-keys/ApiKeysDetailView.vue:236 |
| DELETE | /api-keys/${apiKey.value.id} | /api-keys/:var | src/views/api-keys/ApiKeysDetailView.vue:281 |
| POST | /api-keys | /api-keys | src/views/api-keys/ApiKeysDetailView.vue:282 |
| POST | /api-keys | /api-keys | src/views/api-keys/ApiKeysCreateView.vue:242 |
| GET | /api-keys | /api-keys | src/views/api-keys/ApiKeysView.vue:61 |
| PATCH | /api-keys/${keyId}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysView.vue:101 |
| PATCH | /api-keys/${revokeKeyId.value}/status | /api-keys/:var/status | src/views/api-keys/ApiKeysView.vue:113 |
| GET | /med-cautelar-blocks | /med-cautelar-blocks | src/views/compliance/ComplianceView.vue:66 |
| GET | /dict/infractions | /dict/infractions | src/views/compliance/ComplianceView.vue:231 |
| POST | /pix/return | /pix/return | src/views/pix/PixRefundView.vue:179 |
| GET | /webhooks/deliveries | /webhooks/deliveries | src/views/webhooks/WebhookDeliveriesView.vue:119 |
| POST | /webhooks/deliveries/${deliveryId}/replay | /webhooks/deliveries/:var/replay | src/views/webhooks/WebhookDeliveriesView.vue:189 |
| POST | /webhooks/deliveries/replay-batch | /webhooks/deliveries/replay-batch | src/views/webhooks/WebhookDeliveriesView.vue:209 |
| Metodo | Endpoint local | Normalizado | Arquivo local |
|---|---|---|---|
| Nenhuma |
| Grupo | Qtd | Arquivos |
|---|---|---|
| Nenhum | 0 |
Paridade funcional seletiva: preservar dashboard/layout Monetarie e portar telas/fluxos operacionais faltantes.
| Sinal | Quantidade |
|---|---|
| Arquivos coreproviders no escopo | 186 |
| Arquivos Monetarie no escopo | 521 |
| Arquivos no mesmo caminho | 186 |
| Arquivos adaptados em caminho/fluxo local | 0 |
| Arquivos faltando no mesmo caminho | 0 |
| Arquivos locais sem equivalente CP | 335 |
| Rotas CP faltantes por name | 0 |
| Menus CP faltantes por path normalizado | 0 |
| APIs locais sem rota local por checagem estatica | 0 |
| Rotas admin com requiredPermission sem requiredRbac | 0 |
| Rotas admin com requiredRbac inexistente no seed | 0 |
| Area | CP | Monetarie | Mesmo caminho | Adaptado | Faltando | Local only |
|---|---|---|---|---|---|---|
| src/views | 130 | 390 | 130 | 0 | 0 | 260 |
| src/composables | 29 | 94 | 29 | 0 | 0 | 65 |
| src/components | 8 | 9 | 8 | 0 | 0 | 1 |
| src/shared | 7 | 7 | 7 | 0 | 0 | 0 |
| src/lib | 8 | 14 | 8 | 0 | 0 | 6 |
| src/router | 1 | 1 | 1 | 0 | 0 | 0 |
| src/stores | 3 | 3 | 3 | 0 | 0 | 0 |
| src/services | 0 | 3 | 0 | 0 | 0 | 3 |
| Arquivo coreproviders | Motivo |
|---|---|
| Nenhum |
| Name | Path CP | Component CP | Meta CP |
|---|---|---|---|
| Nenhuma |
| Name CP | Path CP | Name local | Path local | Component |
|---|---|---|---|---|
| DashboardNotFound | :pathMatch(.*)* | NotFound | /:pathMatch(.*)* | src/views/UnderConstructionView.vue |
| EFinanceira | regulatory/efinanceira | EFinanceiraLanding | regulatory/efinanceira | src/views/regulatory/EFinanceiraView.vue |
| Reconciliation | reconciliation | ReconciliationDashboard | reconciliation | src/views/reconciliation/ReconciliationDashboardView.vue |
| SisbajudList | regulatory/sisbajud | Sisbajud | regulatory/sisbajud | src/views/regulatory/SisbajudListView.vue |
| TransactionsByClient | reports/transactions-by-client | TransactionList | transactions | src/views/transactions/TransactionListView.vue |
| TreasuryCaixaAviv | treasury/caixa-institucional | TreasuryCaixaInstitucional | treasury/caixa-institucional | src/views/treasury/CaixaAvivView.vue |
| Path CP | Normalizado | Label | Capability | Origem |
|---|---|---|---|---|
| Nenhum |
| Metodo | Endpoint CP | Normalizado | Arquivo CP |
|---|---|---|---|
| GET | /sisbajud/orders | /sisbajud/orders | src/composables/useSisbajud.ts:46 |
| GET | /sisbajud/orders/${orderId}/blocks | /sisbajud/orders/:var/blocks | src/composables/useSisbajud.ts:58 |
| POST | /sisbajud/orders/${orderId}/process | /sisbajud/orders/:var/process | src/composables/useSisbajud.ts:70 |
| GET | /transactions | /transactions | src/composables/useTransactions.ts:31 |
| POST | /transactions/${params.transactionId}/refund | /transactions/:var/refund | src/composables/useTransactions.ts:47 |
| POST | /transactions/${transactionId}/retry | /transactions/:var/retry | src/composables/useTransactions.ts:58 |
| GET | /transactions/${transactionId} | /transactions/:var | src/composables/useTransactions.ts:92 |
| GET | /transactions/${id} | /transactions/:var | src/composables/useTransactions.ts:170 |
| GET | /fee-configs | /fee-configs | src/composables/useFeeConfigs.ts:66 |
| POST | /fee-configs | /fee-configs | src/composables/useFeeConfigs.ts:73 |
| PUT | /fee-configs/${id} | /fee-configs/:var | src/composables/useFeeConfigs.ts:83 |
| POST | /fee-configs/${id}/deactivate | /fee-configs/:var/deactivate | src/composables/useFeeConfigs.ts:93 |
| GET | /ccs/records | /ccs/records | src/composables/useCcsRecords.ts:36 |
| POST | /ccs/sync | /ccs/sync | src/composables/useCcsRecords.ts:50 |
| POST | /ccs/generate | /ccs/generate | src/composables/useCcsRecords.ts:64 |
| GET | /regulatory-files | /regulatory-files | src/composables/useRegulatoryFiles.ts:29 |
| POST | /regulatory-files/generate | /regulatory-files/generate | src/composables/useRegulatoryFiles.ts:43 |
| POST | /regulatory-files/${fileId}/retry | /regulatory-files/:var/retry | src/composables/useRegulatoryFiles.ts:59 |
| GET | /infractions | /infractions | src/composables/useInfractions.ts:32 |
| POST | /infractions/${id}/defense | /infractions/:var/defense | src/composables/useInfractions.ts:42 |
| POST | /infractions/${id}/resolve | /infractions/:var/resolve | src/composables/useInfractions.ts:53 |
| GET | /infractions/${infractionId} | /infractions/:var | src/composables/useInfractions.ts:95 |
| GET | /infractions/pending-defenses | /infractions/pending-defenses | src/composables/useInfractions.ts:106 |
| GET | /users | /users | src/composables/useUsers.ts:26 |
| PUT | /users/${id} | /users/:var | src/composables/useUsers.ts:33 |
| POST | /users/${userId}/block | /users/:var/block | src/composables/useUsers.ts:43 |
| POST | /users/${userId}/unblock | /users/:var/unblock | src/composables/useUsers.ts:53 |
| GET | /users/${userId} | /users/:var | src/composables/useUsers.ts:83 |
| GET | /virtual-accounts | /virtual-accounts | src/composables/useVirtualAccounts.ts:29 |
| POST | /accounts | /accounts | src/composables/useBankAccounts.ts:94 |
| PUT | /accounts/${id} | /accounts/:var | src/composables/useBankAccounts.ts:102 |
| DELETE | /accounts/${id} | /accounts/:var | src/composables/useBankAccounts.ts:110 |
| PUT | /accounts/${id}/suspend | /accounts/:var/suspend | src/composables/useBankAccounts.ts:117 |
| PUT | /accounts/${id}/reactivate | /accounts/:var/reactivate | src/composables/useBankAccounts.ts:124 |
| GET | /accounts/summary | /accounts/summary | src/composables/useBankAccounts.ts:155 |
| POST | /merchants | /merchants | src/composables/useMerchants.ts:33 |
| PUT | /merchants/${id} | /merchants/:var | src/composables/useMerchants.ts:43 |
| DELETE | /merchants/${id} | /merchants/:var | src/composables/useMerchants.ts:53 |
| GET | /merchant-configs/${merchantId.value} | /merchant-configs/:var | src/composables/useMerchants.ts:95 |
| PUT | /merchant-configs/${merchantId.value} | /merchant-configs/:var | src/composables/useMerchants.ts:103 |
| POST | /auth/login | /auth/login | src/stores/admin.ts:60 |
| GET | /auth/me | /auth/me | src/stores/admin.ts:99 |
| DELETE | /auth/logout | /auth/logout | src/stores/admin.ts:118 |
| GET | /med-cautelar-blocks/defenses | /med-cautelar-blocks/defenses | src/lib/api.ts:75 |
| GET | /med-cautelar-blocks | /med-cautelar-blocks | src/lib/api.ts:77 |
| GET | /med-cautelar-blocks/${id} | /med-cautelar-blocks/:var | src/lib/api.ts:79 |
| GET | /med-cautelar-blocks/${id}/refunds | /med-cautelar-blocks/:var/refunds | src/lib/api.ts:81 |
| GET | /med-cautelar-blocks/${id}/infraction-reports | /med-cautelar-blocks/:var/infraction-reports | src/lib/api.ts:83 |
| POST | /med-cautelar-blocks/${id}/analyze | /med-cautelar-blocks/:var/analyze | src/lib/api.ts:85 |
| POST | /med-cautelar-blocks/${id}/evidence | /med-cautelar-blocks/:var/evidence | src/lib/api.ts:87 |
| POST | /med-cautelar-blocks/${id}/execute-return | /med-cautelar-blocks/:var/execute-return | src/lib/api.ts:89 |
| POST | /med-cautelar-blocks/${id}/release | /med-cautelar-blocks/:var/release | src/lib/api.ts:91 |
| GET | /quarantine | /quarantine | src/lib/api.ts:115 |
| GET | /quarantine/${id} | /quarantine/:var | src/lib/api.ts:117 |
| POST | /quarantine/${id}/decide | /quarantine/:var/decide | src/lib/api.ts:127 |
| POST | /quarantine/bulk-decide | /quarantine/bulk-decide | src/lib/api.ts:144 |
| GET | /pix-compliance/summary | /pix-compliance/summary | src/lib/api.ts:183 |
| DELETE | /pix-compliance/keys/${id} | /pix-compliance/keys/:var | src/lib/api.ts:187 |
| GET | /pix-compliance/claims | /pix-compliance/claims | src/lib/api.ts:189 |
| GET | /pix-compliance/recoveries | /pix-compliance/recoveries | src/lib/api.ts:190 |
| GET | /merchants/${merchantId}/compliance-report/export | /merchants/:var/compliance-report/export | src/lib/api.ts:303 |
| GET | /infractions/export | /infractions/export | src/lib/api.ts:307 |
| GET | /analytics/compliance/account-ranking/export | /analytics/compliance/account-ranking/export | src/lib/api.ts:317 |
| POST | /med-integration-tokens/${id}/revoke | /med-integration-tokens/:var/revoke | src/lib/api.ts:398 |
| PUT | /med-configs/global | /med-configs/global | src/lib/api.ts:448 |
| PUT | /med-configs/${merchantId} | /med-configs/:var | src/lib/api.ts:451 |
| PUT | /infraction-configs/global | /infraction-configs/global | src/lib/api.ts:458 |
| PUT | /infraction-configs/${merchantId} | /infraction-configs/:var | src/lib/api.ts:461 |
| POST | /med/cautelar/manual | /med/cautelar/manual | src/lib/api.ts:469 |
| GET | /dashboard/stats | /dashboard/stats | src/views/DashboardView.vue:166 |
| GET | /dashboard/recent-activity | /dashboard/recent-activity | src/views/DashboardView.vue:243 |
| GET | /dashboard/volume | /dashboard/volume | src/views/DashboardView.vue:323 |
| GET | /transactions | /transactions | src/views/between-accounts/BetweenAccountListView.vue:53 |
| GET | /transactions/export | /transactions/export | src/views/between-accounts/BetweenAccountListView.vue:122 |
| GET | /cosif/trial-balance | /cosif/trial-balance | src/views/accounting/AccountingReportsView.vue:74 |
| GET | /cosif/balance-sheet | /cosif/balance-sheet | src/views/accounting/AccountingReportsView.vue:75 |
| GET | /cosif/income-statement | /cosif/income-statement | src/views/accounting/AccountingReportsView.vue:76 |
| GET | /cosif/journal-entries | /cosif/journal-entries | src/views/accounting/AccountingReportsView.vue:233 |
| GET | /accounting/periods | /accounting/periods | src/views/accounting/AccountingReportsView.vue:444 |
| GET | /cosif/trial-balance | /cosif/trial-balance | src/views/accounting/PeriodClosingView.vue:53 |
| GET | /cosif/balance-sheet | /cosif/balance-sheet | src/views/accounting/PeriodClosingView.vue:54 |
| POST | /cadoc/generate | /cadoc/generate | src/views/accounting/PeriodClosingView.vue:75 |
| GET | /cosif/journal-entries | /cosif/journal-entries | src/views/accounting/JournalEntriesView.vue:113 |
| POST | /cosif/journal-entries | /cosif/journal-entries | src/views/accounting/JournalEntriesView.vue:224 |
| POST | /cosif/accounts | /cosif/accounts | src/views/accounting/ChartOfAccountsView.vue:185 |
| GET | /reconciliation/report | /reconciliation/report | src/views/reconciliation/ReconciliationDashboardView.vue:75 |
| POST | /reconciliation/trigger | /reconciliation/trigger | src/views/reconciliation/ReconciliationDashboardView.vue:92 |
| GET | /reconciliation/report/${account.accountId} | /reconciliation/report/:var | src/views/reconciliation/ReconciliationDashboardView.vue:206 |
| POST | /reconciliation/report/${selectedAccount.value.accountId}/sync-fees | /reconciliation/report/:var/sync-fees | src/views/reconciliation/ReconciliationDashboardView.vue:265 |
| GET | /reconciliation/report/${selectedAccount.value.accountId} | /reconciliation/report/:var | src/views/reconciliation/ReconciliationDashboardView.vue:279 |
| Mais 166 itens no JSON/Markdown anexo. | |||
| Metodo | Endpoint local | Normalizado | Arquivo local |
|---|---|---|---|
| Nenhuma |
| Name | Path | Component | Meta atual |
|---|---|---|---|
| Nenhum |
| Name | Path | RequiredRbac | Problema |
|---|---|---|---|
| Nenhum |
| Grupo | Qtd | Arquivos |
|---|---|---|
| Nenhum | 0 |
| Prioridade | Acao | Razao |
|---|---|---|
| P0 | Fechar endpoints locais faltantes usados por telas admin portadas | Sem backend equivalente, tela pode compilar e ainda falhar em runtime. |
| P0 | Nao sobrepor o trabalho paralelo de PIX envio/consulta no ib-front | A rodada atual focou rotas, menus, paginas e contratos de frontend; envio/consulta PIX seguem em trabalho dedicado. |
| P1 | Fechar handoffs de backend para endpoints locais sem rota estatica | Algumas telas coreproviders dependem de contratos que o backend local ainda nao expoe no mesmo path. |
| P1 | Completar RBAC granular no seed/backend e trocar requiredPermission amplo | Evita acesso amplo demais em operacoes PIX/compliance/tesouraria/regulatorio. |
| P1 | Rodar suite com Postgres local corrigido | Teste regulatorio ja foi bloqueado por credencial; sem DB nao ha validacao funcional completa. |
| P2 | Revisar local-only Monetarie contra produto desejado | Ha areas locais alem do coreproviders; precisam ser mantidas conscientemente, nao por acidente. |