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(
12 web::scope("/api/v1")
13 .service(health_check)
14 .service(get_public_syndic_info)
16 .service(login)
18 .service(register)
19 .service(refresh_token)
20 .service(switch_role)
21 .service(get_current_user)
22 .service(create_building)
24 .service(list_buildings)
25 .service(get_building)
26 .service(update_building)
27 .service(delete_building)
28 .service(export_annual_report_pdf) .service(create_unit)
31 .service(list_units)
32 .service(get_unit)
33 .service(update_unit)
34 .service(delete_unit)
35 .service(list_units_by_building)
36 .service(assign_owner)
37 .service(create_owner)
39 .service(list_owners)
40 .service(get_owner)
41 .service(update_owner)
42 .service(link_owner_to_user)
43 .service(export_owner_statement_pdf) .service(create_contribution)
46 .service(get_contribution)
47 .service(get_contributions_by_owner)
48 .service(get_outstanding_contributions)
49 .service(record_payment)
50 .service(create_call_for_funds)
52 .service(get_call_for_funds)
53 .service(list_call_for_funds)
54 .service(get_overdue_calls)
55 .service(send_call_for_funds)
56 .service(cancel_call_for_funds)
57 .service(delete_call_for_funds)
58 .service(add_owner_to_unit)
60 .service(remove_owner_from_unit)
61 .service(update_unit_owner)
62 .service(get_unit_owners)
63 .service(get_owner_units)
64 .service(get_unit_ownership_history)
65 .service(get_owner_ownership_history)
66 .service(transfer_ownership)
67 .service(get_total_ownership_percentage)
68 .service(export_ownership_contract_pdf) .service(create_expense)
71 .service(list_expenses)
72 .service(get_expense)
73 .service(list_expenses_by_building)
74 .service(mark_expense_paid)
75 .service(mark_expense_overdue)
76 .service(cancel_expense)
77 .service(reactivate_expense)
78 .service(unpay_expense)
79 .service(create_invoice_draft)
81 .service(update_invoice_draft)
82 .service(submit_invoice_for_approval)
83 .service(approve_invoice)
84 .service(reject_invoice)
85 .service(get_pending_invoices)
86 .service(get_invoice)
87 .service(export_work_quote_pdf) .service(calculate_and_save_distribution)
90 .service(get_distribution_by_expense)
91 .service(get_distributions_by_owner)
92 .service(get_total_due_by_owner)
93 .service(create_meeting)
95 .service(list_meetings)
96 .service(get_meeting)
97 .service(list_meetings_by_building)
98 .service(update_meeting)
99 .service(add_agenda_item)
100 .service(complete_meeting)
101 .service(cancel_meeting)
102 .service(reschedule_meeting)
103 .service(delete_meeting)
104 .service(export_meeting_minutes_pdf)
105 .service(create_convocation)
107 .service(get_convocation)
108 .service(get_convocation_by_meeting)
109 .service(list_building_convocations)
110 .service(list_organization_convocations)
111 .service(delete_convocation)
112 .service(schedule_convocation)
113 .service(send_convocation)
114 .service(cancel_convocation)
115 .service(list_convocation_recipients)
116 .service(get_convocation_tracking_summary)
117 .service(mark_recipient_email_opened)
118 .service(update_recipient_attendance)
119 .service(set_recipient_proxy)
120 .service(send_convocation_reminders)
121 .service(create_resolution)
123 .service(get_resolution)
124 .service(list_meeting_resolutions)
125 .service(delete_resolution)
126 .service(cast_vote)
127 .service(list_resolution_votes)
128 .service(change_vote)
129 .service(close_voting)
130 .service(get_meeting_vote_summary)
131 .service(create_poll)
133 .service(get_poll)
134 .service(update_poll)
135 .service(list_polls)
136 .service(find_active_polls)
137 .service(publish_poll)
138 .service(close_poll)
139 .service(cancel_poll)
140 .service(delete_poll)
141 .service(cast_poll_vote)
142 .service(get_poll_results)
143 .service(get_poll_building_statistics)
144 .service(create_ticket)
146 .service(get_ticket)
147 .service(list_building_tickets)
148 .service(list_organization_tickets)
149 .service(list_my_tickets)
150 .service(list_assigned_tickets)
151 .service(list_tickets_by_status)
152 .service(delete_ticket)
153 .service(assign_ticket)
154 .service(start_work)
155 .service(resolve_ticket)
156 .service(close_ticket)
157 .service(cancel_ticket)
158 .service(reopen_ticket)
159 .service(get_ticket_statistics)
160 .service(get_overdue_tickets)
161 .service(create_notification)
163 .service(get_notification)
164 .service(list_my_notifications)
165 .service(list_unread_notifications)
166 .service(mark_notification_read)
167 .service(mark_all_notifications_read)
168 .service(delete_notification)
169 .service(get_notification_stats)
170 .service(get_user_preferences)
172 .service(get_preference)
173 .service(update_preference)
174 .service(create_payment)
176 .service(get_payment)
177 .service(get_payment_by_stripe_intent)
178 .service(list_owner_payments)
179 .service(list_building_payments)
180 .service(list_expense_payments)
181 .service(list_organization_payments)
182 .service(list_payments_by_status)
183 .service(list_pending_payments) .service(list_failed_payments)
185 .service(mark_payment_processing)
186 .service(mark_payment_requires_action)
187 .service(mark_payment_succeeded)
188 .service(mark_payment_failed)
189 .service(mark_payment_cancelled)
190 .service(refund_payment)
191 .service(delete_payment)
192 .service(get_owner_payment_stats)
193 .service(get_building_payment_stats)
194 .service(get_expense_total_paid)
195 .service(get_owner_total_paid)
196 .service(get_building_total_paid)
197 .service(create_payment_method)
199 .service(get_payment_method)
200 .service(get_payment_method_by_stripe_id)
201 .service(list_owner_payment_methods)
202 .service(list_active_owner_payment_methods)
203 .service(get_default_payment_method)
204 .service(list_organization_payment_methods)
205 .service(list_payment_methods_by_type)
206 .service(update_payment_method)
207 .service(set_payment_method_as_default)
208 .service(deactivate_payment_method)
209 .service(reactivate_payment_method)
210 .service(delete_payment_method)
211 .service(count_active_payment_methods)
212 .service(has_active_payment_methods)
213 .service(create_quote)
215 .service(get_quote)
216 .service(list_building_quotes)
217 .service(list_contractor_quotes)
218 .service(list_quotes_by_status)
219 .service(submit_quote)
220 .service(start_review)
221 .service(accept_quote)
222 .service(reject_quote)
223 .service(withdraw_quote)
224 .service(compare_quotes)
225 .service(update_contractor_rating)
226 .service(delete_quote)
227 .service(count_building_quotes)
228 .service(count_quotes_by_status)
229 .service(create_exchange)
231 .service(get_exchange)
232 .service(list_building_exchanges)
233 .service(list_available_exchanges)
234 .service(list_owner_exchanges)
235 .service(list_exchanges_by_type)
236 .service(request_exchange)
237 .service(start_exchange)
238 .service(complete_exchange)
239 .service(cancel_exchange)
240 .service(rate_provider)
241 .service(rate_requester)
242 .service(delete_exchange)
243 .service(get_credit_balance)
244 .service(get_leaderboard)
245 .service(get_sel_statistics)
246 .service(get_owner_summary)
247 .service(create_notice)
249 .service(get_notice)
250 .service(list_building_notices)
251 .service(list_published_notices)
252 .service(list_pinned_notices)
253 .service(list_notices_by_type)
254 .service(list_notices_by_category)
255 .service(list_notices_by_status)
256 .service(list_author_notices)
257 .service(update_notice)
258 .service(publish_notice)
259 .service(archive_notice)
260 .service(pin_notice)
261 .service(unpin_notice)
262 .service(set_expiration)
263 .service(delete_notice)
264 .service(get_notice_statistics)
265 .service(create_skill)
267 .service(get_skill)
268 .service(list_building_skills)
269 .service(list_available_skills)
270 .service(list_free_skills)
271 .service(list_professional_skills)
272 .service(list_skills_by_category)
273 .service(list_skills_by_expertise)
274 .service(list_owner_skills)
275 .service(update_skill)
276 .service(mark_skill_available)
277 .service(mark_skill_unavailable)
278 .service(delete_skill)
279 .service(get_skill_statistics)
280 .service(create_shared_object)
282 .service(get_shared_object)
283 .service(list_building_objects)
284 .service(list_available_objects)
285 .service(list_borrowed_objects)
286 .service(list_overdue_objects)
287 .service(list_free_objects)
288 .service(list_objects_by_category)
289 .service(list_owner_objects)
290 .service(list_my_borrowed_objects)
291 .service(update_shared_object)
292 .service(mark_object_available)
293 .service(mark_object_unavailable)
294 .service(borrow_object)
295 .service(return_object)
296 .service(delete_shared_object)
297 .service(get_object_statistics)
298 .service(create_booking)
300 .service(get_booking)
301 .service(list_building_bookings)
302 .service(list_by_resource_type)
303 .service(list_by_resource)
304 .service(list_my_bookings)
305 .service(list_my_bookings_by_status)
306 .service(list_building_bookings_by_status)
307 .service(list_upcoming_bookings)
308 .service(list_active_bookings)
309 .service(list_past_bookings)
310 .service(update_booking)
311 .service(cancel_booking)
312 .service(complete_booking)
313 .service(mark_no_show)
314 .service(confirm_booking)
315 .service(delete_booking)
316 .service(check_conflicts)
317 .service(get_booking_statistics)
318 .service(create_achievement)
321 .service(get_achievement)
322 .service(list_achievements)
323 .service(list_achievements_by_category)
324 .service(list_visible_achievements)
325 .service(update_achievement)
326 .service(delete_achievement)
327 .service(award_achievement)
329 .service(get_user_achievements)
330 .service(get_recent_achievements)
331 .service(create_challenge)
333 .service(get_challenge)
334 .service(list_challenges)
335 .service(list_challenges_by_status)
336 .service(list_building_challenges)
337 .service(list_active_challenges)
338 .service(update_challenge)
339 .service(activate_challenge)
340 .service(complete_challenge)
341 .service(cancel_challenge)
342 .service(delete_challenge)
343 .service(get_challenge_progress)
345 .service(list_challenge_progress)
346 .service(list_user_active_challenges)
347 .service(increment_progress)
348 .service(get_gamification_user_stats)
350 .service(get_gamification_leaderboard)
351 .service(elect_board_member)
353 .service(get_my_mandates) .service(get_board_dashboard) .service(get_board_member)
356 .service(list_active_board_members)
357 .service(list_all_board_members)
358 .service(renew_mandate)
359 .service(remove_board_member)
360 .service(get_board_stats)
361 .service(create_decision)
363 .service(get_decision)
364 .service(list_decisions_by_building)
365 .service(list_decisions_by_status)
366 .service(list_overdue_decisions)
367 .service(update_decision_status)
368 .service(add_notes)
369 .service(complete_decision)
370 .service(get_decision_stats)
371 .service(upload_document)
373 .service(list_documents)
374 .service(get_document)
375 .service(download_document)
376 .service(list_documents_by_building)
377 .service(list_documents_by_meeting)
378 .service(list_documents_by_expense)
379 .service(link_document_to_meeting)
380 .service(link_document_to_expense)
381 .service(delete_document)
382 .service(create_campaign)
384 .service(list_campaigns)
385 .service(get_campaign)
386 .service(get_campaign_stats)
387 .service(update_campaign_status)
388 .service(delete_campaign)
389 .service(add_offer)
390 .service(list_offers)
391 .service(select_offer)
392 .service(finalize_campaign)
393 .service(upload_bill)
394 .service(get_my_uploads)
395 .service(get_upload)
396 .service(decrypt_consumption)
397 .service(verify_upload)
398 .service(delete_upload)
399 .service(withdraw_consent)
400 .service(get_campaign_uploads)
401 .service(create_etat_date)
403 .service(get_etat_date)
404 .service(get_by_reference_number)
405 .service(list_etats_dates)
406 .service(list_etats_dates_by_unit)
407 .service(list_etats_dates_by_building)
408 .service(mark_in_progress)
409 .service(mark_generated)
410 .service(mark_delivered)
411 .service(update_financial_data)
412 .service(update_additional_data)
413 .service(list_overdue)
414 .service(list_expired)
415 .service(get_stats)
416 .service(delete_etat_date)
417 .service(create_budget)
419 .service(get_budget)
420 .service(get_budget_by_building_and_fiscal_year)
421 .service(get_active_budget)
422 .service(list_budgets_by_building)
423 .service(list_budgets_by_fiscal_year)
424 .service(list_budgets_by_status)
425 .service(list_budgets)
426 .service(update_budget)
427 .service(submit_budget)
428 .service(approve_budget)
429 .service(reject_budget)
430 .service(archive_budget)
431 .service(get_budget_stats)
432 .service(get_budget_variance)
433 .service(delete_budget)
434 .service(create_account)
436 .service(list_accounts)
437 .service(get_account)
438 .service(get_account_by_code)
439 .service(update_account)
440 .service(delete_account)
441 .service(seed_belgian_pcmn)
442 .service(count_accounts)
443 .service(generate_pcn_report)
445 .service(export_pcn_pdf)
446 .service(export_pcn_excel)
447 .service(generate_balance_sheet)
449 .service(generate_income_statement)
450 .service(generate_balance_sheet_for_building)
451 .service(generate_income_statement_for_building)
452 .service(create_journal_entry)
454 .service(list_journal_entries)
455 .service(get_journal_entry)
456 .service(delete_journal_entry)
457 .service(get_accountant_stats)
459 .service(get_recent_transactions)
460 .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)
480 .service(clear_demo_data)
482 .service(get_dashboard_stats)
484 .service(get_seed_data_stats)
485 .service(get_syndic_stats)
487 .service(get_syndic_urgent_tasks)
488 .service(get_owner_stats)
490 .service(list_organizations)
492 .service(create_organization)
493 .service(update_organization)
494 .service(activate_organization)
495 .service(suspend_organization)
496 .service(delete_organization)
497 .service(list_users)
499 .service(create_user)
500 .service(update_user)
501 .service(activate_user)
502 .service(deactivate_user)
503 .service(delete_user)
504 .service(export_user_data)
506 .service(erase_user_data)
507 .service(can_erase_user)
508 .service(rectify_user_data) .service(restrict_user_processing) .service(set_marketing_preference) .service(list_audit_logs)
514 .service(admin_export_user_data)
515 .service(admin_erase_user_data)
516 .configure(two_factor_handlers::configure_two_factor_routes)
518 .service(create_work_report)
520 .service(get_work_report)
521 .service(list_building_work_reports)
522 .service(list_organization_work_reports)
523 .service(list_work_reports_paginated)
524 .service(update_work_report)
525 .service(delete_work_report)
526 .service(get_active_warranties)
527 .service(get_expiring_warranties)
528 .service(add_photo)
529 .service(add_document)
530 .service(create_technical_inspection)
532 .service(get_technical_inspection)
533 .service(list_building_technical_inspections)
534 .service(list_organization_technical_inspections)
535 .service(list_technical_inspections_paginated)
536 .service(update_technical_inspection)
537 .service(delete_technical_inspection)
538 .service(get_overdue_inspections)
539 .service(get_upcoming_inspections)
540 .service(get_inspections_by_type)
541 .service(add_report)
542 .service(add_inspection_photo)
543 .service(add_certificate)
544 .configure(iot_handlers::configure_iot_routes),
546 );
547}