Skip to content

feat: update project logic for nuget integration #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

osm-Jatin
Copy link

@osm-Jatin osm-Jatin commented Jun 17, 2025

Task Link

REST-1556

Description

  • correct placeholder replacement to avoid extra curly braces in output
  • enable nullable reference types in project
  • streamline PdfDocumentGenerator for cross-platform and NuGet integration
  • configure OsmoDocPdfConfig.WkhtmltopdfPath from app settings
  • add process exit-code check and quote windows tool path to survive spaces
  • initialise WordDocumentDataRequestDTO non-nullable list properties
  • add project metadata to OsmoDoc.csproj file

Summary by CodeRabbit

  • New Features
    • Introduced the OsmoDoc library for generating PDF and Word documents from templates, supporting placeholder replacement, table data, and images.
  • Refactor
    • Renamed the project and all related namespaces, files, and documentation from "DocumentService" to "OsmoDoc" for improved clarity and branding.
    • Updated Docker, Docker Compose, and configuration files to reflect the new project name and image/container names.
  • Documentation
    • Revised all documentation, guides, and API references to use the new "OsmoDoc" naming throughout.
  • Chores
    • Updated project and solution files to align with the new OsmoDoc structure and naming conventions.

Copy link

coderabbitai bot commented Jun 17, 2025

Walkthrough

This change migrates the project from "DocumentService" to "OsmoDoc," updating namespaces, file paths, project and solution files, Docker and compose configurations, documentation, and code references. All model, helper, and generator classes for PDF and Word document processing are renamed and relocated under the new OsmoDoc structure, with equivalent functionality preserved.

Changes

