Rework actions to be loaded dynamically

This commit is contained in:
Tom Wiesing 2023-11-08 10:29:09 +01:00
parent e49f89d4ee
commit 08ab7b4383
No known key found for this signature in database
22 changed files with 934 additions and 81 deletions

View file

@ -0,0 +1,42 @@
package actions
import (
"context"
"io"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/auth/scopes"
"github.com/FAU-CDI/wisski-distillery/internal/dis/component/exporter"
)
type Backup struct {
component.Base
dependencies struct {
Exporter *exporter.Exporter
}
}
var (
_ WebsocketAction = (*Backup)(nil)
)
func (*Backup) Action() Action {
return Action{
Name: "backup",
Scope: scopes.ScopeUserAdmin,
NumParams: 0,
}
}
func (b *Backup) Act(ctx context.Context, in io.Reader, out io.Writer, params ...string) error {
return b.dependencies.Exporter.MakeExport(
ctx,
out,
exporter.ExportTask{
Dest: "",
Instance: nil,
StagingOnly: false,
},
)
}