diff --git a/pkg/services/category/category.go b/pkg/services/category/category.go new file mode 100644 index 00000000000..2f0df5523a8 --- /dev/null +++ b/pkg/services/category/category.go @@ -0,0 +1,39 @@ +package category + +type Repository interface { + Save(item *Item) error + Update(item *Item) error + Delete(params *DeleteParams) error + Find(query *FindParams) ([]*Item, error) +} + +var repositoryInstance Repository + +func GetRepository() Repository { + return repositoryInstance +} + +func SetRepository(rep Repository) { + repositoryInstance = rep +} + +type FindParams struct { + OrgId int64 `json:"orgId"` + UserId int64 `json:"userId"` + Limit int64 `json:"limit"` +} + +type DeleteParams struct { + Id int64 `json:"id"` + Name string `json:"title"` +} + +type ItemType string + +type Item struct { + Id int64 `json:"id"` + OrgId int64 `json:"orgId"` + UserId int64 `json:"userId"` + Name string `json:"title"` + Description string `json:"text"` +} diff --git a/pkg/services/sqlstore/category.go b/pkg/services/sqlstore/category.go new file mode 100644 index 00000000000..b20dfb85f4f --- /dev/null +++ b/pkg/services/sqlstore/category.go @@ -0,0 +1,24 @@ +package sqlstore + +import ( + "github.com/grafana/grafana/pkg/services/category" +) + +type SqlCategoryRepo struct { +} + +func (r *SqlCategoryRepo) Save(item *category.Item) error { + return nil +} + +func (r *SqlCategoryRepo) Update(item *category.Item) error { + return nil +} + +func (r *SqlCategoryRepo) Delete(params *category.DeleteParams) error { + return nil +} + +func (r *SqlCategoryRepo) Find(params *category.FindParams) ([]*category.Item, error) { + return nil, nil +} diff --git a/pkg/services/sqlstore/sqlstore.go b/pkg/services/sqlstore/sqlstore.go index 27fba0068d1..ce2090fc701 100644 --- a/pkg/services/sqlstore/sqlstore.go +++ b/pkg/services/sqlstore/sqlstore.go @@ -12,6 +12,7 @@ import ( "github.com/grafana/grafana/pkg/log" m "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/services/annotations" + "github.com/grafana/grafana/pkg/services/category" "github.com/grafana/grafana/pkg/services/sqlstore/migrations" "github.com/grafana/grafana/pkg/services/sqlstore/migrator" "github.com/grafana/grafana/pkg/setting" @@ -98,7 +99,9 @@ func SetEngine(engine *xorm.Engine) (err error) { return fmt.Errorf("Sqlstore::Migration failed err: %v\n", err) } + // Init repo instances annotations.SetRepository(&SqlAnnotationRepo{}) + category.SetRepository(&SqlCategoryRepo{}) return nil }