Граф коммитов

173 Коммитов

Автор SHA1 Сообщение Дата
Farhan Munshi
b29b70da09 MM-23605 Create new team scheme updated socket event (#14305) 2020-04-27 13:26:52 -04:00
Jesús Espino
7ea637be10 MM-20934: Fixing int overflow in 32 bits on MaxImageSize check (#14280)
* MM-20934: Fixing int overflow in 32 bits on MaxImageSize check

* Adding comments explaining the casting and the bug fixed there

* Apply suggestions from code review

Co-Authored-By: Juho Nurminen <juhonurm@gmail.com>

* Fixing store layers

Co-authored-by: Juho Nurminen <juhonurm@gmail.com>
2020-04-16 15:23:27 +02:00
Hossein Ahmadian-Yazdi
bd2c1f4522 [MM-21517] Team Member Manage User Modal not display correct roles (#14043)
* join on the users table and order by username

* don't inclue users who have been deleted

* Address PR comments

* update tests

* fix linting

* fix linting

* include ExcludeDeletedUsers flag

* fix gofmt

* fix nil teamMembersGetOptions

* fix gofmt error

* Add Unit Tests

* fix gofmt bugs

* partially address comments

* fix incorrect import

* Address Comments and fix golint errors

* store mocks

* address PR comments about tests and styling

* Update model/team_member.go

Co-Authored-By: Jesse Hallam <jesse.hallam@gmail.com>

* Address PR comments

* update client function name

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2020-03-30 10:48:03 -04:00
Jesús Espino
c66e182b08 Adding the new search engine abstraction (#13304)
* WIP

* Adding bleve to go modules

* WIP

* Adding missing files from searchengine implementation

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* User and channel indexing and searches implemented

* Make bleve tests run with in-memory indexes

* Implement post index and deletion tests

* Initial commits for the search layer

* Removing unnecesary indexing

* WIP

* WIP

* More fixes for tests

* Adding the search layer

* Finishing the migration of searchers to the layer

* Removing unnecesary code

* Allowing multiple engines active at the same time

* WIP

* Add simple post search

* Print information when using bleve

* Adding some debugging to understand better how the searches are working

* Making more dynamic config of search engines

* Add post search basics

* Adding the Purge API endpoint

* Fixing bleve config updates

* Adding missed file

* Regenerating search engine mocks

* Adding missed v5 to modules imports

* fixing i18n

* Fixing some test around search engine

* Removing all bleve traces

* Cleaning up the vendors directory and go.mod/go.sum files

* Regenerating timer layer

* Adding properly the license

* Fixing govet shadow error

* Fixing some tests

* Fixing TestSearchPostsFromUser

* Fixing another test

* Fixing more tests

* Fixing more tests

* Removing SearchEngine redundant text from searchengine module code

* Fixing some reindexing problems in members updates

* Fixing tests

* Addressing PR comments

* Reverting go.mod and go.sum

* Addressing PR comments

* Fixing tests compilation

* Fixing govet

* Adding search engine stop method

* Being more explicit on where we use includeDeleted

* Adding GetSqlSupplier test helper method

* Mocking elasticsearch start function

* Fixing tests

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-03-13 15:33:18 +01:00
Jesús Espino
54bb6d10f3 Making InvalidateCacheForUser public again (#13997) 2020-03-04 16:16:27 +01:00
Jesús Espino
c9a0418a32 Making private some methods that are not needed publicly (#13959)
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-03-03 22:43:48 +01:00
Agniva De Sarker
a981099652 Add error checks to TestUnlinkGroupTeam (#13956)
I could not figure out the actual root cause for this.

But a possible area of concern is that somewhere in the call stack,
the login failed partially. Therefore, the session did not have the teamMembers
populated. And the permission check failed therefore.

Adding the error checks should let us know in future if this is not the case.

Another possible case is the app.ClearTeamMembersCache which gets called in
the goroutine app.SyncRolesAndMembership. If this races with the session,
then it's possible that the teamMember is wiped off from the session. But this
happens after the permission check. So it's not very likely.

Also, while we are here, I found that (*app).ClearTeamMembersCache
does not log the internal error bubbled up. This prevents us from understanding
what actually happened. Added that logging.
2020-03-03 00:04:39 +05:30
Eli Yukelzon
17523fa5d9 MM-21898 - Part 1: Generate and use an interface instead of *A… (#13840)
* Generate and use an interface instead of *App
2020-02-13 13:26:58 +01:00
Eli Yukelzon
fb4d27d596 MM-22265 - Restrict the WS "update_team" event broadcast (#13848)
Automatic Merge
2020-02-11 03:41:55 -05:00
Mario de Frutos Dieguez
9de8283077 MM-22067: Check guest email allowance separately (#13776) 2020-01-30 09:25:52 +01:00
Eli Yukelzon
4b39d8487b MM-20977 - Inviting multiple users with valid/allowed and inva… (#13779) 2020-01-29 12:56:59 +02:00
Martin Kraft
50e9aa01c3 MM-21157: Triggers role sync when a syncable is linked, unlinked, or updated. (#13432)
* MM-20644: Add users to teams as a SchemeAdmin based on a new configuration field on GroupTeams and GroupChannels records.

* MM-20644: Adds SchemeAdmin to mapping of the GroupSyncable struct fields.

* MM-2064: Adds test to ensure SchemeAdmin field value is mapped.

* MM-20644: Adds missing index creation for fresh DBs.

* MM-20644: Duplicates UpdateMembersRole across Team and Channel stores. Adds tests.

* MM-20644: Fixes some old method name references.

* MM-20644: Moves variable declaration; removes Println statement.

* MM-21157: Triggers role sync when a syncable is linked, unlinked, or updated.

* MM-20644: Use a SQL query instead of two to update Team and Channel members.

* MM-20644: Fixes tests; updates query.

* MM-21157: Removes second invocation of function because of refactor that performs it all in a single query.

* MM-21157: Switches a few queries to Squirrel.

* MM-21157: SQL-formats some strings.

* MM-21157: Select with list.

* MM-21157: Converts some more sql to squirrel.

* MM-21157: Fix incorrect conflict resolutions.

* MM-21157: Fix incorrect conflict resolutions.

* MM-21157: Adds missing mocks.

* MM-21157: Clears cache upon syncing roles.

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-01-20 09:10:25 -05:00
Eli Yukelzon
e77ef9733c MM-20977 - Inviting multiple users with valid/allowed and inva… (#13372) 2020-01-14 15:29:50 +02:00
Martin Kraft
605040c597 MM-20644: Add users to teams as a SchemeAdmin based on a new configuration field on GroupTeams and GroupChannels records. (#13361)
* MM-20644: Add users to teams as a SchemeAdmin based on a new configuration field on GroupTeams and GroupChannels records.

* MM-20644: Adds SchemeAdmin to mapping of the GroupSyncable struct fields.

* MM-2064: Adds test to ensure SchemeAdmin field value is mapped.

* MM-20644: Adds missing index creation for fresh DBs.

* MM-20644: Duplicates UpdateMembersRole across Team and Channel stores. Adds tests.

* MM-20644: Fixes some old method name references.

* MM-20644: Moves variable declaration; removes Println statement.

* MM-20644: Use a SQL query instead of two to update Team and Channel members.

* MM-20644: Fixes tests; updates query.

* MM-20644: Fix permission check for patching a group syncable.

* MM-20644: Fixes test for change of permissions verification in group patch API request.

* MM-20644: Fix for ORM select vs insert.

* MM-20644: Linting fixes.

* MM-20644: Fixes some tests.

* MM-20644: Skips changing the role of guests.

* MM-20644: Added syncableID filtering
2020-01-10 09:19:39 -08:00
Jesús Espino
a63684fcb5 Consistent license message for all the go files (#13235)
* Consistent license message for all the go files

* Fixing the last set of unconsistencies with the license headers

* Addressing PR review comments

* Fixing busy.go and busy_test.go license header
2019-11-29 12:59:40 +01:00
Miguel de la Cruz
2259b7f2a8 [MM-19948] Set version on module file and internal paths (#13186)
* [MM-19948] Set version on module file and internal paths

* Fixes after merge

* Fix i18n checker error
2019-11-28 14:39:38 +01:00
Martin Kraft
14bcd1f0a1 MM-18357: Adds pagination to team search. (#12910)
* MM-18357: Adds pagination to team search.

* MM-18357: Adds new client method for paginated requests.

* MM-18357: Adds feedback about non-supported pagination-permissions combo.

* MM-18357: Removes unnecessary conversion.

* MM-18357: Removes paginate parameter and uses nil on page and perpage instead.
2019-11-28 08:11:02 -05:00
Martin Kraft
31ac88ef69 MM-20305: Adds ability to choose whether deleted teams are included in the count query. (#13181) 2019-11-27 07:50:15 -05:00
Claudio Costa
6a75d2fc68 [MM-15270] Add Team.InviteId sanitization (#12952)
* Filter out InviteId in Team sanitize function

* Keep InviteId for authorized users

* Update team sanitization tests

* Improve tests and revert conflicting lines
2019-11-15 15:40:41 +01:00
Jesús Espino
8cea561ba6 More robust team exists api endpoint (#12130)
* More robust team exists api endpoint

* Making the code more concise

* Better handling of errors on GetTeamByName
2019-09-30 21:39:21 +02:00
jfrerich
1802c575e5 [MM-18119] Add methods for getting teams and count when query… (#12020)
* Add methods to handle include_total_count api parameter when permissions
for authenticated user is not sysadmin

* Add translations for app errors

* Add Mocks

* Add tests for new methods

* When running at the TeamStore testing level, the number of returned
teams is different than running tests individually.  Fix for now and
submit help wanted do proper teardown after each test

* correct value when running test at the top level

* Add helper function to delete previous teams in db

* Instead of checking against numbers of teams returned, check against the
actual teams returned.
When creating test teams, use unique DisplaName values so the return
array will be sorted consistantly.
When testing private and public team counts, add teams that should not
be counted.  Also create odd number of public/private teams for better
error protections.  Don't want 1 of each type
2019-09-10 11:50:27 -05:00
Nikhil Ranjan
2e76c4c0c7 MM-18261 Converting to structured logging the file app/team.go (#12136) 2019-09-10 06:25:16 -04:00
Joram Wilander
50e97bd9d3 MM-18081 Except bots from team email domain restrictions (#12041)
* Except bots from team email domain restrictions

* Fix style
2019-09-06 10:55:55 -04:00
Miguel de la Cruz
b36eb415d1 [MM-17213] Fix domain check when inviting guests and update user checks (#11793)
* Add update user check for guests and tests

* [MM-17213] Fix domain check when inviting guests

* Fix i18n strings

* Fix tests

* Add missing translation

* Adds test case for non guest user
2019-08-14 16:07:58 +02:00
Lev
4cd9fdf641 MM-17607: large [brand, team, profile] images crash the server (#11827) 2019-08-08 17:23:37 -04:00
Jesús Espino
619f0ebf5c Invalidate Guest invites too on invalidate email invates (#11696)
* Invalidate Guest invites too on invalidate invates

* Adding tests for invalidate email invites
2019-08-06 11:06:20 +02:00
Jesús Espino
0ec0616d89 Restricting team stats using the VIEW_MEMBERS restrictions (#11694)
* Restricting team stats using the VIEW_MEMBERS restrictions

* Adding tests

* fixing tests
2019-07-31 18:34:03 +02:00
Taufiq Rahman
c362f0e802 [MM-16174] Migrate Team.SaveMember to Sync by default #11125 (#11354)
* Migrate Team.SaveMember to Sync by default #11125

* Update migrate Team.SaveMember to Sync by default #11125

* Update migrate Team.SaveMember to Sync by default #11125

* fix shadow var #11125

* fix shadow vars #11125

* fix shadow vars #11125

* fix shadow vars #11125

* run gofmt

* Fixing tests

* Fix undefined var res

* Fixing shadow variable

* fixing tests

* Addressing PR comments

* Fixing build

* Fixing compilation after merge

* Addressing PR comments
2019-07-29 11:30:16 +02:00
Jesús Espino
fe8a0f6485 Guest accounts feature (#11428)
* MM-14139: Creating permissions for invite/promote/demote guests (#10778)

* MM-14139: Creating permissions for invite/promote/demote guests

* Fixing tests

* Adding invite guest api endpoint (#10792)

* Adding invite guest api endpoint

* Adding i18n

* Adding some tests

* WIP

* Migrating Token.Extra info to bigger size (2048)

* Fixing tests

* Adding client function for invite guests

* Adding send guests invites tests

* Renaming file from guest to guest_invite

* Adding Promote/Demote users from/to guest endpoints (#10791)

* Adding Promote/Demote users from/to guest endpoints

* Adding i18n translations

* Adding the client functions

* Using getQueryBuilder function

* Addressing PR review comments

* Adding default channels to users on promte from guest (#10851)

* Adding default channels to users on promte from guest

* Addressing PR review comments

* Fixing merge problems

* Sending websockets events on promote/demote (#11403)

* Sending websockets events on promote/demote

* Fixing merge problems

* Fixing govet shadowing problem

* Fixing feature branch tests

* Avoiding leaking users data through websockets for guest accounts (#11489)

* Avoiding leaking users data through websockets for guest accounts

* Adding tests and fixing code error

* Fixing i18n

* Allow to enable/disable guests and other extra config settings (#11481)

* Allow to enable/disable guests and other extra config settings

* Fixing tests and moving license and config validation to api level

* Update api4/role_test.go

Co-Authored-By: George Goldberg <george@gberg.me>

* Update api4/role_test.go

Co-Authored-By: George Goldberg <george@gberg.me>

* Fixing typo

* fixing tests

* Managing correctly the guest channel leave behavior (#11578)

* MM-15134: Removing guests from teams or system on leave channels if needed

* WIP

* No deactivating the guest user when leave the last team

* Adding a couple of tests

* Fixing shadow variables

* Fixing tests

* fixing tests

* fixing shadow variables

* Adding guest counts for channel stats (#11646)

* Adding guest counts for channel stats

* Adding tests

* Fixing tests

* Fixing guest domain restrictions (#11660)

* Adding needed migration for the database

* Fixing migration
2019-07-22 22:13:39 +02:00
Joshua Bezaleel Abednego
c49f755a14 Create CLI command "team modify" to modify team's privacy setting. (#10898) 2019-07-17 11:49:12 +02:00
Mounica Paladugu
ff89b2c8e1 [MM-16170] Migrate Team.GetTeamsByUserId to Sync by default (#11100)
* [MM-16170] Migrate Team.GetTeamsByUserId to Sync by default

* Fixing comments
2019-07-09 12:21:18 -04:00
Mounica Paladugu
6fc0ec06b2 [MM-16168] Migrate Team.GetAllTeamListing to Sync by default (#11102)
* [MM-16168] Migrate Team.GetAllTeamListing to Sync by default

* reverting GetAllTeamPageListing modification

* Modifying app/team.go

* Simplifying code
2019-07-09 17:19:18 +02:00
George Goldberg
38aa14a5bf Migrate Team.RemoveAllMembersByTeam to Sync by default
commit 5cc7051ca2c5f0f665eda79b22a46b8ad0c17398
Author: phillipahereza <pahereza@gmail..com>
Date:   Sat Jul 6 15:01:18 2019 +0300
2019-07-09 11:46:59 +01:00
Mounica Paladugu
eddf48c848 [MM-16166] Migrate Team.GetAllPrivateTeamListing to Sync by default (#11103)
* [MM-16166] Migrate Team.GetAllPrivateTeamListing to Sync by default

* Simplifying code
2019-07-08 21:30:52 +02:00
Luke P
2e48b6ef3f [MM-16653] Migrate "User.UpdateUpdateAt" to Sync by default (#11517)
* Migrate "User.UpdateUpdateAt" to Sync by default

* Fixed errors in app/team.go that prevented successful build

* Reverted some changes in user_store test that caused errors in pipeline

* return of UpdateUpdateAt changed to model.AppError

* Ensured that UpdateUpdateAt in sqlstore/user_store.go returns int64 and *model.AppError, adjusted tests accordingly

* Generated mocks and ensured storetest/user_store.go had no errors

* Added require.Nil(t, err) to proper places in tests

* Added 'err' for second return value as opposed to _ in 4 UpdateUpdateAt() occurrences in storetest/user_store.go
2019-07-08 20:14:40 +02:00
Alejandro Sánchez Medina
7663c5b00e Migrate "Team.UpdateLastTeamIconUpdate" to Sync by default (#11561) 2019-07-07 14:55:17 -05:00
ollykel
c8fb1b6265 Migrated TokenStore.RemoveAllTokensByType to Sync by default (#11345) (#11358)
* [MM-11345] Migrated TokenStore.RemoveAllTokensByType to Sync by default (#11345)

* changed TokenStore.RemoveAllTokensByType to return *model.AppError

* changed test coverage accordingly in store/storetest/mocks

* Fixing mocks
2019-07-02 22:41:17 +02:00
Jesper Hansen
86e0c8567c [MM-16183] Store: Migrate TeamStore.GetChannelUnreadsForAllTeams to sync as default #11116 (#11400) 2019-06-27 22:12:54 +02:00
KimSeungHyeon
2327ab8854 [MM-16162] migrate Team.SearchOpen to Sync by default (#11398)
* [MM-16162] migrate Team.SearchOpen to Sync by default

* [MM-16162] fix error

* [MM-16162] update the mocked stores, fix slight error
2019-06-26 11:27:42 +01:00
Martin Kraft
c07b7046ca MM-16500: Adds ability to retrieve the total count of teams via the API. (#11325) 2019-06-24 22:05:34 +01:00
krjn
604e247135 [MM-16514] Migrate Token.GetByName to Sync by Default (#11355)
* [MM-16514] Migrate Token.GetByToken to Sync by default

* test: use testify

* fix: shadowing
2019-06-22 00:20:27 +02:00
Woolim Cho
0975409f8e [MM-16161] Migrate Team.SearchAll to Sync by default (#11188)
* Migrate Team.SearchAll to Sync by default

* SearchAllTeams: return result directly
2019-06-20 10:10:17 -04:00
Rodrigo Villablanca Vásquez
59e7bf1c23 Migrates Channel.GetByName to sync by default (#11187)
* Channel.GetByName and Channel.GetByNameIncludedDeleted sync by default

* Suggested changes

* Fix some vars shadowing

* Rename of vars inside goroutine

* Shadow variable corrected
2019-06-20 15:21:36 +02:00
Rodrigo Villablanca Vásquez
327a1c92e8 Migrates Channel.GetChannels to sync by default (#11204)
* Migrates Channel.GetChannels to sync by default

* Some suggestions

* resolved undefined var
2019-06-20 09:31:40 +02:00
Kyle Reczek
3c13b0e4e7 [MM-16182] Migrate Team.GetTeamsForUserWithPagination to Sync by default #11117 (#11235)
* [MM-16182] Migrate Team.GetTeamsForUserWithPagination to Sync by default #11117
+ Team.GetTeamsForUserWithPagination returns ([]*model.TeamMember, *model.AppError) now instead of StoreChannel.
+ Updated mock.
+ Updated tests to use new explicit async.

* Fix Whitespace from go fmt

* Changed team_store.go to not use explicit async.

* Fixed up files from the review
+ Dont reassign var to ms.
+ Avoid nesting of the fetch calls.
+ Directly return fetch instead of nil, err and team, nil.
2019-06-20 08:42:09 +02:00
Shobhit Gupta
6555bea117 Migrate "Channel.RemoveMember" to Sync by default (#11245)
* Migrate Channel.RemoveMember to Sync by default

* Address comments
2019-06-18 15:28:46 -04:00
Rodrigo Villablanca Vásquez
a7278169d2 Channel.GetTeamChannels to sync by default (#11211) 2019-06-18 07:22:37 +02:00
Micah Thompson
6bb147c380 [MM-16165] Migrate Team.GetAllPage to Sync by default (#11201)
* [MM-16165] Migrate Team.GetAllPage to Sync by default

* [MM-16165] Pull Request suggested changes: remove else
2019-06-17 13:45:52 -04:00
Rodrigo Villablanca Vásquez
6535010366 Migrate Team.GetTeamsForUser to Sync by default (#11148)
* Migrate Team.GetTeamsForUser to Sync by default

* Improvements

* Requested change

* Requested changes
2019-06-17 10:49:19 +02:00
Taufiq Rahman
9ffdb794b1 Migrate Team.PermanentDelete to Sync by default #11128 (#11190)
* Migrate Team.PermanentDelete to Sync by default #11128

* resolve merge

* fix jenkin errors in  app/team.go
2019-06-17 10:37:46 +02:00