summaryrefslogtreecommitdiffstats
path: root/store/sqlstore/scheme_supplier.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2018-05-03 14:00:26 +0100
committerMartin Kraft <mkraft@users.noreply.github.com>2018-05-03 09:00:26 -0400
commit60cf74352f13874a7d07c609c03b1c763af19cea (patch)
treee8d670db30d8dd18645de44402554e7d64b278e4 /store/sqlstore/scheme_supplier.go
parent7d5e85e4136b0e2e6cf902c48b186d99f0698d13 (diff)
downloadchat-60cf74352f13874a7d07c609c03b1c763af19cea.tar.gz
chat-60cf74352f13874a7d07c609c03b1c763af19cea.tar.bz2
chat-60cf74352f13874a7d07c609c03b1c763af19cea.zip
MM-10140: API Implementation for Schemes related Endpoints (#8615)
* Implement basic scheme CRUD endpoints. * Get All Schemes (Paged) Endpoint and store plumbing. * Add get teams/channels for schemes. * Fix unit tests. * Review fixes. * More review fixes.
Diffstat (limited to 'store/sqlstore/scheme_supplier.go')
-rw-r--r--store/sqlstore/scheme_supplier.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/store/sqlstore/scheme_supplier.go b/store/sqlstore/scheme_supplier.go
index 278d1a3c4..448e5a92f 100644
--- a/store/sqlstore/scheme_supplier.go
+++ b/store/sqlstore/scheme_supplier.go
@@ -270,3 +270,22 @@ func (s *SqlSupplier) SchemeDelete(ctx context.Context, schemeId string, hints .
return result
}
+
+func (s *SqlSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...store.LayeredStoreHint) *store.LayeredStoreSupplierResult {
+ result := store.NewSupplierResult()
+
+ var schemes []*model.Scheme
+
+ scopeClause := ""
+ if len(scope) > 0 {
+ scopeClause = " AND Scope=:Scope "
+ }
+
+ if _, err := s.GetReplica().Select(&schemes, "SELECT * from Schemes WHERE DeleteAt = 0 "+scopeClause+" ORDER BY CreateAt DESC LIMIT :Limit OFFSET :Offset", map[string]interface{}{"Limit": limit, "Offset": offset, "Scope": scope}); err != nil {
+ result.Err = model.NewAppError("SqlSchemeStore.Get", "store.sql_scheme.get.app_error", nil, err.Error(), http.StatusInternalServerError)
+ }
+
+ result.Data = schemes
+
+ return result
+}