From 3d8c21d6de96d73076f357436b903d04cf976432 Mon Sep 17 00:00:00 2001 From: Mikael VALLENET Date: Thu, 4 Aug 2022 16:50:32 +0200 Subject: [PATCH] feat: add fetch repository if it not already exist in db (#530) * feat: add fetch repository if it not already exist in db * feat: add fetch repository if it not already exist in db * style: go fmt * style: go fmt --- internal/dvserver/api.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/dvserver/api.go b/internal/dvserver/api.go index 568bca4c1..4f56149c3 100644 --- a/internal/dvserver/api.go +++ b/internal/dvserver/api.go @@ -40,6 +40,18 @@ func (s *service) Graph(ctx context.Context, in *Graph_Input) (*Graph_Output, er return nil, fmt.Errorf("load tasks: %w", err) } + // fetch if not already in db + if len(tasks) == 0 { + _, err := dvcore.PullAndSave(filters.Targets, s.h, s.schema, s.opts.GitHubToken, false, s.opts.Logger) + if err != nil { + return nil, fmt.Errorf("pull: %w", err) + } + tasks, err = dvstore.LoadTasks(s.h, s.schema, filters, s.opts.Logger) + if err != nil { + return nil, fmt.Errorf("load tasks: %w", err) + } + } + // build output ret := Graph_Output{ Tasks: make([]*dvmodel.Task, len(tasks)),