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>
Этот коммит содержится в:
kasyap dharanikota
2025-01-14 00:59:43 +05:30
коммит произвёл 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")
}