33 lines
751 B
Go
33 lines
751 B
Go
package template
|
|
|
|
import (
|
|
"context"
|
|
|
|
"proxui/backend/internal/vm"
|
|
)
|
|
|
|
type ProvisionResolver struct {
|
|
repository Repository
|
|
}
|
|
|
|
func NewProvisionResolver(repository Repository) ProvisionResolver {
|
|
return ProvisionResolver{repository: repository}
|
|
}
|
|
|
|
func (r ProvisionResolver) GetTemplate(ctx context.Context, templateID string) (vm.TemplateInfo, bool, error) {
|
|
t, found, err := r.repository.Get(ctx, templateID)
|
|
if err != nil {
|
|
return vm.TemplateInfo{}, false, err
|
|
}
|
|
if !found {
|
|
return vm.TemplateInfo{}, false, nil
|
|
}
|
|
|
|
return vm.TemplateInfo{
|
|
ID: t.ID,
|
|
ClusterID: t.ClusterID,
|
|
Name: t.Name,
|
|
ProxmoxTemplateVMID: t.ProxmoxTemplateVMID,
|
|
ProxmoxNode: t.ProxmoxNode,
|
|
}, true, nil
|
|
} |