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

Function ConvertApiProjects

backend/plugins/gitlab/tasks/project_convertor.go:70–108  ·  view source on GitHub ↗
(taskCtx plugin.SubTaskContext)

Source from the content-addressed store, hash-verified

68}
69
70func ConvertApiProjects(taskCtx plugin.SubTaskContext) errors.Error {
71 rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_PROJECT_TABLE)
72 db := taskCtx.GetDal()
73 clauses := []dal.Clause{
74 dal.From(&models.GitlabProject{}),
75 dal.Where("gitlab_id=? and connection_id = ?", data.Options.ProjectId, data.Options.ConnectionId),
76 }
77
78 cursor, err := db.Cursor(clauses...)
79 if err != nil {
80 return err
81 }
82
83 converter, err := helper.NewDataConverter(helper.DataConverterArgs{
84 RawDataSubTaskArgs: *rawDataSubTaskArgs,
85 InputRowType: reflect.TypeOf(models.GitlabProject{}),
86 Input: cursor,
87
88 Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
89 gitlabProject := inputRow.(*models.GitlabProject)
90
91 domainRepository := convertToRepositoryModel(gitlabProject)
92 domainCicdScope := convertToCicdScopeModel(gitlabProject)
93 domainBoard := convertToBoardModel(gitlabProject)
94 domainBoardRepo := convertToBoardRepoModel(gitlabProject)
95 return []interface{}{
96 domainRepository,
97 domainBoard,
98 domainBoardRepo,
99 domainCicdScope,
100 }, nil
101 },
102 })
103 if err != nil {
104 return err
105 }
106
107 return converter.Execute()
108}
109
110func convertToRepositoryModel(project *models.GitlabProject) *code.Repo {
111 domainRepository := &code.Repo{

Callers

nothing calls this directly

Calls 9

ExecuteMethod · 0.95
convertToBoardModelFunction · 0.85
convertToBoardRepoModelFunction · 0.85
CreateRawDataSubTaskArgsFunction · 0.70
convertToRepositoryModelFunction · 0.70
convertToCicdScopeModelFunction · 0.70
GetDalMethod · 0.65
FromMethod · 0.65
CursorMethod · 0.65

Tested by

no test coverage detected