Skip to content

SudoSOS Back-end API / internal/pdf

internal/pdf ​

This is the page of pdf-service.

Classes ​

ClassDescription
BaseHtmlPdfServiceBase class for HTML-to-PDF services. Produces bytes via createPdfBuffer. Concrete stored services should implement createPdfWithEntity to persist and return the Pdf entity.
BasePdfServiceBase PDF service that always provides bytes. Concrete services that store a Pdf entity should implement IStoredPdfService.
HtmlPdfServiceHTML-to-PDF service for entities that store PDFs. Similar to PdfService but uses HTML templates instead of LaTeX.
HtmlUnstoredPdfServiceHTML-to-PDF service for entities that don't store PDFs. It inherits createPdfBuffer and createRaw from BaseHtmlPdfService. It does not implement any stored interface.
PdfServiceStored PDF service. Uses BasePdfService to produce bytes then uploads and returns the Pdf entity.
RouteParams-
UnstoredPdfServiceUnstoredPdfService - produces bytes but does not persist. It inherits createPdfBuffer and createRaw from BasePdfService. It does not implement any stored interface.

Interfaces ​

InterfaceDescription
IPdfServiceBaseBase interface for all PDF services. - createPdfBuffer always produces the PDF bytes - createRaw produces raw output (tex or html) as bytes - getParameters must be implemented by concrete services
IStoredPdfServiceOptional interface for services that also persist and return a Pdf entity. Services that do not persist can simply not implement this interface.

Type Aliases ​

Type AliasDescription
HtmlGeneratorType alias for a function that generates HTML from a data object.
PdfTemplateParametersType alias for template parameters used in HTML PDF services. Parameters must be a record (object) with string keys.