chore(libreoffice): switch to supervisor (#708)

This commit is contained in:
Julien Neuhart
2023-10-28 17:55:53 +02:00
committed by GitHub
parent c8b318b315
commit 052448c59a
38 changed files with 2381 additions and 3093 deletions

View File

@@ -7,23 +7,23 @@ import (
"github.com/gotenberg/gotenberg/v7/pkg/gotenberg"
"github.com/gotenberg/gotenberg/v7/pkg/modules/api"
"github.com/gotenberg/gotenberg/v7/pkg/modules/libreoffice/uno"
libeofficeapi "github.com/gotenberg/gotenberg/v7/pkg/modules/libreoffice/api"
)
func init() {
gotenberg.MustRegisterModule(LibreOffice{})
gotenberg.MustRegisterModule(new(LibreOffice))
}
// LibreOffice is a module which provides a route for converting documents to
// PDF with LibreOffice.
type LibreOffice struct {
unoAPI uno.API
api libeofficeapi.Uno
engine gotenberg.PDFEngine
disableRoutes bool
}
// Descriptor returns a LibreOffice's module descriptor.
func (LibreOffice) Descriptor() gotenberg.ModuleDescriptor {
// Descriptor returns a [LibreOffice]'s module descriptor.
func (mod *LibreOffice) Descriptor() gotenberg.ModuleDescriptor {
return gotenberg.ModuleDescriptor{
ID: "libreoffice",
FlagSet: func() *flag.FlagSet {
@@ -41,17 +41,17 @@ func (mod *LibreOffice) Provision(ctx *gotenberg.Context) error {
flags := ctx.ParsedFlags()
mod.disableRoutes = flags.MustBool("libreoffice-disable-routes")
provider, err := ctx.Module(new(uno.Provider))
provider, err := ctx.Module(new(libeofficeapi.Provider))
if err != nil {
return fmt.Errorf("get unoAPI provider: %w", err)
return fmt.Errorf("get LibreOffice Uno provider: %w", err)
}
unoAPI, err := provider.(uno.Provider).UNO()
libreOfficeApi, err := provider.(libeofficeapi.Provider).LibreOffice()
if err != nil {
return fmt.Errorf("get unoAPI API: %w", err)
return fmt.Errorf("get LibreOffice Uno: %w", err)
}
mod.unoAPI = unoAPI
mod.api = libreOfficeApi
provider, err = ctx.Module(new(gotenberg.PDFEngineProvider))
if err != nil {
@@ -69,13 +69,13 @@ func (mod *LibreOffice) Provision(ctx *gotenberg.Context) error {
}
// Routes returns the HTTP routes.
func (mod LibreOffice) Routes() ([]api.Route, error) {
func (mod *LibreOffice) Routes() ([]api.Route, error) {
if mod.disableRoutes {
return nil, nil
}
return []api.Route{
convertRoute(mod.unoAPI, mod.engine),
convertRoute(mod.api, mod.engine),
}, nil
}