koprogo_api/infrastructure/web/
routes.rs1use crate::infrastructure::configure_swagger_ui;
2use crate::infrastructure::web::handlers::*;
3use actix_web::web;
4
5pub fn configure_routes(cfg: &mut web::ServiceConfig) {
6 cfg.service(configure_swagger_ui());
8
9 cfg.service(metrics_endpoint);
10
11 cfg.service(mcp_info_endpoint); cfg.service(mcp_sse_endpoint); cfg.service(mcp_messages_endpoint); cfg.service(mcp_system_prompt_endpoint); cfg.service(mcp_legal_index_endpoint); cfg.service(
21 web::scope("/api/v1")
22 .service(health_check)
23 .service(get_public_syndic_info)
25 .service(list_legal_rules)
27 .service(get_legal_rule)
28 .service(get_ag_sequence)
29 .service(get_majority_for)
30 .service(login)
32 .service(register)
33 .service(refresh_token)
34 .service(switch_role)
35 .service(get_current_user)
36 .service(create_building)
38 .service(list_buildings)
39 .service(get_building)
40 .service(update_building)
41 .service(delete_building)
42 .service(export_annual_report_pdf) .service(create_unit)
45 .service(list_units)
46 .service(get_unit)
47 .service(update_unit)
48 .service(delete_unit)
49 .service(list_units_by_building)
50 .service(assign_owner)
51 .service(get_my_owner)
55 .service(create_owner)
56 .service(list_owners)
57 .service(get_owner)
58 .service(update_owner)
59 .service(link_owner_to_user)
60 .service(export_owner_statement_pdf) .service(create_contribution)
64 .service(get_contributions_by_owner)
65 .service(get_outstanding_contributions)
66 .service(get_contribution)
67 .service(record_payment)
68 .service(create_call_for_funds)
70 .service(get_call_for_funds)
71 .service(list_call_for_funds)
72 .service(get_overdue_calls)
73 .service(send_call_for_funds)
74 .service(cancel_call_for_funds)
75 .service(delete_call_for_funds)
76 .service(add_owner_to_unit)
78 .service(remove_owner_from_unit)
79 .service(update_unit_owner)
80 .service(get_unit_owners)
81 .service(get_owner_units)
82 .service(get_unit_ownership_history)
83 .service(get_owner_ownership_history)
84 .service(transfer_ownership)
85 .service(get_total_ownership_percentage)
86 .service(export_ownership_contract_pdf) .service(create_expense)
89 .service(list_expenses)
90 .service(get_expense)
91 .service(list_expenses_by_building)
92 .service(mark_expense_paid)
93 .service(mark_expense_overdue)
94 .service(cancel_expense)
95 .service(reactivate_expense)
96 .service(unpay_expense)
97 .service(create_invoice_draft)
99 .service(update_invoice_draft)
100 .service(submit_invoice_for_approval)
101 .service(approve_invoice)
102 .service(reject_invoice)
103 .service(get_pending_invoices)
104 .service(get_invoice)
105 .service(export_work_quote_pdf) .service(calculate_and_save_distribution)
108 .service(get_distribution_by_expense)
109 .service(get_distributions_by_owner)
110 .service(get_total_due_by_owner)
111 .service(create_meeting)
113 .service(list_meetings)
114 .service(get_meeting)
115 .service(list_meetings_by_building)
116 .service(update_meeting)
117 .service(add_agenda_item)
118 .service(complete_meeting)
119 .service(cancel_meeting)
120 .service(reschedule_meeting)
121 .service(delete_meeting)
122 .service(attach_minutes)
123 .service(export_meeting_minutes_pdf)
124 .service(schedule_second_convocation) .service(create_convocation)
128 .service(get_convocation_by_meeting)
129 .service(list_building_convocations)
130 .service(list_organization_convocations)
131 .service(list_convocation_recipients)
132 .service(get_convocation_tracking_summary)
133 .service(mark_recipient_email_opened)
134 .service(update_recipient_attendance)
135 .service(set_recipient_proxy)
136 .service(send_convocation_reminders)
137 .service(schedule_convocation)
138 .service(send_convocation)
139 .service(cancel_convocation)
140 .service(delete_convocation)
141 .service(get_convocation)
142 .service(create_resolution)
144 .service(get_resolution)
145 .service(list_meeting_resolutions)
146 .service(delete_resolution)
147 .service(cast_vote)
148 .service(list_resolution_votes)
149 .service(change_vote)
150 .service(close_voting)
151 .service(get_meeting_vote_summary)
152 .service(create_poll)
154 .service(get_poll)
155 .service(update_poll)
156 .service(list_polls)
157 .service(find_active_polls)
158 .service(publish_poll)
159 .service(close_poll)
160 .service(cancel_poll)
161 .service(delete_poll)
162 .service(cast_poll_vote)
163 .service(get_poll_results)
164 .service(get_poll_building_statistics)
165 .service(create_ticket)
168 .service(list_my_tickets)
169 .service(list_assigned_tickets)
170 .service(get_ticket_statistics_org) .service(get_overdue_tickets_org) .service(list_tickets_by_status)
173 .service(get_ticket_statistics) .service(get_overdue_tickets) .service(list_building_tickets)
176 .service(list_organization_tickets)
177 .service(get_ticket)
178 .service(delete_ticket)
179 .service(assign_ticket)
180 .service(start_work)
181 .service(send_work_order)
182 .service(resolve_ticket)
183 .service(close_ticket)
184 .service(cancel_ticket)
185 .service(reopen_ticket)
186 .service(create_notification)
189 .service(list_my_notifications)
190 .service(list_unread_notifications)
191 .service(mark_all_notifications_read)
192 .service(get_notification_stats)
193 .service(get_notification)
194 .service(mark_notification_read)
195 .service(delete_notification)
196 .service(get_user_preferences)
198 .service(get_preference)
199 .service(update_preference)
200 .service(create_payment)
203 .service(get_payment_by_stripe_intent)
204 .service(list_payments_by_status)
205 .service(list_pending_payments)
206 .service(list_failed_payments)
207 .service(list_owner_payments)
208 .service(list_building_payments)
209 .service(list_expense_payments)
210 .service(list_organization_payments)
211 .service(get_payment)
212 .service(mark_payment_processing)
213 .service(mark_payment_requires_action)
214 .service(mark_payment_succeeded)
215 .service(mark_payment_failed)
216 .service(mark_payment_cancelled)
217 .service(refund_payment)
218 .service(delete_payment)
219 .service(get_owner_payment_stats)
220 .service(get_building_payment_stats)
221 .service(get_expense_total_paid)
222 .service(get_owner_total_paid)
223 .service(get_building_total_paid)
224 .service(create_payment_method)
226 .service(get_payment_method)
227 .service(get_payment_method_by_stripe_id)
228 .service(list_owner_payment_methods)
229 .service(list_active_owner_payment_methods)
230 .service(get_default_payment_method)
231 .service(list_organization_payment_methods)
232 .service(list_payment_methods_by_type)
233 .service(update_payment_method)
234 .service(set_payment_method_as_default)
235 .service(deactivate_payment_method)
236 .service(reactivate_payment_method)
237 .service(delete_payment_method)
238 .service(count_active_payment_methods)
239 .service(has_active_payment_methods)
240 .service(create_quote)
242 .service(get_quote)
243 .service(list_building_quotes)
244 .service(list_contractor_quotes)
245 .service(list_quotes_by_status)
246 .service(submit_quote)
247 .service(start_review)
248 .service(accept_quote)
249 .service(reject_quote)
250 .service(withdraw_quote)
251 .service(compare_quotes)
252 .service(update_contractor_rating)
253 .service(delete_quote)
254 .service(count_building_quotes)
255 .service(count_quotes_by_status)
256 .service(create_exchange)
258 .service(get_exchange)
259 .service(list_building_exchanges)
260 .service(list_available_exchanges)
261 .service(list_owner_exchanges)
262 .service(list_exchanges_by_type)
263 .service(request_exchange)
264 .service(start_exchange)
265 .service(complete_exchange)
266 .service(cancel_exchange)
267 .service(rate_provider)
268 .service(rate_requester)
269 .service(delete_exchange)
270 .service(get_credit_balance)
271 .service(get_leaderboard)
272 .service(get_sel_statistics)
273 .service(get_owner_summary)
274 .service(create_notice)
276 .service(get_notice)
277 .service(list_building_notices)
278 .service(list_published_notices)
279 .service(list_pinned_notices)
280 .service(list_notices_by_type)
281 .service(list_notices_by_category)
282 .service(list_notices_by_status)
283 .service(list_author_notices)
284 .service(update_notice)
285 .service(publish_notice)
286 .service(archive_notice)
287 .service(pin_notice)
288 .service(unpin_notice)
289 .service(set_expiration)
290 .service(delete_notice)
291 .service(get_notice_statistics)
292 .service(create_skill)
294 .service(get_skill)
295 .service(list_building_skills)
296 .service(list_available_skills)
297 .service(list_free_skills)
298 .service(list_professional_skills)
299 .service(list_skills_by_category)
300 .service(list_skills_by_expertise)
301 .service(list_owner_skills)
302 .service(update_skill)
303 .service(mark_skill_available)
304 .service(mark_skill_unavailable)
305 .service(delete_skill)
306 .service(get_skill_statistics)
307 .service(create_shared_object)
310 .service(list_my_borrowed_objects)
311 .service(list_building_objects)
312 .service(list_available_objects)
313 .service(list_borrowed_objects)
314 .service(list_overdue_objects)
315 .service(list_free_objects)
316 .service(list_objects_by_category)
317 .service(list_owner_objects)
318 .service(get_shared_object)
319 .service(update_shared_object)
320 .service(mark_object_available)
321 .service(mark_object_unavailable)
322 .service(borrow_object)
323 .service(return_object)
324 .service(delete_shared_object)
325 .service(get_object_statistics)
326 .service(create_booking)
329 .service(list_my_bookings)
330 .service(list_my_bookings_by_status)
331 .service(list_active_bookings)
332 .service(check_conflicts)
333 .service(list_building_bookings)
334 .service(list_by_resource_type)
335 .service(list_by_resource)
336 .service(list_building_bookings_by_status)
337 .service(list_upcoming_bookings)
338 .service(list_past_bookings)
339 .service(get_booking_statistics)
340 .service(get_booking)
341 .service(update_booking)
342 .service(cancel_booking)
343 .service(complete_booking)
344 .service(mark_no_show)
345 .service(confirm_booking)
346 .service(delete_booking)
347 .service(create_achievement)
350 .service(get_achievement)
351 .service(list_achievements)
352 .service(list_achievements_by_category)
353 .service(list_visible_achievements)
354 .service(update_achievement)
355 .service(delete_achievement)
356 .service(award_achievement)
358 .service(get_user_achievements)
359 .service(get_recent_achievements)
360 .service(create_challenge)
362 .service(get_challenge)
363 .service(list_challenges)
364 .service(list_challenges_by_status)
365 .service(list_building_challenges)
366 .service(list_active_challenges)
367 .service(update_challenge)
368 .service(activate_challenge)
369 .service(complete_challenge)
370 .service(cancel_challenge)
371 .service(delete_challenge)
372 .service(get_challenge_progress)
374 .service(list_challenge_progress)
375 .service(list_user_active_challenges)
376 .service(increment_progress)
377 .service(get_gamification_user_stats)
379 .service(get_gamification_leaderboard)
380 .service(elect_board_member)
382 .service(get_my_mandates) .service(get_board_dashboard) .service(get_board_member)
385 .service(list_active_board_members)
386 .service(list_all_board_members)
387 .service(renew_mandate)
388 .service(remove_board_member)
389 .service(get_board_stats)
390 .service(create_decision)
392 .service(get_decision)
393 .service(list_decisions_by_building)
394 .service(list_decisions_by_status)
395 .service(list_overdue_decisions)
396 .service(update_decision_status)
397 .service(add_notes)
398 .service(complete_decision)
399 .service(get_decision_stats)
400 .service(upload_document)
402 .service(list_documents)
403 .service(get_document)
404 .service(download_document)
405 .service(list_documents_by_building)
406 .service(list_documents_by_meeting)
407 .service(list_documents_by_expense)
408 .service(link_document_to_meeting)
409 .service(link_document_to_expense)
410 .service(delete_document)
411 .service(create_campaign)
413 .service(list_campaigns)
414 .service(get_campaign)
415 .service(get_campaign_stats)
416 .service(update_campaign_status)
417 .service(delete_campaign)
418 .service(add_offer)
419 .service(list_offers)
420 .service(select_offer)
421 .service(finalize_campaign)
422 .service(upload_bill)
423 .service(get_my_uploads)
424 .service(get_upload)
425 .service(decrypt_consumption)
426 .service(verify_upload)
427 .service(delete_upload)
428 .service(withdraw_consent)
429 .service(get_campaign_uploads)
430 .service(join_campaign_as_individual) .service(grant_consent) .service(update_consumption) .service(withdraw_from_campaign) .service(search_service_providers) .service(get_provider_by_slug) .service(create_service_provider) .service(get_contract_evaluations_annual) .service(create_etat_date)
443 .service(list_etats_dates)
444 .service(list_overdue)
445 .service(list_expired)
446 .service(get_stats)
447 .service(get_by_reference_number)
448 .service(list_etats_dates_by_unit)
449 .service(list_etats_dates_by_building)
450 .service(get_etat_date)
451 .service(mark_in_progress)
452 .service(mark_generated)
453 .service(mark_delivered)
454 .service(update_financial_data)
455 .service(update_additional_data)
456 .service(delete_etat_date)
457 .service(create_budget)
460 .service(list_budgets)
461 .service(get_budget_stats)
462 .service(list_budgets_by_fiscal_year)
463 .service(list_budgets_by_status)
464 .service(get_budget_by_building_and_fiscal_year)
465 .service(get_active_budget)
466 .service(list_budgets_by_building)
467 .service(get_budget)
468 .service(get_budget_variance)
469 .service(update_budget)
470 .service(submit_budget)
471 .service(approve_budget)
472 .service(reject_budget)
473 .service(archive_budget)
474 .service(delete_budget)
475 .service(create_account)
477 .service(list_accounts)
478 .service(get_account)
479 .service(get_account_by_code)
480 .service(update_account)
481 .service(delete_account)
482 .service(seed_belgian_pcmn)
483 .service(count_accounts)
484 .service(generate_pcn_report)
486 .service(export_pcn_pdf)
487 .service(export_pcn_excel)
488 .service(generate_balance_sheet)
490 .service(generate_income_statement)
491 .service(generate_balance_sheet_for_building)
492 .service(generate_income_statement_for_building)
493 .service(create_journal_entry)
495 .service(list_journal_entries)
496 .service(get_journal_entry)
497 .service(delete_journal_entry)
498 .service(get_accountant_stats)
500 .service(get_recent_transactions)
501 .service(get_recovery_stats) .service(find_overdue_without_reminders) .service(bulk_create_reminders) .service(list_by_organization) .service(create_reminder) .service(get_reminder) .service(delete_reminder) .service(list_by_expense) .service(list_by_owner) .service(list_active_by_owner) .service(mark_as_sent) .service(mark_as_opened) .service(mark_as_paid) .service(cancel_reminder) .service(escalate_reminder) .service(add_tracking_number) .service(seed_demo_data)
521 .service(clear_demo_data)
523 .service(get_dashboard_stats)
525 .service(get_seed_data_stats)
526 .service(get_syndic_stats)
528 .service(get_syndic_urgent_tasks)
529 .service(get_owner_stats)
531 .service(list_organizations)
533 .service(create_organization)
534 .service(update_organization)
535 .service(activate_organization)
536 .service(suspend_organization)
537 .service(delete_organization)
538 .service(list_users)
540 .service(create_user)
541 .service(update_user)
542 .service(activate_user)
543 .service(deactivate_user)
544 .service(delete_user)
545 .service(export_user_data)
547 .service(erase_user_data)
548 .service(can_erase_user)
549 .service(rectify_user_data) .service(restrict_user_processing) .service(set_marketing_preference) .service(record_consent)
555 .service(get_consent_status)
556 .service(list_audit_logs)
558 .service(admin_export_user_data)
559 .service(admin_erase_user_data)
560 .service(list_processing_activities)
562 .service(list_sub_processors)
563 .service(create_security_incident)
565 .service(list_security_incidents)
566 .service(get_security_incident)
567 .service(report_incident_to_apd)
568 .service(list_overdue_incidents)
569 .configure(two_factor_handlers::configure_two_factor_routes)
571 .service(create_api_key)
573 .service(list_api_keys)
574 .service(get_api_key)
575 .service(update_api_key)
576 .service(revoke_api_key)
577 .service(rotate_api_key)
578 .service(create_work_report)
580 .service(get_work_report)
581 .service(list_building_work_reports)
582 .service(list_organization_work_reports)
583 .service(list_work_reports_paginated)
584 .service(update_work_report)
585 .service(delete_work_report)
586 .service(get_active_warranties)
587 .service(get_expiring_warranties)
588 .service(add_photo)
589 .service(add_document)
590 .service(create_technical_inspection)
592 .service(get_technical_inspection)
593 .service(list_building_technical_inspections)
594 .service(list_organization_technical_inspections)
595 .service(list_technical_inspections_paginated)
596 .service(update_technical_inspection)
597 .service(delete_technical_inspection)
598 .service(get_overdue_inspections)
599 .service(get_upcoming_inspections)
600 .service(get_inspections_by_type)
601 .service(add_report)
602 .service(add_inspection_photo)
603 .service(add_certificate)
604 .configure(iot_handlers::configure_iot_routes)
606 .service(start_mqtt_listener) .service(stop_mqtt_listener) .service(mqtt_status) .service(update_grid_consent) .service(get_grid_consent) .service(submit_grid_task) .service(cancel_grid_task) .service(get_task_status) .service(list_ag_sessions) .service(get_ag_session_platform_stats) .service(create_ag_session) .service(get_ag_session_for_meeting) .service(get_combined_quorum) .service(start_ag_session) .service(end_ag_session) .service(cancel_ag_session) .service(record_remote_join) .service(delete_ag_session) .service(get_ag_session) .service(create_age_request) .service(list_age_requests) .service(add_cosignatory) .service(remove_cosignatory) .service(open_age_request) .service(submit_age_request) .service(syndic_response) .service(trigger_auto_convocation) .service(withdraw_age_request) .service(delete_age_request) .service(get_age_request) .service(get_report_by_token) .service(submit_report_by_token) .service(get_report_by_magic_token) .service(submit_report_by_magic_token) .service(generate_magic_link) .service(list_contractor_reports_by_building) .service(list_contractor_reports_by_ticket) .service(create_contractor_report) .service(submit_contractor_report) .service(validate_contractor_report) .service(request_corrections) .service(reject_contractor_report) .service(update_contractor_report) .service(delete_contractor_report) .service(get_contractor_report), );
662}