@@ -252,37 +252,55 @@ func MigrateRepo(ctx *middleware.Context, form auth.MigrateRepoForm) {
252
252
ctx .JSON (201 , ToApiRepository (ctxUser , repo , api.Permission {true , true , true }))
253
253
}
254
254
255
- func DeleteRepo (ctx * middleware.Context ) {
256
- user , err := models .GetUserByName (ctx .Params (":username" ))
255
+ func parseOwnerAndRepo (ctx * middleware.Context ) ( * models. User , * models. Repository ) {
256
+ owner , err := models .GetUserByName (ctx .Params (":username" ))
257
257
if err != nil {
258
258
if models .IsErrUserNotExist (err ) {
259
259
ctx .APIError (422 , "" , err )
260
260
} else {
261
261
ctx .APIError (500 , "GetUserByName" , err )
262
262
}
263
- return
263
+ return nil , nil
264
264
}
265
265
266
- repo , err := models .GetRepositoryByName (user .Id , ctx .Params (":reponame" ))
266
+ repo , err := models .GetRepositoryByName (owner .Id , ctx .Params (":reponame" ))
267
267
if err != nil {
268
268
if models .IsErrRepoNotExist (err ) {
269
269
ctx .Error (404 )
270
270
} else {
271
271
ctx .APIError (500 , "GetRepositoryByName" , err )
272
272
}
273
+ return nil , nil
274
+ }
275
+
276
+ return owner , repo
277
+ }
278
+
279
+ func GetRepo (ctx * middleware.Context ) {
280
+ owner , repo := parseOwnerAndRepo (ctx )
281
+ if ctx .Written () {
282
+ return
283
+ }
284
+
285
+ ctx .JSON (200 , ToApiRepository (owner , repo , api.Permission {true , true , true }))
286
+ }
287
+
288
+ func DeleteRepo (ctx * middleware.Context ) {
289
+ owner , repo := parseOwnerAndRepo (ctx )
290
+ if ctx .Written () {
273
291
return
274
292
}
275
293
276
- if user .IsOrganization () && ! user .IsOwnedBy (ctx .User .Id ) {
294
+ if owner .IsOrganization () && ! owner .IsOwnedBy (ctx .User .Id ) {
277
295
ctx .APIError (403 , "" , "Given user is not owner of organization." )
278
296
return
279
297
}
280
298
281
- if err := models .DeleteRepository (user .Id , repo .ID ); err != nil {
299
+ if err := models .DeleteRepository (owner .Id , repo .ID ); err != nil {
282
300
ctx .APIError (500 , "DeleteRepository" , err )
283
301
return
284
302
}
285
303
286
- log .Trace ("Repository deleted: %s/%s" , user .Name , repo .Name )
304
+ log .Trace ("Repository deleted: %s/%s" , owner .Name , repo .Name )
287
305
ctx .Status (204 )
288
306
}
0 commit comments