diff options
author | George Goldberg <george@gberg.me> | 2018-04-20 19:49:13 +0100 |
---|---|---|
committer | Martin Kraft <mkraft@users.noreply.github.com> | 2018-04-20 14:49:13 -0400 |
commit | cd55c44c8fd8f61cdb7cbfb57a588be82c7aa0ab (patch) | |
tree | 2979276d03b5bca72b549d7576eab104ceefd495 /store/store.go | |
parent | 853445dc2ea68f765faa04ad14618b04f1081c43 (diff) | |
download | chat-cd55c44c8fd8f61cdb7cbfb57a588be82c7aa0ab.tar.gz chat-cd55c44c8fd8f61cdb7cbfb57a588be82c7aa0ab.tar.bz2 chat-cd55c44c8fd8f61cdb7cbfb57a588be82c7aa0ab.zip |
MM-8796: Full implementation of "Schemes" in Store/Model/App layers. (#8357)
* Add Scheme model and stub store.
* Port ChannelStore to be Scheme aware.
* Make almost all the API/APP layer work with ChannelSchemes.
Only thing still hacky is UpdateChannelMemberRoles().
* Add basic SchemeStore implementation.
* Migrate UpdateChannelMemberRoles properly and fix tests.
* Update store tests and mocks so they work.
* Include creating default roles in Scheme create store function.
* Implement role deletion and start scheme deletion.
* Only use non-deleted roles for authorization.
* Add GetByScheme method to Team store.
* Add GetChannelsByScheme.
* Update store mocks.
* Implement scheme deletion in the store.
* Rename is valid function.
* Add offset and limit to queries to fetch teams and channels by scheme.
* Fix queries.
* Implement scheme awareness in Team store and add a migration.
* Tidy up ChannelStore mapping functions and add exhaustive unit tests.
* Add all missing i18n.
* Proper tests for TeamStore internal functions and fix them.
* Make additional TeamMember fields nullable.
* Make new ChannelMember fields nullable.
* Create new nullable columns without defaults.
* Make new fields in large tables nullalble.
* Fix empty list of TeamMembers.
* Deduplicate SQL queries.
* Fix spelling.
* Fix review comment.
* More review fixes.
* More review fixes.
Diffstat (limited to 'store/store.go')
-rw-r--r-- | store/store.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/store/store.go b/store/store.go index e64089068..98c394a21 100644 --- a/store/store.go +++ b/store/store.go @@ -62,6 +62,7 @@ type Store interface { FileInfo() FileInfoStore Reaction() ReactionStore Role() RoleStore + Scheme() SchemeStore Job() JobStore UserAccessToken() UserAccessTokenStore ChannelMemberHistory() ChannelMemberHistoryStore @@ -105,6 +106,7 @@ type TeamStore interface { RemoveAllMembersByTeam(teamId string) StoreChannel RemoveAllMembersByUser(userId string) StoreChannel UpdateLastTeamIconUpdate(teamId string, curTime int64) StoreChannel + GetTeamsByScheme(schemeId string, offset int, limit int) StoreChannel } type ChannelStore interface { @@ -162,6 +164,7 @@ type ChannelStore interface { AnalyticsDeletedTypeCount(teamId string, channelType string) StoreChannel GetChannelUnread(channelId, userId string) StoreChannel ClearCaches() + GetChannelsByScheme(schemeId string, offset int, limit int) StoreChannel } type ChannelMemberHistoryStore interface { @@ -477,5 +480,12 @@ type RoleStore interface { Get(roleId string) StoreChannel GetByName(name string) StoreChannel GetByNames(names []string) StoreChannel + Delete(roldId string) StoreChannel PermanentDeleteAll() StoreChannel } + +type SchemeStore interface { + Save(scheme *model.Scheme) StoreChannel + Get(schemeId string) StoreChannel + Delete(schemeId string) StoreChannel +} |