Files / Groups Change Summary
Dockerfile, docker-compose.yaml, README.md, CONTRIBUTING.md All references, paths, and names changed from "DocumentService" to "OsmoDoc".
OsmoDoc.sln, OsmoDoc.API/OsmoDoc.API.sln, OsmoDoc.API/OsmoDoc.API.csproj, OsmoDoc/OsmoDoc.csproj Solution and project files renamed and updated for OsmoDoc.
.github/PULL_REQUEST_TEMPLATE/pull_request_template_api.md Contributing URL updated to point to "osmodoc" repository.
OsmoDoc.API/Controllers/, OsmoDoc.API/Helpers/, OsmoDoc.API/Models/* Namespaces and using directives updated from DocumentService to OsmoDoc; logic unchanged.
OsmoDoc.API/Program.cs Swagger title and namespaces updated; logic and configuration unchanged.
OsmoDoc/Pdf/Models/*, OsmoDoc/Pdf/PdfDocumentGenerator.cs New PDF model and generator classes introduced under OsmoDoc namespace.
OsmoDoc/Word/Models/*, OsmoDoc/Word/WordDocumentGenerator.cs New Word model and generator classes introduced under OsmoDoc namespace.
DocumentService/* All source files deleted as part of migration to OsmoDoc structure.
docs/site/*, docs/site/manifest.json, docs/site/xrefmap.yml Documentation and cross-references updated to use OsmoDoc namespaces and paths.

Sequence Diagram(s)

sequenceDiagram
    participant API as OsmoDoc.API
    participant PdfGen as OsmoDoc.Pdf.PdfDocumentGenerator
    participant WordGen as OsmoDoc.Word.WordDocumentGenerator
    participant Config as OsmoDoc.Pdf.OsmoDocPdfConfig

    API->>Config: Set WkhtmltopdfPath (PDF only)
    API->>PdfGen: GeneratePdf(templatePath, metaDataList, outputFilePath, isEjs, ejsDataJson)
    PdfGen->>PdfGen: Validate template & config
    alt isEjsTemplate
        PdfGen->>PdfGen: ConvertEjsToHTML()
    end
    PdfGen->>PdfGen: Replace placeholders in HTML
    PdfGen->>PdfGen: ConvertHtmlToPdf()
    PdfGen-->>API: PDF file generated

    API->>WordGen: GenerateDocumentByTemplate(templatePath, documentData, outputFilePath)
    WordGen->>WordGen: Load template
    WordGen->>WordGen: Replace text/table/image placeholders
    WordGen-->>API: Word file generated
Loading

Poem

Hopping from Service to Doc,
We changed our name, what a shock!
Paths and namespaces realigned,
OsmoDoc is now defined.
Models, helpers, all in place,
With shiny docs to match the pace—
A rabbit’s leap, a brand new race! 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3efe5c0 and 54cb335.

📒 Files selected for processing (1)
  • OsmoDoc/OsmoDoc.csproj (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • OsmoDoc/OsmoDoc.csproj
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Analyze (csharp)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@osm-Jatin osm-Jatin changed the title Feat/nuget feat: update project logic for nuget integration Jun 17, 2025
@osm-Jatin osm-Jatin requested a review from sameer-s-b June 17, 2025 15:06
@osm-Jatin osm-Jatin self-assigned this Jun 17, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

🧹 Nitpick comments (18)
OsmoDoc/Pdf/Models/OsmoDocPdfConfig.cs (1)

3-7: Consider using a DI-friendly configuration pattern
A static class with a mutable static property can be hard to test and configure. Consider switching to the ASP.NET Core Options pattern (IOptions<OsmoDocPdfConfig>) for better maintainability and testability.

CONTRIBUTING.md (1)

68-71: Fix broken emoji encoding in contribution section
The replacement character appears instead of the intended emoji. Use proper Unicode emoji or remove the HTML entity to fix display.

OsmoDoc.API/Models/PdfGenerationRequestDTO.cs (1)

8-12: Consider enforcing required properties at compile time
Since [Required] enforces presence at runtime, consider using non-nullable property types or the C# 11 required modifier to catch missing assignments at compile time:

public required string Base64 { get; set; }
public required DocumentData DocumentData { get; set; }
OsmoDoc/Pdf/Models/DocumentData.cs (2)

3-3: Remove unused using directive
using System.Text; is not used in this file. Removing it will clean up imports.


7-10: Consider a readonly interface-based property
To enforce immutability and hide the setter, you could expose Placeholders as IList<ContentMetaData> or make it a get-only auto-property:

public IList<ContentMetaData> Placeholders { get; } = new List<ContentMetaData>();
README.md (4)

27-27: Clarify the git clone command
Instead of “Clone the project osmodoc”, consider providing the full command for clarity:

git clone https://github.com/OsmosysSoftware/osmodoc.git

103-103: Fix grammar in instructions
Update phrasing to:

Go to the bin folder in your project where the OsmoDoc.dll is located.


126-127: Replace hardcoded example paths
The Windows-specific absolute paths in the sample could confuse users. Use a generic placeholder or relative paths instead.


190-190: Optimize license phrasing
Consider simplifying to:

OsmoDoc is licensed under the MIT license.

OsmoDoc/Word/Models/DocumentData.cs (1)

3-3: Remove unused using directive

System.Text is not referenced in this file. Consider removing the unused using to keep the file clean.

-using System.Text;
OsmoDoc.API/Program.cs (2)

24-26: DotEnv.Load may throw/file-not-found

dotenv is computed but the code does not check if the .env file actually exists before loading. A missing file will currently throw.
Add an if (File.Exists(dotenv)) guard or handle the exception to avoid boot-time crashes in new environments.


100-106: Duplicate MVC registration

builder.Services.AddMvc() is redundant after AddControllers() and re-adds MVC with possibly conflicting options.
If you only need ConfigureApiBehaviorOptions, chain it off the earlier AddControllers() call instead.

-builder.Services.AddMvc().ConfigureApiBehaviorOptions(options =>
+builder.Services.Configure<ApiBehaviorOptions>(options =>
     …
 );
OsmoDoc/OsmoDoc.csproj (2)

4-6: TargetFrameworks plural but single value

Use <TargetFramework> when you target a single TFM; otherwise tooling may assume multi-targeting.

-<TargetFrameworks>net8.0</TargetFrameworks>
+<TargetFramework>net8.0</TargetFramework>

16-16: Placeholder URL should be replaced

PackageProjectUrl currently contains a placeholder. NuGet warns on upload; populate with the repo/docs URL or remove the property.

OsmoDoc.API/Controllers/PdfController.cs (2)

48-52: Static global is reset per-request.

Every call overwrites OsmoDocPdfConfig.WkhtmltopdfPath. If two requests race while the app restarts with a different root (e.g., tenant-specific path), they will fight. Prefer setting this once during startup (Program.cs) and make the property immutable.


24-70: Heavy duplication – extract a helper.

GeneratePdf and GeneratePdfUsingEjs share >80 % identical code (path building, temp-file handling, error mapping). Factor this into a private method to cut maintenance cost and chance of drift.

Also applies to: 115-161

OsmoDoc/Word/WordDocumentGenerator.cs (1)

293-297: WebClient is obsolete – switch to HttpClient.

WebClient was deprecated; replace with a shared HttpClient (async) or accept a byte[]/stream in the model to avoid network I/O inside a document writer.

OsmoDoc/Pdf/PdfDocumentGenerator.cs (1)

62-65: Redundant catch block.

Catching Exception e only to throw; and ignore e adds no value and suppresses analyzers. Delete the try/catch or handle/log the error.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d055cd3 and 3efe5c0.

⛔ Files ignored due to path filters (1)
  • OsmoDoc.API/wwwroot/Tools/wkhtmltopdf.exe is excluded by !**/*.exe
