finish-wip

This commit is contained in:
6543 2024-03-29 10:31:29 +01:00
parent 44e026e843
commit ad96a2dbe5
2 changed files with 16 additions and 3 deletions

View file

@ -62,7 +62,12 @@ func (s *RPC) Next(c context.Context, agentFilter rpc.Filter) (*rpc.Workflow, er
}
// enforce server set agent filters
for k, v := range agent.Filters {
agentFilters, err := agent.GetFilters()
if err != nil {
return nil, err
}
for k, v := range agentFilters {
agentFilter.Labels[k] = v
}

View file

@ -14,6 +14,8 @@
package model
import "errors"
type Agent struct {
ID int64 `json:"id" xorm:"pk autoincr 'id'"`
Created int64 `json:"created" xorm:"created"`
@ -40,7 +42,9 @@ func (a *Agent) IsSystemAgent() bool {
return a.OwnerID == -1
}
func (a *Agent) GetFilters() map[string]string {
var ErrFiltersBroken = errors.New("while creating filters map error ocured")
func (a *Agent) GetFilters() (map[string]string, error) {
filters := a.Filters
if filters == nil {
filters = make(map[string]string)
@ -52,7 +56,11 @@ func (a *Agent) GetFilters() map[string]string {
filters["owner"] = "*" // allow all owners by default
} else {
filters["owner"] = "*" // we dont have org agents implemented jet
// we expect this filter to be set else we fail
if _, ok := filters["repo"]; !ok {
return nil, ErrFiltersBroken
}
}
return filters
return filters, nil
}