/
alt3rmann
/
graphql-engine
Обзор
Документация
Войти
/
alt3rmann
/
graphql-engine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
cli/internal/projectmetadata/diff.go
39 строк
1 KB
Kali Vara Purushotham Santhati
cli: enhance `metadata diff` command
09 дек 2021, 20:26
09 дек 2021, 20:26
8c41ff5
Код
Авторство
О чём код?
package projectmetadata import ( "io" "github.com/hasura/graphql-engine/cli/v2" "github.com/hasura/graphql-engine/cli/v2/internal/metadataobject" ) type PrintContextRichDiffBetweenProjectDirectoriesOpts struct { EC *cli.ExecutionContext MetadataHandler *Handler FromDirectory, ToDirectory string Writer io.Writer DisableColor bool } func PrintContextRichDiffBetweenProjectDirectories(opts PrintContextRichDiffBetweenProjectDirectoriesOpts) error { fromObjects := GetMetadataObjectsWithDir(opts.EC, opts.FromDirectory) toObjects := GetMetadataObjectsWithDir(opts.EC, opts.ToDirectory) toObjectsMap := map[string]metadataobject.Object{} for _, object := range toObjects { toObjectsMap[object.Key()] = object } for _, fromObject := range fromObjects { diffOpts := metadataobject.WriteDiffOpts{ To: toObjectsMap[fromObject.Key()], W: opts.Writer, DisableColor: opts.DisableColor, } err := fromObject.WriteDiff(diffOpts) if err != nil { opts.EC.Logger.Error(err) } } return nil }