You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
645 B
29 lines
645 B
package types
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
|
|
"git.aiterp.net/rpdata/api/graph2/input"
|
|
"git.aiterp.net/rpdata/api/models"
|
|
)
|
|
|
|
type changeResolver struct{}
|
|
|
|
func (r *changeResolver) Objects(ctx context.Context, obj *models.Change) ([]input.ChangeObject, error) {
|
|
objects := obj.Objects()
|
|
|
|
results := make([]input.ChangeObject, 0, len(objects))
|
|
for _, object := range objects {
|
|
if changeObject, ok := object.(input.ChangeObject); ok {
|
|
results = append(results, changeObject)
|
|
} else {
|
|
log.Printf("Type %T needs ChangeObject impl", object)
|
|
}
|
|
}
|
|
|
|
return results, nil
|
|
}
|
|
|
|
// ChangeResolver is a resolver
|
|
var ChangeResolver changeResolver
|