Skip to content

internal/pdf

github.com/gamidoc/backend/internal/pdf

Types

Builder

type Builder struct{}

CustomTemplate

type CustomTemplate struct {

EmailDelivery

type EmailDelivery struct {

FPDFGenerator

type FPDFGenerator struct{}

Generated

type Generated struct {

GenerateOptions

type GenerateOptions struct {

Generator

type Generator interface {

GotenbergHTMLRenderer

type GotenbergHTMLRenderer struct {

Handler

type Handler struct {

HTMLDocument

type HTMLDocument struct {

HTMLRenderer

type HTMLRenderer interface {

InstrumentEntry

type InstrumentEntry struct {

MethodEntry

type MethodEntry struct {

PlanData

type PlanData struct {

ProjectRecommendationService

type ProjectRecommendationService interface {

ProjectRepository

type ProjectRepository interface {

RecommendationService

type RecommendationService interface {

Service

type Service struct {

SessionRecommendationService

type SessionRecommendationService interface {

SessionRepository

type SessionRepository interface {

Functions

Builder.BuildFromProject

func (b *Builder) BuildFromProject(item project.Project, methodRecs []recommendation.Recommendation, instrumentRecs []recommendation.Recommendation) (PlanData, error) {

Builder.BuildFromSession

func (b *Builder) BuildFromSession(item session.Session, methodRecs []recommendation.Recommendation, instrumentRecs []recommendation.Recommendation) (PlanData, error) {

FPDFGenerator.Generate

func (g *FPDFGenerator) Generate(data PlanData) ([]byte, error) {

GotenbergHTMLRenderer.Render

func (r *GotenbergHTMLRenderer) Render(ctx context.Context, document HTMLDocument) ([]byte, error) {

Handler.Download

func (h *Handler) Download(w http.ResponseWriter, r *http.Request) {

Handler.ProjectDownload

func (h *Handler) ProjectDownload(w http.ResponseWriter, r *http.Request) {

Handler.ProjectGenerate

func (h *Handler) ProjectGenerate(w http.ResponseWriter, r *http.Request) {

Handler.SessionDownload

func (h *Handler) SessionDownload(w http.ResponseWriter, r *http.Request) {

Handler.SessionGenerate

func (h *Handler) SessionGenerate(w http.ResponseWriter, r *http.Request) {

NewBuilder

func NewBuilder() *Builder {

NewFPDFGenerator

func NewFPDFGenerator() *FPDFGenerator {

NewGotenbergHTMLRenderer

func NewGotenbergHTMLRenderer(endpoint string, timeout time.Duration) *GotenbergHTMLRenderer {

NewHandler

func NewHandler(service *Service) *Handler {

NewService

func NewService(

RenderCustomHTML

func RenderCustomHTML(data PlanData, custom CustomTemplate) (string, error) {

Service.Download

func (s *Service) Download(ctx context.Context, key string) ([]byte, error) {

Service.DownloadProjectPDF

func (s *Service) DownloadProjectPDF(ctx context.Context, userID, projectID string) ([]byte, error) {

Service.DownloadSessionPDF

func (s *Service) DownloadSessionPDF(ctx context.Context, sessionID string) ([]byte, error) {

Service.GenerateProjectPDF

func (s *Service) GenerateProjectPDF(ctx context.Context, userID string, projectID string, notifyEmail string) (Generated, error) {

Service.GenerateProjectPDFWithOptions

func (s *Service) GenerateProjectPDFWithOptions(ctx context.Context, userID string, projectID string, options GenerateOptions) (Generated, error) {

Service.GenerateSessionPDF

func (s *Service) GenerateSessionPDF(ctx context.Context, sessionID string, notifyEmail string) (Generated, error) {

Service.GenerateSessionPDFWithOptions

func (s *Service) GenerateSessionPDFWithOptions(ctx context.Context, sessionID string, options GenerateOptions) (Generated, error) {

Service.WithHTMLRenderer

func (s *Service) WithHTMLRenderer(renderer HTMLRenderer) *Service {

Variables

ErrInvalidNotifyEmail

var ErrInvalidNotifyEmail = fmt.Errorf("invalid notify email")

ErrInvalidPDFTemplate

var ErrInvalidPDFTemplate = errors.New("invalid pdf template")

ErrPDFNotFound

var ErrPDFNotFound = fmt.Errorf("pdf not found")

ErrPDFRendererUnavailable

var ErrPDFRendererUnavailable = errors.New("pdf html renderer unavailable")