Add implementation for folder store methods (#57700)
* Add implementation for folder store methods * Add Move implementation * Add back comment and fix query * Remove Move from store * Adjust GetChildren * Fix errutil error declaration and usage * Add org id to get children query
This commit is contained in:
@@ -24,30 +24,50 @@ func ProvideStore(db db.DB, cfg *setting.Cfg, features featuremgmt.FeatureManage
|
||||
return &sqlStore{db: db, log: log.New("folder-store"), cfg: cfg, fm: features}
|
||||
}
|
||||
|
||||
func (s *sqlStore) Create(ctx context.Context, cmd *folder.CreateFolderCommand) (*folder.Folder, error) {
|
||||
func (ss *sqlStore) Create(ctx context.Context, cmd *folder.CreateFolderCommand) (*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s *sqlStore) Delete(ctx context.Context, uid string, orgID int64) error {
|
||||
func (ss *sqlStore) Delete(ctx context.Context, uid string, orgID int64) error {
|
||||
return ss.db.WithDbSession(ctx, func(sess *db.Session) error {
|
||||
_, err := sess.Exec("DELETE FROM folder WHERE folder_uid=? AND org_id=?", uid, orgID)
|
||||
return err
|
||||
})
|
||||
}
|
||||
|
||||
func (ss *sqlStore) Update(ctx context.Context, cmd *folder.UpdateFolderCommand) (*folder.Folder, error) {
|
||||
err := ss.db.WithDbSession(ctx, func(sess *db.Session) error {
|
||||
_, err := sess.ID(cmd.Folder.ID).AllCols().Update(cmd.Folder)
|
||||
return err
|
||||
})
|
||||
|
||||
return cmd.Folder, err
|
||||
}
|
||||
|
||||
func (ss *sqlStore) Get(ctx context.Context, cmd *folder.GetFolderQuery) (*folder.Folder, error) {
|
||||
var foldr *folder.Folder
|
||||
err := ss.db.WithDbSession(ctx, func(sess *db.Session) error {
|
||||
exists, err := sess.Where("uid=? OR id=? OR title=?", cmd.UID, cmd.ID, cmd.Title).Get(foldr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
return folder.ErrFolderNotFound.Errorf("folder not found")
|
||||
}
|
||||
return nil
|
||||
})
|
||||
return foldr, err
|
||||
}
|
||||
|
||||
func (ss *sqlStore) GetParents(ctx context.Context, cmd *folder.GetParentsQuery) ([]*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s *sqlStore) Update(ctx context.Context, cmd *folder.UpdateFolderCommand) (*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s *sqlStore) Move(ctx context.Context, cmd *folder.MoveFolderCommand) (*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s *sqlStore) Get(ctx context.Context, cmd *folder.GetFolderQuery) (*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s *sqlStore) GetParents(ctx context.Context, cmd *folder.GetParentsQuery) ([]*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
|
||||
func (s *sqlStore) GetChildren(ctx context.Context, cmd *folder.GetTreeQuery) ([]*folder.Folder, error) {
|
||||
panic("not implemented")
|
||||
func (ss *sqlStore) GetChildren(ctx context.Context, cmd *folder.GetTreeQuery) ([]*folder.Folder, error) {
|
||||
var folders []*folder.Folder
|
||||
err := ss.db.WithDbSession(ctx, func(sess *db.Session) error {
|
||||
err := sess.Where("parent_uid=? AND org_id=?", cmd.UID, cmd.OrgID).Find(folders)
|
||||
return err
|
||||
})
|
||||
return folders, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user