@@ -38,6 +38,7 @@ type RestHandler interface {
38
38
GetCommitMetadataForPipelineMaterial (w http.ResponseWriter , r * http.Request )
39
39
ReloadAllMaterial (w http.ResponseWriter , r * http.Request )
40
40
ReloadMaterial (w http.ResponseWriter , r * http.Request )
41
+ ReloadMaterials (w http.ResponseWriter , r * http.Request )
41
42
GetChangesInRelease (w http.ResponseWriter , r * http.Request )
42
43
GetCommitInfoForTag (w http.ResponseWriter , r * http.Request )
43
44
RefreshGitMaterial (w http.ResponseWriter , r * http.Request )
@@ -116,9 +117,13 @@ func (handler RestHandlerImpl) SaveGitProvider(w http.ResponseWriter, r *http.Re
116
117
func (handler RestHandlerImpl ) AddRepo (w http.ResponseWriter , r * http.Request ) {
117
118
decoder := json .NewDecoder (r .Body )
118
119
119
- gitCtx := git .BuildGitContext (r .Context ())
120
120
var Repo []* sql.GitMaterial
121
121
err := decoder .Decode (& Repo )
122
+ cloningMode := git .CloningModeFull
123
+ if Repo != nil && len (Repo ) > 0 {
124
+ cloningMode = Repo [0 ].CloningMode
125
+ }
126
+ gitCtx := git .BuildGitContext (r .Context ()).WithCloningMode (cloningMode )
122
127
if err != nil {
123
128
handler .logger .Error (err )
124
129
handler .writeJsonResp (w , err , nil , http .StatusBadRequest )
@@ -135,9 +140,9 @@ func (handler RestHandlerImpl) AddRepo(w http.ResponseWriter, r *http.Request) {
135
140
136
141
func (handler RestHandlerImpl ) UpdateRepo (w http.ResponseWriter , r * http.Request ) {
137
142
decoder := json .NewDecoder (r .Body )
138
- gitCtx := git .BuildGitContext (r .Context ())
139
143
var Repo * sql.GitMaterial
140
144
err := decoder .Decode (& Repo )
145
+ gitCtx := git .BuildGitContext (r .Context ()).WithCloningMode (Repo .CloningMode )
141
146
if err != nil {
142
147
handler .logger .Error (err )
143
148
handler .writeJsonResp (w , err , nil , http .StatusBadRequest )
@@ -180,6 +185,34 @@ func (handler RestHandlerImpl) ReloadAllMaterial(w http.ResponseWriter, r *http.
180
185
handler .writeJsonResp (w , nil , "reloaded se logs for detail" , http .StatusOK )
181
186
}
182
187
188
+ func (handler RestHandlerImpl ) ReloadMaterials (w http.ResponseWriter , r * http.Request ) {
189
+ decoder := json .NewDecoder (r .Body )
190
+ var request ReloadMaterialsDto
191
+ err := decoder .Decode (& request )
192
+
193
+ //materialId, err := strconv.Atoi(vars["materialId"])
194
+ if err != nil {
195
+ handler .logger .Error (err )
196
+ handler .writeJsonResp (w , err , nil , http .StatusBadRequest )
197
+ return
198
+ }
199
+ for _ , materialReq := range request .ReloadMaterial {
200
+ handler .logger .Infow ("reload all pipelineMaterial request" , "id" , materialReq .GitmaterialId )
201
+ gitCtx := git .BuildGitContext (r .Context ()).WithCloningMode (materialReq .CloningMode )
202
+ err = handler .repositoryManager .ResetRepo (gitCtx , materialReq .GitmaterialId )
203
+ if err != nil {
204
+ handler .logger .Errorw ("error in reloading pipeline material" , "err" , err )
205
+ //handler.writeJsonResp(w, err, nil, http.StatusInternalServerError)
206
+ }
207
+ }
208
+ //TODO: handle in such a way that it can propagate which material weren't able to reload
209
+ handler .writeJsonResp (w , nil , Response {
210
+ Code : http .StatusOK ,
211
+ Status : http .StatusText (http .StatusOK ),
212
+ }, http .StatusOK )
213
+
214
+ }
215
+
183
216
func (handler RestHandlerImpl ) ReloadMaterial (w http.ResponseWriter , r * http.Request ) {
184
217
vars := mux .Vars (r )
185
218
gitCtx := git .BuildGitContext (r .Context ())
@@ -238,7 +271,6 @@ func (handler RestHandlerImpl) GetHeadForPipelineMaterials(w http.ResponseWriter
238
271
239
272
func (handler RestHandlerImpl ) GetCommitMetadata (w http.ResponseWriter , r * http.Request ) {
240
273
decoder := json .NewDecoder (r .Body )
241
- gitCtx := git .BuildGitContext (r .Context ())
242
274
243
275
material := & git.CommitMetadataRequest {}
244
276
err := decoder .Decode (material )
@@ -247,6 +279,7 @@ func (handler RestHandlerImpl) GetCommitMetadata(w http.ResponseWriter, r *http.
247
279
handler .writeJsonResp (w , err , nil , http .StatusBadRequest )
248
280
return
249
281
}
282
+ gitCtx := git .BuildGitContext (r .Context ())
250
283
handler .logger .Infow ("commit detail request" , "req" , material )
251
284
var commits * git.GitCommitBase
252
285
if len (material .GitTag ) > 0 {
0 commit comments