Fix all duplicate route conflicts: combine methods and move UI routes to /api/ui/
This commit is contained in:
parent
44a7f3eade
commit
cb2f13d5b0
8 changed files with 46 additions and 94 deletions
|
|
@ -807,8 +807,7 @@ pub fn configure_insights_routes() -> Router<Arc<AppState>> {
|
||||||
.route("/api/insights/weekly", get(handle_get_weekly))
|
.route("/api/insights/weekly", get(handle_get_weekly))
|
||||||
.route("/api/insights/trends", get(handle_get_trends))
|
.route("/api/insights/trends", get(handle_get_trends))
|
||||||
.route("/api/insights/recommendations", get(handle_get_recommendations))
|
.route("/api/insights/recommendations", get(handle_get_recommendations))
|
||||||
.route("/api/insights/settings", get(handle_get_settings))
|
.route("/api/insights/settings", get(handle_get_settings).put(handle_update_settings))
|
||||||
.route("/api/insights/settings", put(handle_update_settings))
|
|
||||||
.route("/api/insights/focus-mode", put(handle_update_focus_mode))
|
.route("/api/insights/focus-mode", put(handle_update_focus_mode))
|
||||||
.route("/api/insights/apps", get(handle_get_app_breakdown))
|
.route("/api/insights/apps", get(handle_get_app_breakdown))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,21 +50,21 @@ fn format_currency(amount: f64, currency: &str) -> String {
|
||||||
|
|
||||||
pub fn configure_billing_routes() -> Router<Arc<AppState>> {
|
pub fn configure_billing_routes() -> Router<Arc<AppState>> {
|
||||||
Router::new()
|
Router::new()
|
||||||
.route("/api/billing/invoices", get(handle_invoices))
|
.route("/api/ui/billing/invoices", get(handle_invoices))
|
||||||
.route("/api/billing/payments", get(handle_payments))
|
.route("/api/ui/billing/payments", get(handle_payments))
|
||||||
.route("/api/billing/quotes", get(handle_quotes))
|
.route("/api/ui/billing/quotes", get(handle_quotes))
|
||||||
.route("/api/billing/stats/pending", get(handle_stats_pending))
|
.route("/api/ui/billing/stats/pending", get(handle_stats_pending))
|
||||||
.route("/api/billing/stats/revenue-month", get(handle_revenue_month))
|
.route("/api/ui/billing/stats/revenue-month", get(handle_revenue_month))
|
||||||
.route("/api/billing/stats/paid-month", get(handle_paid_month))
|
.route("/api/ui/billing/stats/paid-month", get(handle_paid_month))
|
||||||
.route("/api/billing/stats/overdue", get(handle_overdue))
|
.route("/api/ui/billing/stats/overdue", get(handle_overdue))
|
||||||
.route("/api/billing/search", get(handle_billing_search))
|
.route("/api/ui/billing/search", get(handle_billing_search))
|
||||||
.route("/api/billing/dashboard/metrics", get(handle_dashboard_metrics))
|
.route("/api/ui/billing/dashboard/metrics", get(handle_dashboard_metrics))
|
||||||
.route("/api/billing/dashboard/spending-chart", get(handle_spending_chart))
|
.route("/api/ui/billing/dashboard/spending-chart", get(handle_spending_chart))
|
||||||
.route("/api/billing/dashboard/cost-breakdown", get(handle_cost_breakdown))
|
.route("/api/ui/billing/dashboard/cost-breakdown", get(handle_cost_breakdown))
|
||||||
.route("/api/billing/dashboard/quotas", get(handle_dashboard_quotas))
|
.route("/api/ui/billing/dashboard/quotas", get(handle_dashboard_quotas))
|
||||||
.route("/api/billing/invoices/export", get(handle_invoices_export))
|
.route("/api/ui/billing/invoices/export", get(handle_invoices_export))
|
||||||
.route("/api/billing/subscription/upgrade", post(handle_subscription_upgrade))
|
.route("/api/ui/billing/subscription/upgrade", post(handle_subscription_upgrade))
|
||||||
.route("/api/billing/subscription/cancel", post(handle_subscription_cancel))
|
.route("/api/ui/billing/subscription/cancel", post(handle_subscription_cancel))
|
||||||
.route("/api/admin/billing/quotas", put(handle_admin_billing_quotas))
|
.route("/api/admin/billing/quotas", put(handle_admin_billing_quotas))
|
||||||
.route("/api/admin/billing/alerts", put(handle_admin_billing_alerts))
|
.route("/api/admin/billing/alerts", put(handle_admin_billing_alerts))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,27 +71,12 @@ impl IntoResponse for ComplianceError {
|
||||||
|
|
||||||
pub fn configure_compliance_routes() -> Router<Arc<AppState>> {
|
pub fn configure_compliance_routes() -> Router<Arc<AppState>> {
|
||||||
Router::new()
|
Router::new()
|
||||||
.route("/api/compliance/checks", get(handlers::handle_list_checks))
|
.route("/api/compliance/checks", get(handlers::handle_list_checks).post(handlers::handle_run_check))
|
||||||
.route("/api/compliance/checks", post(handlers::handle_run_check))
|
.route("/api/compliance/checks/:check_id", get(handlers::handle_get_check))
|
||||||
.route(
|
.route("/api/compliance/issues", get(handlers::handle_list_issues).post(handlers::handle_create_issue))
|
||||||
"/api/compliance/checks/:check_id",
|
.route("/api/compliance/issues/:issue_id", put(handlers::handle_update_issue))
|
||||||
get(handlers::handle_get_check),
|
.route("/api/compliance/audit", get(handlers::handle_list_audit_logs).post(handlers::handle_create_audit_log))
|
||||||
)
|
.route("/api/compliance/training", post(handlers::handle_create_training))
|
||||||
.route("/api/compliance/issues", get(handlers::handle_list_issues))
|
|
||||||
.route("/api/compliance/issues", post(handlers::handle_create_issue))
|
|
||||||
.route(
|
|
||||||
"/api/compliance/issues/:issue_id",
|
|
||||||
put(handlers::handle_update_issue),
|
|
||||||
)
|
|
||||||
.route("/api/compliance/audit", get(handlers::handle_list_audit_logs))
|
|
||||||
.route(
|
|
||||||
"/api/compliance/audit",
|
|
||||||
post(handlers::handle_create_audit_log),
|
|
||||||
)
|
|
||||||
.route(
|
|
||||||
"/api/compliance/training",
|
|
||||||
post(handlers::handle_create_training),
|
|
||||||
)
|
|
||||||
.route("/api/compliance/report", get(handlers::handle_get_report))
|
.route("/api/compliance/report", get(handlers::handle_get_report))
|
||||||
.route("/api/compliance/evidence", post(handlers::handle_upload_evidence))
|
.route("/api/compliance/evidence", post(handlers::handle_upload_evidence))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,40 +19,16 @@ pub use types::*;
|
||||||
|
|
||||||
pub fn configure_dashboards_routes() -> Router<Arc<AppState>> {
|
pub fn configure_dashboards_routes() -> Router<Arc<AppState>> {
|
||||||
Router::new()
|
Router::new()
|
||||||
.route("/api/dashboards", get(handle_list_dashboards))
|
.route("/api/dashboards", get(handle_list_dashboards).post(handle_create_dashboard))
|
||||||
.route("/api/dashboards", post(handle_create_dashboard))
|
|
||||||
.route("/api/dashboards/templates", get(handle_get_templates))
|
.route("/api/dashboards/templates", get(handle_get_templates))
|
||||||
.route("/api/dashboards/:id", get(handle_get_dashboard))
|
.route("/api/dashboards/:id", get(handle_get_dashboard).put(handle_update_dashboard).delete(handle_delete_dashboard))
|
||||||
.route("/api/dashboards/:id", put(handle_update_dashboard))
|
|
||||||
.route("/api/dashboards/:id", delete(handle_delete_dashboard))
|
|
||||||
.route("/api/dashboards/:id/widgets", post(handle_add_widget))
|
.route("/api/dashboards/:id/widgets", post(handle_add_widget))
|
||||||
.route(
|
.route("/api/dashboards/:id/widgets/:widget_id", put(handle_update_widget).delete(handle_delete_widget))
|
||||||
"/api/dashboards/:id/widgets/:widget_id",
|
.route("/api/dashboards/:id/widgets/:widget_id/data", get(handle_get_widget_data))
|
||||||
put(handle_update_widget),
|
.route("/api/dashboards/sources", get(handle_list_data_sources).post(handle_create_data_source))
|
||||||
)
|
.route("/api/dashboards/sources/:id/test", post(handle_test_data_source))
|
||||||
.route(
|
.route("/api/dashboards/sources/:id", delete(handle_delete_data_source))
|
||||||
"/api/dashboards/:id/widgets/:widget_id",
|
.route("/api/dashboards/data-sources", get(handle_list_data_sources).post(handle_create_data_source))
|
||||||
delete(handle_delete_widget),
|
.route("/api/dashboards/data-sources/test", post(handle_test_data_source_no_id))
|
||||||
)
|
|
||||||
.route(
|
|
||||||
"/api/dashboards/:id/widgets/:widget_id/data",
|
|
||||||
get(handle_get_widget_data),
|
|
||||||
)
|
|
||||||
.route("/api/dashboards/sources", get(handle_list_data_sources))
|
|
||||||
.route("/api/dashboards/sources", post(handle_create_data_source))
|
|
||||||
.route(
|
|
||||||
"/api/dashboards/sources/:id/test",
|
|
||||||
post(handle_test_data_source),
|
|
||||||
)
|
|
||||||
.route(
|
|
||||||
"/api/dashboards/sources/:id",
|
|
||||||
delete(handle_delete_data_source),
|
|
||||||
)
|
|
||||||
.route("/api/dashboards/data-sources", get(handle_list_data_sources))
|
|
||||||
.route("/api/dashboards/data-sources", post(handle_create_data_source))
|
|
||||||
.route(
|
|
||||||
"/api/dashboards/data-sources/test",
|
|
||||||
post(handle_test_data_source_no_id),
|
|
||||||
)
|
|
||||||
.route("/api/dashboards/query", post(handle_conversational_query))
|
.route("/api/dashboards/query", post(handle_conversational_query))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -235,9 +235,8 @@ pub fn configure() -> Router<Arc<AppState>> {
|
||||||
.route(ApiUrls::EMAIL_SEARCH_HTMX, get(search_emails_htmx))
|
.route(ApiUrls::EMAIL_SEARCH_HTMX, get(search_emails_htmx))
|
||||||
.route(ApiUrls::EMAIL_AUTO_RESPONDER_HTMX, post(save_auto_responder))
|
.route(ApiUrls::EMAIL_AUTO_RESPONDER_HTMX, post(save_auto_responder))
|
||||||
// Signatures API
|
// Signatures API
|
||||||
.route("/api/email/signatures", get(list_signatures))
|
.route("/api/email/signatures", get(list_signatures).post(create_signature))
|
||||||
.route("/api/email/signatures/default", get(get_default_signature))
|
.route("/api/email/signatures/default", get(get_default_signature))
|
||||||
.route("/api/email/signatures", post(create_signature))
|
|
||||||
.route("/api/email/signatures/{id}", get(get_signature).put(update_signature).delete(delete_signature))
|
.route("/api/email/signatures/{id}", get(get_signature).put(update_signature).delete(delete_signature))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -926,14 +926,11 @@ impl Default for LegalService {
|
||||||
pub fn configure_legal_routes() -> Router<Arc<AppState>> {
|
pub fn configure_legal_routes() -> Router<Arc<AppState>> {
|
||||||
Router::new()
|
Router::new()
|
||||||
.route("/api/legal/consent", post(handle_record_consent))
|
.route("/api/legal/consent", post(handle_record_consent))
|
||||||
.route("/api/legal/consent/:consent_id", get(handle_get_consent))
|
.route("/api/legal/consent/:consent_id", get(handle_get_consent).put(handle_update_consent))
|
||||||
.route("/api/legal/consent/:consent_id", put(handle_update_consent))
|
|
||||||
.route("/api/legal/consent/session", get(handle_get_consent_by_session))
|
.route("/api/legal/consent/session", get(handle_get_consent_by_session))
|
||||||
.route("/api/legal/cookies/policy", get(handle_get_cookie_policy))
|
.route("/api/legal/cookies/policy", get(handle_get_cookie_policy))
|
||||||
.route("/api/legal/documents", get(handle_list_documents))
|
.route("/api/legal/documents", get(handle_list_documents).post(handle_create_document))
|
||||||
.route("/api/legal/documents", post(handle_create_document))
|
.route("/api/legal/documents/:slug", get(handle_get_document).put(handle_update_document))
|
||||||
.route("/api/legal/documents/:slug", get(handle_get_document))
|
|
||||||
.route("/api/legal/documents/:slug", put(handle_update_document))
|
|
||||||
.route("/api/legal/gdpr/delete/:user_id", post(handle_request_data_deletion))
|
.route("/api/legal/gdpr/delete/:user_id", post(handle_request_data_deletion))
|
||||||
.route("/api/legal/gdpr/export/:user_id", post(handle_export_user_data))
|
.route("/api/legal/gdpr/export/:user_id", post(handle_export_user_data))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,14 +51,14 @@ fn format_currency(amount: f64, currency: &str) -> String {
|
||||||
|
|
||||||
pub fn configure_products_routes() -> Router<Arc<AppState>> {
|
pub fn configure_products_routes() -> Router<Arc<AppState>> {
|
||||||
Router::new()
|
Router::new()
|
||||||
.route("/api/products/items", get(handle_products_items))
|
.route("/api/ui/products/items", get(handle_products_items))
|
||||||
.route("/api/products/services", get(handle_products_services))
|
.route("/api/ui/products/services", get(handle_products_services))
|
||||||
.route("/api/products/pricelists", get(handle_products_pricelists))
|
.route("/api/ui/products/pricelists", get(handle_products_pricelists))
|
||||||
.route("/api/products/stats/total-products", get(handle_total_products))
|
.route("/api/ui/products/stats/total-products", get(handle_total_products))
|
||||||
.route("/api/products/stats/total-services", get(handle_total_services))
|
.route("/api/ui/products/stats/total-services", get(handle_total_services))
|
||||||
.route("/api/products/stats/pricelists", get(handle_total_pricelists))
|
.route("/api/ui/products/stats/pricelists", get(handle_total_pricelists))
|
||||||
.route("/api/products/stats/active", get(handle_active_products))
|
.route("/api/ui/products/stats/active", get(handle_active_products))
|
||||||
.route("/api/products/search", get(handle_products_search))
|
.route("/api/ui/products/search", get(handle_products_search))
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handle_products_items(
|
async fn handle_products_items(
|
||||||
|
|
|
||||||
|
|
@ -1222,15 +1222,11 @@ pub fn configure_social_routes() -> Router<Arc<AppState>> {
|
||||||
.route("/api/ui/social/feed", get(handle_get_feed_html))
|
.route("/api/ui/social/feed", get(handle_get_feed_html))
|
||||||
.route("/api/ui/social/suggested", get(handle_get_suggested_communities_html))
|
.route("/api/ui/social/suggested", get(handle_get_suggested_communities_html))
|
||||||
.route("/api/social/posts", post(handle_create_post))
|
.route("/api/social/posts", post(handle_create_post))
|
||||||
.route("/api/social/posts/{id}", get(handle_get_post))
|
.route("/api/social/posts/{id}", get(handle_get_post).put(handle_update_post).delete(handle_delete_post))
|
||||||
.route("/api/social/posts/{id}", put(handle_update_post))
|
|
||||||
.route("/api/social/posts/{id}", delete(handle_delete_post))
|
|
||||||
.route("/api/social/posts/{id}/react", post(handle_add_reaction))
|
.route("/api/social/posts/{id}/react", post(handle_add_reaction))
|
||||||
.route("/api/social/posts/{id}/react/{type}", delete(handle_remove_reaction))
|
.route("/api/social/posts/{id}/react/{type}", delete(handle_remove_reaction))
|
||||||
.route("/api/social/posts/{id}/comments", get(handle_get_comments))
|
.route("/api/social/posts/{id}/comments", get(handle_get_comments).post(handle_add_comment))
|
||||||
.route("/api/social/posts/{id}/comments", post(handle_add_comment))
|
.route("/api/social/communities", get(handle_list_communities).post(handle_create_community))
|
||||||
.route("/api/social/communities", get(handle_list_communities))
|
|
||||||
.route("/api/social/communities", post(handle_create_community))
|
|
||||||
.route("/api/social/communities/{id}", get(handle_get_community))
|
.route("/api/social/communities/{id}", get(handle_get_community))
|
||||||
.route("/api/social/communities/{id}/join", post(handle_join_community))
|
.route("/api/social/communities/{id}/join", post(handle_join_community))
|
||||||
.route("/api/social/communities/{id}/leave", post(handle_leave_community))
|
.route("/api/social/communities/{id}/leave", post(handle_leave_community))
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue