MCPcopy Create free account
hub / github.com/apache/devlake / ExtractApiTag

Function ExtractApiTag

backend/plugins/gitlab/tasks/tag_extractor.go:53–83  ·  view source on GitHub ↗
(taskCtx plugin.SubTaskContext)

Source from the content-addressed store, hash-verified

51}
52
53func ExtractApiTag(taskCtx plugin.SubTaskContext) errors.Error {
54 rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_TAG_TABLE)
55
56 extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
57 RawDataSubTaskArgs: *rawDataSubTaskArgs,
58 Extract: func(row *api.RawData) ([]interface{}, errors.Error) {
59 // need to extract 1 kind of entities here
60 results := make([]interface{}, 0, 1)
61
62 gitlabApiTag := &GitlabApiTag{}
63 err := errors.Convert(json.Unmarshal(row.Data, gitlabApiTag))
64 if err != nil {
65 return nil, err
66 }
67 gitlabTag, err := convertTag(gitlabApiTag)
68 if err != nil {
69 return nil, err
70 }
71 gitlabTag.ConnectionId = data.Options.ConnectionId
72 results = append(results, gitlabTag)
73
74 return results, nil
75 },
76 })
77
78 if err != nil {
79 return err
80 }
81
82 return extractor.Execute()
83}
84
85// Convert the API response to our DB model instance
86func convertTag(tag *GitlabApiTag) (*models.GitlabTag, errors.Error) {

Callers

nothing calls this directly

Calls 4

ExecuteMethod · 0.95
convertTagFunction · 0.85
CreateRawDataSubTaskArgsFunction · 0.70
ConvertMethod · 0.45

Tested by

no test coverage detected