Skip to content

Commit 36ce7c0

Browse files
feat(office): Add Phase 3 advanced features - Comments, Track Changes, TOC, Footnotes, Styles, Presenter View, Transitions, Media
1 parent 3ac45f8 commit 36ce7c0

File tree

9 files changed

+3428
-36
lines changed

9 files changed

+3428
-36
lines changed

src/docs/handlers.rs

Lines changed: 1133 additions & 0 deletions
Large diffs are not rendered by default.

src/docs/mod.rs

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,25 @@ use std::sync::Arc;
1414

1515
pub use collaboration::handle_docs_websocket;
1616
pub use handlers::{
17-
handle_ai_custom, handle_ai_expand, handle_ai_improve, handle_ai_simplify, handle_ai_summarize,
18-
handle_ai_translate, handle_autosave, handle_delete_document, handle_docs_ai, handle_docs_get_by_id,
19-
handle_docs_save, handle_export_docx, handle_export_html, handle_export_md, handle_export_pdf,
20-
handle_export_txt, handle_get_document, handle_list_documents, handle_new_document,
17+
handle_accept_reject_all, handle_accept_reject_change, handle_add_comment, handle_add_endnote,
18+
handle_add_footnote, handle_ai_custom, handle_ai_expand, handle_ai_improve, handle_ai_simplify,
19+
handle_ai_summarize, handle_ai_translate, handle_apply_style, handle_autosave,
20+
handle_compare_documents, handle_create_style, handle_delete_comment, handle_delete_document,
21+
handle_delete_endnote, handle_delete_footnote, handle_delete_style, handle_docs_ai,
22+
handle_docs_get_by_id, handle_docs_save, handle_enable_track_changes, handle_export_docx,
23+
handle_export_html, handle_export_md, handle_export_pdf, handle_export_txt,
24+
handle_generate_toc, handle_get_document, handle_get_outline, handle_list_comments,
25+
handle_list_documents, handle_list_endnotes, handle_list_footnotes, handle_list_styles,
26+
handle_list_track_changes, handle_new_document, handle_reply_comment, handle_resolve_comment,
2127
handle_save_document, handle_search_documents, handle_template_blank, handle_template_letter,
22-
handle_template_meeting, handle_template_report,
28+
handle_template_meeting, handle_template_report, handle_update_endnote, handle_update_footnote,
29+
handle_update_style, handle_update_toc,
2330
};
2431
pub use types::{
25-
AiRequest, AiResponse, Collaborator, CollabMessage, Document, DocumentMetadata, SaveRequest,
26-
SaveResponse, SearchQuery,
32+
AiRequest, AiResponse, Collaborator, CollabMessage, CommentReply, ComparisonSummary, Document,
33+
DocumentComment, DocumentComparison, DocumentDiff, DocumentMetadata, DocumentStyle, Endnote,
34+
Footnote, OutlineItem, SaveRequest, SaveResponse, SearchQuery, TableOfContents, TocEntry,
35+
TrackChange,
2736
};
2837

2938
pub fn configure_docs_routes() -> Router<Arc<AppState>> {
@@ -52,5 +61,31 @@ pub fn configure_docs_routes() -> Router<Arc<AppState>> {
5261
.route("/api/docs/export/md", get(handle_export_md))
5362
.route("/api/docs/export/html", get(handle_export_html))
5463
.route("/api/docs/export/txt", get(handle_export_txt))
64+
.route("/api/docs/comment", post(handle_add_comment))
65+
.route("/api/docs/comment/reply", post(handle_reply_comment))
66+
.route("/api/docs/comment/resolve", post(handle_resolve_comment))
67+
.route("/api/docs/comment/delete", post(handle_delete_comment))
68+
.route("/api/docs/comments", get(handle_list_comments))
69+
.route("/api/docs/track-changes/enable", post(handle_enable_track_changes))
70+
.route("/api/docs/track-changes/accept-reject", post(handle_accept_reject_change))
71+
.route("/api/docs/track-changes/accept-reject-all", post(handle_accept_reject_all))
72+
.route("/api/docs/track-changes", get(handle_list_track_changes))
73+
.route("/api/docs/toc/generate", post(handle_generate_toc))
74+
.route("/api/docs/toc/update", post(handle_update_toc))
75+
.route("/api/docs/footnote", post(handle_add_footnote))
76+
.route("/api/docs/footnote/update", post(handle_update_footnote))
77+
.route("/api/docs/footnote/delete", post(handle_delete_footnote))
78+
.route("/api/docs/footnotes", get(handle_list_footnotes))
79+
.route("/api/docs/endnote", post(handle_add_endnote))
80+
.route("/api/docs/endnote/update", post(handle_update_endnote))
81+
.route("/api/docs/endnote/delete", post(handle_delete_endnote))
82+
.route("/api/docs/endnotes", get(handle_list_endnotes))
83+
.route("/api/docs/style", post(handle_create_style))
84+
.route("/api/docs/style/update", post(handle_update_style))
85+
.route("/api/docs/style/delete", post(handle_delete_style))
86+
.route("/api/docs/style/apply", post(handle_apply_style))
87+
.route("/api/docs/styles", get(handle_list_styles))
88+
.route("/api/docs/outline", post(handle_get_outline))
89+
.route("/api/docs/compare", post(handle_compare_documents))
5590
.route("/ws/docs/:doc_id", get(handle_docs_websocket))
5691
}

0 commit comments

Comments
 (0)