buildr/modules/state/models.go
Peter 34c431790e
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is failing
refactor: use connect-go instead of regular Google gRPC
- support binary name for plugins
- register plugins for container jobs
2023-09-12 18:43:34 +02:00

43 lines
702 B
Go

package state
import (
"net/url"
commonv1 "code.icb4dc0.de/buildr/api/generated/common/v1"
"code.icb4dc0.de/buildr/buildr/modules/state/ent"
"github.com/google/uuid"
)
type Plugin struct {
ID *uuid.UUID
Name string
URL *url.URL
LocalPath string
Hash []byte
}
type PluginModule struct {
ID *uuid.UUID
Type string
DefaultSpec []byte
Category commonv1.Category
PluginID uuid.UUID
}
func pluginFromEntity(p *ent.Plugin) (Plugin, error) {
u, err := url.Parse(p.URL)
if err != nil {
return Plugin{}, err
}
return Plugin{
ID: &p.ID,
Name: p.Name,
URL: u,
LocalPath: p.LocalPath,
Hash: p.Hash,
}, nil
}