(nomadJob nomadApi.Job, nomadAllocations []nomadApi.Allocation)
| 1121 | } |
| 1122 | |
| 1123 | func buildJobDetailResp(nomadJob nomadApi.Job, nomadAllocations []nomadApi.Allocation) (destTaskDetail models.MysqlDestTaskDetail, srcTaskDetail models.SrcTaskDetail, err error) { |
| 1124 | taskGroupToNomadAlloc := make(map[string][]nomadApi.Allocation) |
| 1125 | for _, a := range nomadAllocations { |
| 1126 | taskGroupToNomadAlloc[a.TaskGroup] = append(taskGroupToNomadAlloc[a.TaskGroup], a) |
| 1127 | } |
| 1128 | |
| 1129 | for _, tg := range nomadJob.TaskGroups { |
| 1130 | for _, t := range tg.Tasks { |
| 1131 | internalTaskConfig, err := convertTaskConfigMapToInternalTaskConfig(t.Config) |
| 1132 | if err != nil { |
| 1133 | return models.MysqlDestTaskDetail{}, models.SrcTaskDetail{}, fmt.Errorf("convert task config failed: %v", err) |
| 1134 | } |
| 1135 | |
| 1136 | taskType := common.TaskTypeFromString(t.Name) |
| 1137 | switch taskType { |
| 1138 | case common.TaskTypeSrc: |
| 1139 | srcTaskDetail = buildSrcTaskDetail( |
| 1140 | common.TaskTypeSrc, internalTaskConfig, taskGroupToNomadAlloc[common.TaskTypeSrc]) |
| 1141 | destTaskDetail = buildMysqlDestTaskDetail( |
| 1142 | common.TaskTypeDest, internalTaskConfig, taskGroupToNomadAlloc[common.TaskTypeDest]) |
| 1143 | break |
| 1144 | case common.TaskTypeDest: |
| 1145 | break |
| 1146 | case common.TaskTypeUnknown: |
| 1147 | break |
| 1148 | } |
| 1149 | } |
| 1150 | } |
| 1151 | |
| 1152 | return destTaskDetail, srcTaskDetail, nil |
| 1153 | } |
| 1154 | |
| 1155 | func CreateOrUpdateSyncJobV2(c echo.Context, create bool) error { |
| 1156 | logger := handler.NewLogger().Named("CreateOrUpdateSyncJobV2") |
no test coverage detected