📒 Files selected for processing (49)
  • .github/PULL_REQUEST_TEMPLATE/pull_request_template_api.md (1 hunks)
  • CONTRIBUTING.md (7 hunks)
  • Dockerfile (2 hunks)
  • DocumentService/DocumentService.csproj (0 hunks)
  • DocumentService/Pdf/Models/ContentMetaData.cs (0 hunks)
  • DocumentService/Pdf/Models/DocumentData.cs (0 hunks)
  • DocumentService/Pdf/PdfDocumentGenerator.cs (0 hunks)
  • DocumentService/Word/Models/ContentData.cs (0 hunks)
  • DocumentService/Word/Models/DocumentData.cs (0 hunks)
  • DocumentService/Word/Models/Enums.cs (0 hunks)
  • DocumentService/Word/Models/TableData.cs (0 hunks)
  • DocumentService/Word/WordDocumentGenerator.cs (0 hunks)
  • OsmoDoc.API/Controllers/PdfController.cs (1 hunks)
  • OsmoDoc.API/Controllers/WordController.cs (1 hunks)
  • OsmoDoc.API/DotEnv.cs (1 hunks)
  • OsmoDoc.API/Helpers/AuthenticationHelper.cs (1 hunks)
  • OsmoDoc.API/Helpers/AutoMappingProfile.cs (1 hunks)
  • OsmoDoc.API/Helpers/Base64StringHelper.cs (1 hunks)
  • OsmoDoc.API/Helpers/CommonMethodsHelper.cs (1 hunks)
  • OsmoDoc.API/Models/BaseResponse.cs (1 hunks)
  • OsmoDoc.API/Models/PdfGenerationRequestDTO.cs (1 hunks)
  • OsmoDoc.API/Models/WordGenerationRequestDTO.cs (1 hunks)
  • OsmoDoc.API/OsmoDoc.API.csproj (1 hunks)
  • OsmoDoc.API/OsmoDoc.API.sln (1 hunks)
  • OsmoDoc.API/Program.cs (1 hunks)
  • OsmoDoc.sln (1 hunks)
  • OsmoDoc/OsmoDoc.csproj (1 hunks)
  • OsmoDoc/Pdf/Models/ContentMetaData.cs (1 hunks)
  • OsmoDoc/Pdf/Models/DocumentData.cs (1 hunks)
  • OsmoDoc/Pdf/Models/OsmoDocPdfConfig.cs (1 hunks)
  • OsmoDoc/Pdf/PdfDocumentGenerator.cs (1 hunks)
  • OsmoDoc/Word/Models/ContentData.cs (1 hunks)
  • OsmoDoc/Word/Models/DocumentData.cs (1 hunks)
  • OsmoDoc/Word/Models/Enums.cs (1 hunks)
  • OsmoDoc/Word/Models/TableData.cs (1 hunks)
  • OsmoDoc/Word/WordDocumentGenerator.cs (1 hunks)
  • README.md (6 hunks)
  • docker-compose.yaml (1 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.Models.ContentData.html (5 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.Models.ContentType.html (2 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.Models.DocumentData.html (4 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.Models.ParentBody.html (2 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.Models.TableData.html (3 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.Models.html (2 hunks)
  • docs/site/10.0.2/api/OsmoDoc.Word.WordDocumentGenerator.html (3 hunks)
  • docs/site/10.0.2/api/OsmoDocWord.html (2 hunks)
  • docs/site/10.0.2/api/toc.html (1 hunks)
  • docs/site/manifest.json (1 hunks)
  • docs/site/xrefmap.yml (1 hunks)
💤 Files with no reviewable changes (9)
  • DocumentService/Pdf/Models/ContentMetaData.cs
  • DocumentService/Word/Models/ContentData.cs
  • DocumentService/Pdf/Models/DocumentData.cs
  • DocumentService/Word/Models/TableData.cs
  • DocumentService/Word/Models/DocumentData.cs
  • DocumentService/DocumentService.csproj
  • DocumentService/Word/Models/Enums.cs
  • DocumentService/Word/WordDocumentGenerator.cs
  • DocumentService/Pdf/PdfDocumentGenerator.cs
🧰 Additional context used
🧬 Code Graph Analysis (5)
OsmoDoc.API/Models/PdfGenerationRequestDTO.cs (1)
OsmoDoc/Pdf/Models/DocumentData.cs (1)
  • DocumentData (7-10)
OsmoDoc.API/Helpers/AutoMappingProfile.cs (2)
OsmoDoc.API/Models/WordGenerationRequestDTO.cs (1)
  • WordContentDataRequestDTO (15-18)
OsmoDoc/Word/Models/ContentData.cs (1)
  • ContentData (7-29)
OsmoDoc/Pdf/Models/DocumentData.cs (1)
OsmoDoc/Pdf/Models/ContentMetaData.cs (1)
  • ContentMetaData (3-7)
OsmoDoc.API/Models/WordGenerationRequestDTO.cs (3)
OsmoDoc/Word/Models/DocumentData.cs (1)
  • DocumentData (11-23)
OsmoDoc/Word/Models/ContentData.cs (1)
  • ContentData (7-29)
OsmoDoc/Word/Models/TableData.cs (1)
  • TableData (9-22)
OsmoDoc/Pdf/PdfDocumentGenerator.cs (2)
OsmoDoc/Pdf/Models/ContentMetaData.cs (1)
  • ContentMetaData (3-7)
OsmoDoc/Pdf/Models/OsmoDocPdfConfig.cs (1)
  • OsmoDocPdfConfig (3-7)
🪛 LanguageTool
README.md

[duplication] ~1-~1: Possible typo: you repeated a word.
Context: # OsmoDoc OsmoDoc is a library with the following functio...

(ENGLISH_WORD_REPEAT_RULE)

🪛 GitHub Check: build
OsmoDoc/Pdf/Models/ContentMetaData.cs

[warning] 6-6:
Non-nullable property 'Content' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.


[warning] 5-5:
Non-nullable property 'Placeholder' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.

OsmoDoc/Word/Models/TableData.cs

[warning] 21-21:
Non-nullable property 'Data' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.

OsmoDoc/Word/Models/ContentData.cs

[warning] 17-17:
Non-nullable property 'Content' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.


[warning] 12-12:
Non-nullable property 'Placeholder' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.

OsmoDoc/Word/Models/DocumentData.cs

[warning] 22-22:
Non-nullable property 'TablesData' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.


[warning] 16-16:
Non-nullable property 'Placeholders' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.

OsmoDoc/Word/WordDocumentGenerator.cs

[warning] 110-110:
The variable 'ex' is declared but never used

OsmoDoc/Pdf/PdfDocumentGenerator.cs

[warning] 77-77:
Converting null literal or possible null value to non-nullable type.


[warning] 62-62:
The variable 'e' is declared but never used

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Analyze (csharp)
🔇 Additional comments (70)
OsmoDoc.API/Helpers/Base64StringHelper.cs (1)

1-1: Namespace updated to reflect project renaming.

The namespace was correctly changed from DocumentService.API.Helpers to OsmoDoc.API.Helpers. No functional changes detected.

OsmoDoc.API/Helpers/CommonMethodsHelper.cs (1)

1-1: Namespace updated consistently.

Updated namespace from DocumentService.API.Helpers to OsmoDoc.API.Helpers. Implementation remains unchanged.

OsmoDoc.API/DotEnv.cs (1)

1-1: Namespace aligned with new project name.

Namespace updated from DocumentService.API to OsmoDoc.API. No behavior changes introduced.

.github/PULL_REQUEST_TEMPLATE/pull_request_template_api.md (1)

5-5: PR template link updated for new repository.

The PR checklist link now points to osmodoc instead of document-service. Ensure the URL is correct and accessible.

OsmoDoc.API/Helpers/AuthenticationHelper.cs (1)

6-6: Namespace change applied as part of rebranding.

Updated namespace from DocumentService.API.Helpers to OsmoDoc.API.Helpers. No logic alterations.

docs/site/10.0.2/api/OsmoDoc.Word.Models.html (5)

8-9: Update HTML page title namespace
The <title> tag has been correctly updated to reference OsmoDoc.Word.Models.


11-12: Update meta title namespace
The meta name="title" entry now consistently uses OsmoDoc.Word.Models.


70-73: Update article and heading namespace identifiers
The <article> data-uid and <h1> id/data-uid attributes have been aligned with the new OsmoDoc.Word.Models namespace.


80-86: Update class link hrefs to OsmoDoc namespace
All class entries (ContentData, DocumentData, TableData) now point to OsmoDoc.Word.Models.* in their href.


89-92: Update enum link hrefs to OsmoDoc namespace
Enum references (ContentType, ParentBody) have been updated to the OsmoDoc.Word.Models.* paths.

OsmoDoc.API/Helpers/AutoMappingProfile.cs (2)

1-3: Update using directives to OsmoDoc namespaces
The imports have been correctly adjusted from the old DocumentService to the OsmoDoc namespaces.


11-11: Mapping configuration aligns with new DTO and model namespaces
CreateMap<WordContentDataRequestDTO, ContentData>() remains valid under the updated namespaces.

Dockerfile (4)

13-15: Correct project file copy paths
The COPY instructions have been updated to target OsmoDoc.API.csproj and OsmoDoc.csproj, matching the renamed projects.


17-19: Update dotnet restore commands paths
Both dotnet restore invocations now correctly reference the OsmoDoc project files.


22-22: Set working directory to OsmoDoc.API
The WORKDIR "/app/OsmoDoc.API" is now aligned with the renamed API project folder.


48-48: Update container entrypoint to OsmoDoc API DLL
The ENTRYPOINT has been updated to launch OsmoDoc.API.dll as expected.

CONTRIBUTING.md (8)

1-2: Update project name in title and introduction
The document title and introductory paragraph now correctly reference osmodoc.


16-18: Direct support to Stack Overflow with osmodoc tag
The guidance now points general support questions to Stack Overflow using the osmodoc tag.


26-28: Update issue and pull request URLs to OsmoDoc repository
Links for bug reports and pull requests now target the OsmosysSoftware/osmodoc repository.


37-43: Clarify minimal reproduction details for osmodoc bugs
The bullet points in the issue submission guidelines have been updated to mention osmodoc specifically.


49-51: Update link to existing pull requests for osmodoc
The PR search link now points to the osmodoc repository's pull requests.


66-67: Update default branch for pull requests
Changed the target branch to osmodoc:main to match the renamed repository.


93-94: Update commit message guidelines to mention osmodoc change log
The footer now correctly references the generation of the osmodoc change log.


113-113: Update sample commit links to osmodoc repository
The sample commits section now links to the osmodoc project history.

OsmoDoc.API/OsmoDoc.API.csproj (1)

15-15: Project reference updated to OsmoDoc project
The <ProjectReference> correctly points to the new OsmoDoc project, aligning with the renaming and restructuring.

docs/site/10.0.2/api/OsmoDoc.Word.Models.ParentBody.html (3)

70-75: Namespace reference updated correctly
The data-uid and <h1> ID attributes have been updated from DocumentService to OsmoDoc.Word.Models.ParentBody, aligning with the project rename.


79-80: Assembly header updated
The <h6> tags for Namespace and Assembly now correctly reference OsmoDoc instead of DocumentService.


96-102: Enum field IDs renamed
The id attributes for None and Table fields have been updated to the OsmoDoc.Word.Models.ParentBody namespace. All references are consistent.

OsmoDoc.API/Models/PdfGenerationRequestDTO.cs (2)

1-1: Update using directive
The using statement correctly references the new OsmoDoc.Pdf.Models namespace in place of DocumentService.


4-4: Update namespace declaration
The namespace has been updated to OsmoDoc.API.Models, aligning with the project rename.

docs/site/10.0.2/api/OsmoDoc.Word.Models.ContentType.html (3)

70-75: Namespace reference updated
The <article> tag's data-uid and <h1> ID have been updated to use OsmoDoc.Word.Models.ContentType.


79-80: Assembly header updated
The Namespace and Assembly <h6> elements now correctly reference OsmoDoc instead of DocumentService.


96-101: Enum field IDs updated
The id attributes for Image and Text fields have been updated to the OsmoDoc.Word.Models.ContentType namespace.

docs/site/10.0.2/api/OsmoDocWord.html (4)

8-9: Title updated to new namespace
The <title> tag correctly references OsmoDoc.Word.


11-12: Meta title updated to new namespace
The <meta name="title"> entry now matches OsmoDoc.Word.


70-73: Content UID and heading updated for OsmoDoc.Word
The article data-uid and <h1> have been updated to reflect the new namespace.


80-80: Link updated to WordDocumentGenerator in new namespace
The hyperlink now correctly points to OsmoDoc.Word.WordDocumentGenerator.html.

OsmoDoc.API/OsmoDoc.API.sln (1)

6-6: Project entry updated to new name
The solution now references "OsmoDoc.API" instead of the old project name.

docs/site/manifest.json (1)

8-12: Skip: namespace path updates
These ManagedReference entries were updated to reflect the new OsmoDoc paths—no issues.

Also applies to: 18-22, 28-32, 38-42, 48-52, 58-62, 68-72, 78-82

OsmoDoc.API/Models/BaseResponse.cs (1)

1-3: Consistent namespace and dependency update
The using directive for Microsoft.AspNetCore.Mvc and the namespace refactoring to OsmoDoc.API.Models are correct and required for the BadRequestObjectResult return type and overall project rename.

docs/site/10.0.2/api/OsmoDoc.Word.Models.DocumentData.html (6)

70-74: Updated document header identifiers
data-uid and <h1> ID for DocumentData now correctly reflect the OsmoDoc.Word.Models namespace.


107-108: Correct namespace and assembly display
The <h6> elements showing Namespace: OsmoDoc.Word.Models and Assembly: OsmoDoc.dll are accurate.


115-116: Placeholders section identifiers updated
The anchor and heading IDs for the Placeholders property now match the new namespace.


133-133: Placeholders type hyperlink corrected
The type cell now links to OsmoDoc.Word.Models.ContentData, aligning with the new project structure.


138-139: TablesData section identifiers updated
The anchor and heading IDs for the TablesData property correctly use the OsmoDoc.Word.Models prefix.


156-156: TablesData type hyperlink corrected
The table data type link now points to OsmoDoc.Word.Models.TableData.

docs/site/10.0.2/api/toc.html (2)

17-21: Toc links for OsmoDoc.Word section updated
The entries for OsmoDoc.Word and its WordDocumentGenerator child now correctly replace the old DocumentService prefix.


27-43: Toc links for OsmoDoc.Word.Models subtree updated
All links under OsmoDoc.Word.Models (ContentData, ContentType, DocumentData, ParentBody, TableData) correctly reflect the new namespace and filenames.

OsmoDoc.sln (1)

6-9: Solution file project entries renamed
The projects in the solution have been correctly renamed from DocumentService to OsmoDoc and DocumentService.API to OsmoDoc.API, with updated paths.

docs/site/10.0.2/api/OsmoDoc.Word.Models.ContentData.html (6)

70-74: Updated document header identifiers
data-uid and <h1> ID for ContentData now correctly reflect the OsmoDoc.Word.Models namespace.


107-108: Correct namespace and assembly display
The <h6> elements showing Namespace: OsmoDoc.Word.Models and Assembly: OsmoDoc.dll are accurate.


115-116: Content section identifiers updated
The anchor and heading IDs for the Content property now match the new namespace.


138-139: ContentType section identifiers updated
The anchor and heading IDs for the ContentType property have been updated to use OsmoDoc.Word.Models.


156-156: ContentType type hyperlink corrected
The type cell now points to OsmoDoc.Word.Models.ContentType.


162-163: ParentBody section identifiers updated
The anchor and heading IDs for the ParentBody property now correctly reflect the OsmoDoc.Word.Models prefix.

docs/site/10.0.2/api/OsmoDoc.Word.Models.TableData.html (6)

70-70: Namespace UID updated correctly.
The data-uid on the <article> tag reflects the new OsmoDoc namespace without any leftover DocumentService references.


74-74: Header ID and UID are consistent with new namespace.
The <h1> tag uses the updated OsmoDoc.Word.Models.TableData identifier.


107-107: Namespace link updated.
The <h6> element correctly points to OsmoDoc.Word.Models and not the old namespace.


108-108: Assembly label updated.
The assembly name is correctly shown as OsmoDoc.dll.


115-115: Property UID updated for Data.
The data-uid for the Data property now aligns with OsmoDoc.Word.Models.TableData.Data.


139-139: Property UID updated for TablePos.
The data-uid for the TablePos property reflects the new namespace.

OsmoDoc.API/Controllers/WordController.cs (1)

1-7: Using directives updated to new namespace.
All using statements now correctly reference OsmoDoc assemblies; no residual DocumentService imports were found.

docker-compose.yaml (1)

2-2: Service and image names updated.
The service name, Docker image, and container name have been renamed to osmodoc*, consistent with the project rebranding.

Also applies to: 6-7

OsmoDoc/Word/Models/Enums.cs (1)

1-35: Enum definitions look good.
Both ContentType and ParentBody enums are defined with clear documentation and correct values. No issues detected.

OsmoDoc.API/Program.cs (1)

70-76: Environment variable read is fine

Retrieving JWT_KEY and failing fast when missing is a good practice; no action required.

OsmoDoc.API/Models/WordGenerationRequestDTO.cs (1)

22-23: Good defensive initialisation

Initialising Placeholders and TablesData avoids null checks downstream. Nicely done.

docs/site/10.0.2/api/OsmoDoc.Word.WordDocumentGenerator.html (1)

1-184: Documentation file – no code impact

HTML documentation changes look consistent with the namespace rename. No code issues.

OsmoDoc/Word/WordDocumentGenerator.cs (1)

31-56: I’ll inspect the DocumentData DTO to see how Placeholders and TablesData are declared (nullability, initializers, etc.).

#!/bin/bash
# Find DocumentData class and its properties
rg -n "class DocumentData" -A10
rg -n "Placeholders" -A3
rg -n "TablesData" -A3
OsmoDoc/Pdf/PdfDocumentGenerator.cs (1)

74-75: I’ll locate and inspect the ContentMetaData model to confirm the nullability of its Content property.

#!/bin/bash
# 1. Find the file defining ContentMetaData
metaFile=$(rg -l "class ContentMetaData" -t cs | head -n1)
echo "=== ContentMetaData model: $metaFile ==="
# 2. Show its top 200 lines for property declarations
sed -n '1,200p' "$metaFile"
docs/site/xrefmap.yml (1)

1-196: Documentation update looks consistent.
No issues spotted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants