Commit Graph

1233 Commits

Author SHA1 Message Date
Martin Kraft
d82584a783 MM-18668: Fix for scan error selecting null SchemeGuest columns. (#12370) 2019-09-26 14:11:55 -04:00
Pavel Biryukov
af3ffeed1a Fix wrong error check (#12310) 2019-09-26 13:26:48 +02:00
Jesús Espino
99f13ed0e6 Use seconds instead of nanoseconds for the store time layer metrics (#12321)
* Use nanoseconds instead of seconds for the api metrics

* Using seconds instead of nanoseconds in the store layer metrics
2019-09-24 20:00:19 +02:00
Marc Argent
d0a138a35e GH-12049 use structured logging (#12258) 2019-09-24 18:30:13 +02:00
Ben Schumacher
3323e7a619 [MM-17109] Bump model version to 5.16 (#12172)
* Bump model version to 5.16

* Make db schema version indipended of app version
2019-09-18 18:23:58 +02:00
Joram Wilander
3d4c941ba8 MM-18512 Use options struct for GetProfilesWithoutTeam and add filtering to API (#12200)
* Use options struct for GetProfilesWithoutTeam and add filtering

* Fix test
2019-09-17 20:13:17 +01:00
Eli Yukelzon
b3517eaf2f MM-17468 - Improving performance of fetching threads (#11980)
fetchThreads parameter support in the API
2019-09-17 14:37:10 +01:00
Martin Kraft
890a7c6985 MM-18522: Include edited posts in compliance export. (#12197)
* MM-18522: Export all post edits in compliance exports.

* MM-18522: Changes ordering of export query post results.
2019-09-13 18:18:06 -04:00
Nikhil Ranjan
d9fa46e0a2 Converting to structured logging the file store/sqlstore/post_… (#12087) 2019-09-12 21:02:14 -04:00
Jesús Espino
28cc7e7e36 Migrating roles and schemes to new Cache Layer (#11936)
* Migrating roles and schemes to new Cache Layer

* Adding missed license headers

* Updating cache tests

* Adding the cache layer to the testlib helper

* Fixing cyclic dependency

* fixing a bit of not-idiomatic error handling

* Another small fix arrount idiomatic error handling
2019-09-12 18:52:45 +02:00
Arjit Chaudhary
1076994773 Refactor "store/sqlstore/channel_member_history_store.go" to u… (#12059) 2019-09-11 07:33:47 -04:00
Claudio Costa
814c234443 [MM-18036] Sanitize sql LIKE terms on search endpoints (#12044)
* Sanitize sql LIKE terms on search endpoints

* Add search term sanitization in additional places
2019-09-11 10:56:12 +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
9094aa7f97 Converting to structured logging the file store/sqlstore/supplier.go (#12089)
* Converting to structured logging the file store/sqlstore/supplier.go

* removed unused : from comments
2019-09-10 11:42:05 +02:00
Nikhil Ranjan
40b5db7637 Converting to structured logging the file store/sqlstore/session_store.go (#12088) 2019-09-10 10:39:55 +02:00
Nikhil Ranjan
f18895667d Converting to structured logging the file store/sqlstore/suppl… (#12090) 2019-09-10 09:40:55 +03:00
Carlos Tadeu Panato Junior
0ddc5f4a32 upgrade db to 5.15 (#11918) 2019-09-05 12:50:40 +02:00
Woolim Cho
b9a3c2e90e MM-10272: Add a count for pinned posts header icon (#11840) 2019-09-04 13:41:29 +02:00
Claudio Costa
e1eb839636 Add integrity check command to CLI (#11599)
* Add integrity command

* Add structures and implementation for basic referential integrity check

* Use a channel to receive integrity check reports as they generates

* Setup unit testing

* Add confirm prompt to integrity command and make verbose output optional

* Add more integrity checks

* Use wrapper functions to simplify behaviour and tests

* Improve extensibility of IntegrityCheckResult

* Improve CheckIntegrity tests performance

* Use a config structure for relational integrity checks

* Add more relational integrity checks

* Add more checks and do some cleanup

* Add more relational integrity checks with proper tests

* Fix tests to use sync functions

* Add more info to integrity command help

* Add more relational integrity checks

* Add more relational integrity checks

* Add missing checks

* Show more information about missing records

* Fix to use new sync function

* Change integrity check functions to accept a SqlSupplier

* Fix code duplication

* Use squirrel for query building
2019-08-30 09:44:55 -03:00
Gervasio Marchand
11b0a20d7d MM-16821 - Add a KVCompareAndDelete to the plugin API (#11804)
* Implement KVCompareAndDelete and KVCompareAndDeleteJSON

* Add tests for KVCompareAndDelete

* Update minimum server version

* Handle nil value on CompareAndSet so that it deletes it

* Fix comments

* Tweaks from PR comments

* Go back to deleted, err
2019-08-21 23:25:38 -03:00
Jesús Espino
f8ad9f3b8f Initial cache migration to new layers system (#11878)
* Initial cache migration to new layers system

* Fixing wrong change

* Remove unneeded constants

* Remove unneeded file

* Adding license headers
2019-08-21 20:23:06 +02:00
Jesús Espino
83197ec5ff Fixing websockets updates for promote/demote (#11799)
* Fixing websockets updates for promote/demote

* Adding extra test check

* Addressing PR comments
2019-08-16 08:39:34 +02:00
Eli Yukelzon
da768d677e MM-16888 - Fix canonical vs. migration mismatches (#11825)
* fixed migration errors, added check to Jenkins
2019-08-14 14:58:01 +03:00
Miguel de la Cruz
04d43b072c [MM-17758] Explicits the search configuration when using full text search in postgres (#11870) 2019-08-13 15:48:06 +02:00
Jesse Hallam
9bb36614a6 MM-17438: allow attaching nouser files to posts (#11837)
* tweak AttachToPost formatting

* test attaching files uploaded by nouser

* MM-17438: allow attaching nouser files to posts
2019-08-12 18:35:46 -03:00
Siyuan Liu
e4bb8cd887 MM-11359: support excluding results from search (#11196) 2019-08-12 14:03:42 +02:00
Martin Kraft
58880a9694 MM-17432: Removes deactivated users from the group member counts. (#11829)
* MM-17432: Removes deactivated users from the group member counts.

* MM-17432: Reuses variable.
2019-08-09 14:39:57 -04:00
Jesús Espino
4acb139870 Enabling the release-5.14 migration and adding the 5.15 and 5.16 skel (#11783) 2019-08-06 11:54:01 +02:00
Jesús Espino
2df3951f6f Create direct message respect the user role (Guest/Normal user) (#11697)
* Create direct message respect the user role (Guest/Normal user)

* Fixing build

* Updating Timer store layer
2019-08-06 11:33:32 +02:00
scott lee davis
2fa63b10ec MM 7971 dockerhost -> localhost && docker -> docker-compose (#10872)
* replace dockerhost with localhost

* remove uneeded setup-max build step (no more dockerhost)

* changes as recommended by @cpanato

* make clean-docker with docker-compose

* added ports to docker-compose.yml (needed for osx).   ignore error for ldapadd (when already exists)

* add clean-old-docker to legacy.mk

* docker-compose stop instead of down for `make stop-docker`
2019-08-02 11:53:00 -03:00
Jesús Espino
e4582905ea Time Layer for measure the Store methods calls time (#11609)
* Time Layer for measure the Store methods calls time

* Fixing build

* Fixing a formating problem

* Fixing tests

* generating store mocks

* Fixing build

* Updating generated timer layer

* Updating timer layer to the last store interface

* Updating timer layer

* Generating time layer
2019-08-01 22:10:58 +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
Martin Kraft
ddc48c3ac1 MM-17383: Update query to include users who are not members of any gr… (#11730)
* MM-17383: Update query to include users who are not members of any groups.

* MM-17383: Fixes govet complaint.

* MM-17383: Sorts by username.

* MM-17383: Removes accidental staging.
2019-07-30 12:04:08 -04:00
Jesús Espino
bce11b7949 Removing unnused store methods (#11725) 2019-07-30 09:35:28 +02:00
Ali Farooq
8ba6c7f68a MM-17311 - Flaky TestGroupStore/UpsertMember (#11717)
* MM-17311 - Flaky TestGroupStore/UpsertMember

* PR Feedback
2019-07-29 13:48:28 -04:00
Maria A Nunez
3187907b67 MM-16990 - Fix webhooks visible to users without viewing permissions (#11698)
* Filtered incoming webhooks for users wihtout PERMISSION_MANAGE_OTHERS_INCOMING_WEBHOOKS

* Filtered outgoing webhooks for users without PERMISSION_MANAGE_OTHERS_OUTGOING_WEBHOOKS

* Refactored GetOutgoingByTeamByUser to its own method in app and store

* Fixed paging condition for outgoing webhooks in store

* Separated test cases into separate t.run in WebhookStore

* Improved unit test. PR Feedback

* Filtered outgoing webhooks by channel for users without PERMISSION_MANAGE_OTHERS

* Filtered getting full list of outgoing webhooks for users without PERMISSION_MANAGE_OTHERS

* Added missing signature for GetOutgoingWebhooksPage in app

* Expanded permissions in test to SYSTEM_USER_ROLE

* Filtered getting full list of incoming webhooks for users without PERMISSION_MANAGE_OTHERS

* Removed unnecessary sq.and operator
2019-07-29 12:32:26 -04:00
Maria A Nunez
8f4dab0162 Removed unnessary save in GetChannelsByScheme test (#11701) 2019-07-29 10:54:14 -04:00
Jesse Hallam
f226f672f3 MM-17235: fix flaky TestChannelStore tests (#11715)
Address more model.GetMillis() races.
2019-07-29 10:18:37 -04:00
Jesús Espino
e067272e16 Cleaning the store from functions returning StoreResult (#11602)
* Cleaning the store from functions returning StoreResult

* Removing unnecesary StoreChannel type
2019-07-29 12:38:46 +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
a9fc3581ff Removing unnecesary StoreResult usages to simplify the store code (#11519)
* Removing unnecesary StoreResult usages to simplify the store code

* Fixing tests
2019-07-29 10:37:35 +02:00
Miguel de la Cruz
8858b15e7e [MM-17194] Add search channels for user in case the user doesn't have the list channels permission (#11706)
* [MM-17194] Add search channels for user in case the user doesn't have the list channels permission

* Add tests for the API layer and control the case of a user not being a team member

* Remove unnecessary empty line
2019-07-29 09:35:32 +02:00
Jesse Hallam
1fa505c833 MM-17053: avoid colliding with reserved team names (#11705)
There are a handful of “reserved” team names that will be rejected if found at the start of the team name – e.g. “api21251251” or “error1251251”. Turns out we just got really unlucky and a model.NewId invocation generated just such a collision. I've changed all such random generations to include a prefix.
2019-07-26 20:41:20 -03:00
Jesús Espino
0a12fef33a Fix pagination bug on LDAP groups users listing (#11711)
* Fix pagination bug on LDAP groups users listing

* Fixing consistency in parameters names
2019-07-26 15:18:37 +02:00
Taufiq Rahman
7e092886dc [MM-16658] Migrate User.GetProfilesInChannel to Sync by default #11462 (#11685)
* Migrate User.GetProfilesInChannel to Sync by default #11462

* Refactor variable names #11462
2019-07-26 13:11:13 +02:00
Jesús Espino
447589a06e More robust guest members for users and tests for it (#11700)
* More robust guest members for users and tests for it

* Fixing shadow variables

* Fixing shadow variables
2019-07-26 10:34:01 +02:00
Gabe Jackson
b73b6b4c36 Improve bulk export of posts (#11702)
This change modifies some of the logic for processing posts during
bulk export in order to improve performance.
2019-07-25 12:20:49 -04:00
Jesús Espino
27976a6060 Fixing initial DMs/GMs load (#11691)
* Fixing initial DMs/GMs load

* Fixing ci
2019-07-23 20:29:25 +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
jfrerich
fdde7c8287 [MM-16871] Remove bots from "Daily Active Users" and "Monthly… (#11658)
* Add model.UserCountOptions to analyticsActiveCount method
Add new test for analyticsActiveCount method

* Add ability to delete entries from status store, by calling SQl
directly.  There is no method available to delete entries from the
status store interace

* Instead of cleaning up after a test by passing userIds, just delete all
records in the status table and start fresh

* Remove Comment
2019-07-19 13:30:59 -05:00