migrate queries in scheme_store.go (#29687)
* migrate queries in scheme_store.go * fix linting issues --------- Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
153eafb1ae
Коммит
d3c972897e
@@ -32,10 +32,26 @@ const (
|
||||
|
||||
type SqlSchemeStore struct {
|
||||
*SqlStore
|
||||
schemeSelectQuery sq.SelectBuilder
|
||||
}
|
||||
|
||||
func newSqlSchemeStore(sqlStore *SqlStore) store.SchemeStore {
|
||||
return &SqlSchemeStore{sqlStore}
|
||||
s := &SqlSchemeStore{
|
||||
SqlStore: sqlStore,
|
||||
}
|
||||
|
||||
s.schemeSelectQuery = s.getQueryBuilder().
|
||||
Select(
|
||||
"Id", "Name", "DisplayName", "Description", "Scope",
|
||||
"DefaultTeamAdminRole", "DefaultTeamUserRole", "DefaultTeamGuestRole",
|
||||
"DefaultChannelAdminRole", "DefaultChannelUserRole", "DefaultChannelGuestRole",
|
||||
"CreateAt", "UpdateAt", "DeleteAt",
|
||||
"DefaultPlaybookAdminRole", "DefaultPlaybookMemberRole",
|
||||
"DefaultRunAdminRole", "DefaultRunMemberRole",
|
||||
).
|
||||
From("Schemes")
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *SqlSchemeStore) Save(scheme *model.Scheme) (_ *model.Scheme, err error) {
|
||||
@@ -68,7 +84,6 @@ func (s *SqlSchemeStore) Save(scheme *model.Scheme) (_ *model.Scheme, err error)
|
||||
DefaultChannelAdminRole=:DefaultChannelAdminRole, DefaultChannelUserRole=:DefaultChannelUserRole, DefaultChannelGuestRole=:DefaultChannelGuestRole,
|
||||
DefaultPlaybookMemberRole=:DefaultPlaybookMemberRole, DefaultPlaybookAdminRole=:DefaultPlaybookAdminRole, DefaultRunMemberRole=:DefaultRunMemberRole, DefaultRunAdminRole=:DefaultRunAdminRole
|
||||
WHERE Id=:Id`, scheme)
|
||||
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to update Scheme")
|
||||
}
|
||||
@@ -299,33 +314,32 @@ func filterModerated(permissions []string) []string {
|
||||
|
||||
func (s *SqlSchemeStore) Get(schemeId string) (*model.Scheme, error) {
|
||||
var scheme model.Scheme
|
||||
if err := s.GetReplica().Get(&scheme, "SELECT * from Schemes WHERE Id = ?", schemeId); err != nil {
|
||||
query := s.schemeSelectQuery.Where(sq.Eq{"Id": schemeId})
|
||||
if err := s.GetReplica().GetBuilder(&scheme, query); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, store.NewErrNotFound("Scheme", fmt.Sprintf("schemeId=%s", schemeId))
|
||||
}
|
||||
return nil, errors.Wrapf(err, "failed to get Scheme with schemeId=%s", schemeId)
|
||||
}
|
||||
|
||||
return &scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSchemeStore) GetByName(schemeName string) (*model.Scheme, error) {
|
||||
var scheme model.Scheme
|
||||
|
||||
if err := s.GetReplica().Get(&scheme, "SELECT * from Schemes WHERE Name = ?", schemeName); err != nil {
|
||||
query := s.schemeSelectQuery.Where(sq.Eq{"Name": schemeName})
|
||||
if err := s.GetReplica().GetBuilder(&scheme, query); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, store.NewErrNotFound("Scheme", fmt.Sprintf("schemeName=%s", schemeName))
|
||||
}
|
||||
return nil, errors.Wrapf(err, "failed to get Scheme with schemeName=%s", schemeName)
|
||||
}
|
||||
|
||||
return &scheme, nil
|
||||
}
|
||||
|
||||
func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
|
||||
// Get the scheme
|
||||
scheme := model.Scheme{}
|
||||
if err := s.GetMaster().Get(&scheme, `SELECT * from Schemes WHERE Id = ?`, schemeId); err != nil {
|
||||
query := s.schemeSelectQuery.Where(sq.Eq{"Id": schemeId})
|
||||
if err := s.GetMaster().GetBuilder(&scheme, query); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, store.NewErrNotFound("Scheme", fmt.Sprintf("schemeId=%s", schemeId))
|
||||
}
|
||||
@@ -369,7 +383,6 @@ func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
|
||||
Set("UpdateAt", time).
|
||||
Set("DeleteAt", time).
|
||||
ToSql()
|
||||
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "status_tosql")
|
||||
}
|
||||
@@ -387,13 +400,11 @@ func (s *SqlSchemeStore) Delete(schemeId string) (*model.Scheme, error) {
|
||||
DefaultTeamAdminRole=:DefaultTeamAdminRole, DefaultTeamUserRole=:DefaultTeamUserRole, DefaultTeamGuestRole=:DefaultTeamGuestRole,
|
||||
DefaultChannelAdminRole=:DefaultChannelAdminRole, DefaultChannelUserRole=:DefaultChannelUserRole, DefaultChannelGuestRole=:DefaultChannelGuestRole
|
||||
WHERE Id=:Id`, &scheme)
|
||||
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to update Scheme with schemeId=%s", schemeId)
|
||||
}
|
||||
|
||||
rowsChanged, err := res.RowsAffected()
|
||||
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to get RowsAffected while updating scheme with schemeId=%s", schemeId)
|
||||
}
|
||||
@@ -441,7 +452,6 @@ func (s *SqlSchemeStore) PermanentDeleteAll() error {
|
||||
func (s *SqlSchemeStore) CountByScope(scope string) (int64, error) {
|
||||
var count int64
|
||||
err := s.GetReplica().Get(&count, `SELECT count(*) FROM Schemes WHERE Scope = ? AND DeleteAt = 0`, scope)
|
||||
|
||||
if err != nil {
|
||||
return 0, errors.Wrap(err, "failed to count Schemes by scope")
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user