// Copyright 2020 The Gogs Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file.packagedbimport("strings""github.com/jinzhu/gorm")// ReposStore is the persistent interface for repositories.//// NOTE: All methods are sorted in alphabetical order.typeReposStoreinterface{// GetByName returns the repository with given owner and name.// It returns ErrRepoNotExist when not found.GetByName(ownerIDint64,namestring)(*Repository,error)}varReposReposStoretypereposstruct{*gorm.DB}func(db*repos)GetByName(ownerIDint64,namestring)(*Repository,error){repo:=new(Repository)err:=db.Where("owner_id = ? AND lower_name = ?",ownerID,strings.ToLower(name)).First(repo).Erroriferr!=nil{iferr==gorm.ErrRecordNotFound{returnnil,ErrRepoNotExist{args:map[string]interface{}{"ownerID":ownerID,"name":name}}}returnnil,err}returnrepo,nil}