Commit graph

324 commits

Author SHA1 Message Date
Scott Bishel
eb7601d841
GH-3992 fix for missing templates, error when 'system' not found as user. (#3998) 2022-10-11 14:34:33 -05:00
Mattermost Build
3335ccd364
fix another migration error (#3988) (#3989)
(cherry picked from commit b952291c30)

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2022-10-10 17:24:55 -06:00
Scott Bishel
4b0f69da57
fix migration syntax (#3985) 2022-10-10 16:02:36 -06:00
Harshil Sharma
f5a068e382
Added duplicate data test for user preference (#3968)
* Added handling of duplicate key conflicts

* Added a test

* Add value checks and fix username for the test

Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
2022-10-07 16:28:47 +02:00
Harshil Sharma
3af20268bc
Added handling of duplicate key conflicts (#3963) 2022-10-07 07:08:42 -06:00
Paul Esch-Laurent
fe010b3b40
Remove synthetic/implicit memberships for guests (#3786)
* fix: no implicit (synthetic) memberships for guest

* fix: only check if guest if no explicit member

* refactor: join() to select() non-guest users

* style: golant lint

* fix: search as guest only returns explicit boards

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-10-03 18:23:21 -06:00
Scott Bishel
8f4951dd4a
Fix members (#3875)
* retrieve all team members for specific lists

* retrieve all team members for specific lists

* final fixes

* update to use enum

* unit test fixes

* lint fixes

* fix integration test

* fixup integration test

* fix issues with making board private

* update to make webapp and server enums match

* fix to add member in correct role

* remove unnecessary property, check Open/Private board

* cleanup confirm for non admin

* some final cleanup

* move default to webapp

* only allow greater roles in drop down, change property name to minimumRole

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-09-30 08:26:41 -06:00
Miguel de la Cruz
dfa9d8f452
Update user store to return the updated entities after inserting / patching them (#3843) 2022-09-15 13:58:20 +02:00
Miguel de la Cruz
9163e4cd9b
Check on GetBoardsForUserAndTeam if the board result list is incomplete and continue if that's the case (#3842)
* Check on GetBoardsForUserAndTeam if the board result list is incomplete and continue if that's the case

* Remove template filter and correctly check for not founds
2022-09-14 08:59:39 -04:00
Doug Lauder
6f35ed8678
Fix broken main store.getBoardsInTeamByIds (#3840)
* fix broken main GetBoardsForUserAndTeam

* comment unit tests
2022-09-14 11:27:36 +02:00
Scott Bishel
b3a356067c
GH-3797 Update telemetry to send boards count (#3820)
* update telemetry to send boards count

* fix lint

* fix unit test
2022-09-13 14:37:05 -06:00
Miguel de la Cruz
f35ac66232
Update board store to return inserted / patched values without querying the DB after modifying them (#3832)
* Update board store to return inserted / patched values without querying the DB after modifying them

* Remove redundant condition check after error refactoring
2022-09-13 12:43:03 +02:00
Miguel de la Cruz
08c0b7a2fd
Refactor error usage from the store level up and add API helpers (#3792)
* Refactor error usage from the store level up and add API helpers

* Complete API tests

* Fix merge errorResponse calls

* Remove ensure helpers to allow for custom messages on permission errors

* Fix bad import and call

* Remove bad user check on auth that was added as part of the main merge

* Fix empty list test

* Replace deprecated proxy calls to ioutil.ReadAll with io.ReadAll

* Add information to the NotFound errors

* Add context to all remaining errors and address review comments

* Fix linter

* Adapt the new card API endpoints to the error refactor

* Remove almost all customErrorResponse calls

* Add request entity too large to errorResponse and remove customErrorResponse

* Fix linter
2022-09-13 12:18:40 +02:00
Paul Esch-Laurent
15e13fcdac
fix: filter out bots for sharing, @mention-ing, and Person property (#3762)
* fix: filter out bots for sharing and @mention-ing

* feat: add `?exclude_bots` to `getTeamUsers` API

* chore: `make swagger`

* chore: `make generate`

* fix: plugin store test function implementation

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-09-09 19:56:44 -06:00
Harshil Sharma
5f4ad80ef0
Read Mattermost s3 timeout value and used a default if not exist (#3817)
* read Mattermost s3 timeout value and used a default if not exist

* Protection from setting 0 or negative timeout
2022-09-09 11:42:55 +02:00
Doug Lauder
4652a15bab
Card APIs (#3760)
* cards apis wip

* create card API

* validate cards when creating

* create card fixes

* patch card wip

* wip

* unit test for createCard; CardPatch2BlockPatch

* unit test for PatchCard

* more APIs

* unit tests for GetCardByID

* register GetCard API

* Set FOCALBOARD_UNIT_TESTING for integration tests

* integration tests for CreateCard

* more integration tests for CreateCard

* integtration tests for PatchCard

* fix integration tests for PatchCard

* integration tests for GetCard

* GetCards API wip

* fix merge conflict

* GetCards API and unit tests

* fix linter issues

* fix flaky unit test for mySQL

* Update server/api/api.go

Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>

* Update server/api/api.go

Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>

* address review comments

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Miguel de la Cruz <mgdelacroix@gmail.com>
2022-09-08 13:01:33 +02:00
Miguel de la Cruz
7ebcdf59c2
Add remove templates channel link migration (#3794) 2022-09-07 14:22:06 -06:00
Scott Bishel
af2727085d
Fix template websocket (#3747)
* fix websockets with templates

* add more unit tests

* add synthetic, update tests

* Update mattermost-plugin/server/manifest.go

* clean up lint, reduce cyclomatic complexity

* update tests that call patchBoard with patch.Type set

* cleanup messages

* cleanup code more readable

* fixes from code review

* fix null check

* remove log lines
2022-09-04 16:51:31 -06:00
Miguel de la Cruz
956675aa07
Fix migration 27 and update boards_migrator_test to support sqlite (#3775)
* Fix migration 27 and update boards_migrator_test to support sqlite

* Adds comments for clarity
2022-09-02 13:39:00 -06:00
Scott Bishel
a6ca2c2011
Merge pull request #3774 from mattermost/mysql-extra-safe
Extra safe MySQL migration
2022-09-02 10:00:22 -06:00
Harshil Sharma
80d2984cf8 Fixed an incorrect case in table name 2022-09-02 11:28:37 +05:30
Miguel de la Cruz
3acd505618
Refactor schema table migration mechanism (#3709)
* Refactor schema table migration mechanism

The old schema table migration code was initializing the migration
engine before changing the migrations table and was mixing queries on
two different database connections (the `s.db` connection and the
migrations `db` connection).

The changes on this commit take care of changing the migrations table
before the morph migration engine is initialized and they use the same
connection for all operations, better isolating the schema table
migration process.

* Update migrate function to take the cluster mutex first thing

* Split migration code and orchestration on different functions

* Wrap custom errors on data migrations

* Rename private migration method

* Update server/services/store/sqlstore/migrate.go

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
2022-09-01 15:05:11 +02:00
Harshil Sharma
66e8af85a8 Extra safe MySQL migration 2022-09-01 16:15:31 +05:30
Harshil Sharma
12ba9a6382 Extra safe MySQL migration 2022-09-01 16:07:11 +05:30
Scott Bishel
270a110dc1
Merge pull request #3761 from mattermost/mentions-and-guests
Fix @-mentions in boards & for guests
2022-08-31 13:40:32 -06:00
Paul Esch-Laurent
31569c655a
fix: reference Uppercase MM tables (#3756) 2022-08-30 14:32:31 -05:00
Paul Esch-Laurent
9101ef81e2 style: golang linting (shadow declaration) 2022-08-30 12:45:20 -05:00
Paul Esch-Laurent
b7ead8a7e0 fix: handle includePublicBoards 2022-08-30 11:56:24 -05:00
Paul Esch-Laurent
33987d5c5b fix: invalid db query for guests 2022-08-30 11:56:24 -05:00
Doug Lauder
2035337049
getBlocks store API with query options (#3755) 2022-08-30 15:56:41 +02:00
Harshil Sharma
63edf2c987
Props to preferences (#3722)
* Added tab;le creation migration

* WIP

* Finished base impl

* Added MySQL migration

* WIP

* Added personal server store methods

* WIP

* Fixed webapp tests

* Updated server tests

* generated code

* generated code

* generated code

* used raw queries instead of plugin methods to avoid updating productapi package

* Added API doc

* Added sqlite migratins

* used plugin APIs again s=instead of raw queries

* WIP

* Added missed case of SQL migration where personal server can run on Postgres and MySQL

* CI

* Removed unsupported POSL operator

* Low on caffine. Making silly mistakes

* json handling

* int test

* hope tests pass

* Fix incorrect column size

* Webapp lint fixes

* remived debug code

* Updated moigration version

* Review fixes
2022-08-29 12:55:12 +05:30
Scott Bishel
52598b583f
fix sql statement, add 'isGuest' (#3745) 2022-08-25 13:36:39 -05:00
Jesús Espino
61a8af8f34
Restoring guest account access and adding backend part of the guest accounts support (#2929)
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-24 17:08:58 -05:00
Miguel de la Cruz
e1a39e57ff
Adds a check that errors on store start if MariaDB is detected (#3725)
* Adds a check that errors on store start if MariaDB is detected

* Fix linter

* Update error message

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-24 14:36:43 -06:00
Jesús Espino
2b39745f68
Adding the permissions for commenter + viewer roles (#2882)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Paul Esch-Laurent <paul.esch-laurent@mattermost.com>
2022-08-24 15:36:28 -05:00
Miguel de la Cruz
03a6a963eb
Updates db indexes to improve performance (#3732)
* Updates db indexes to improve performance

* Fix order-dependant test

* Fix another order-dependant test
2022-08-24 18:42:41 +02:00
Doug Lauder
0ffc721e64
Add Preferences service API for product and plugin (#3727)
* Add Preferences service API for product and plugin

* add missed switch case

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-24 09:08:56 +05:30
Scott Bishel
0403c22f3c
Post message channel change (#3717)
* initial implementation

* checking changes

* use boards bot

* update mocks

* linter fixes

* linter fixes

* clean up

* revert manifest change

* another lint fix

* use common error

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-23 08:48:41 -06:00
Doug Lauder
a91e1f1758
Remove BoardID field from BlockPatch, ensuring patching a block cannot change boardID (#3719) 2022-08-22 15:57:22 -04:00
Miguel de la Cruz
67cec5de4f
Remove duplicated store and app method to get blocks that belong to a board (#3698) 2022-08-22 21:53:59 +02:00
Miguel de la Cruz
feb49eaf19
Add foundation tests (#3670)
* Add foundation and its instrumentation code

* Add migration 18 and deletedMembershipBoardsMigration tests

* Update go sum
2022-08-18 17:03:33 +02:00
Doug Lauder
765fbc88e9
Register API router in product mode (#3700)
* register API router in product mode

* period in comment (really?)
2022-08-17 17:50:01 +02:00
Miguel de la Cruz
19ef6533f6
Adds data migration to clean badly assigned boards (#3635)
* Adds data migration to clean badly assigned boards

This data migration fetches all boards whose owner has a deleted
membership on the board's team and fixes them by processing them
again, this time with the fix applied to the `getBestTeamForBoard`
function that skips deleted teams and team memberships

* Do not create a transaction if there are no offending boards found

* Fix linter
2022-08-11 09:22:32 -06:00
Scott Bishel
ba7e453bde
GH-3621- Make query case insensitive (#3623)
* make check case insensitive

* Fixed a server lint

Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
2022-08-10 08:17:36 -06:00
Scott Bishel
3b099bada4
GH-3564: Change boards search to "all" words (#3622)
* make search on words 'and'

* update search in auth layer
2022-08-10 14:49:30 +05:30
Miguel de la Cruz
ad3eb4ba8b
Update teamless boards migration to check for deleted entities (#3613)
* Update teamless boards migration to check for deleted entities

After this changes, the `TeamLessBoardsMigration` will check the team
and the team membership of the users to discard deleted entities when
cosidering what team to assign a board to

* Fix linter
2022-08-09 13:04:03 +02:00
Harshil Sharma
e855a37c21
Persist category state (#3579)
* WIP

* Finished impl

* Finished impl

* Added tests

* Refactored SQL migraiton into two migration to keep DDL isolated
2022-08-08 14:55:47 -06:00
Shivashis Padhi
d50846ed42
MM-43781: boards insights - cherry pick PR suggestions (#3596)
* Uncomment team insights test

* Add checks to make sure insights endpoints work only in plugin mode

* adding constant for my insights

Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
2022-08-08 19:04:03 +05:30
Shivashis Padhi
f00b5c9e61
[MM-43781] Feature: boards insights (#3005)
* Add boilerplate functions and handlers for boards insights

* Fix function signatures to add 'duration' parameter, fix where clauses in db queries

* Fix where clause to include boards of which userId in parameter is a member

* Modify queries to work with sqlite, postgres, mysql

* Integration tests, and results of make generate

* Lint Fixes

* Add icons to board insights

* Lint fixes

* Format insights queries without squirrel to fix parameterization issues

* Add tests for sqlstore utility functions

* Improve team insights tests by creating 2 boards

* Refactor endpoints/app to adhere to developments in 7.0 release

* Refactor queries to use squirrel

* Lint fixes

* Fix client, integration tests

* Remove old integration tests

* Add storetests, refactor functions to handle authorized board_ids

* Make queries compatible with mysql, sqlite

* Add app tests

* Fix lint errors

* Revert makefile changes, fix docstring in api

* Lint fixes and doc correction suggested by @wiggin77

* Fix mock store call count error

* adding client code

* Make the following changes

 - use serviceAPI to get user.Timezone
 - rename licenseAndGuestUserCheck to insightPermissionGate, and handle returned error better
 - validate page, perPage parameters aren't < 0

* Lint fix

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
2022-08-08 11:42:02 +05:30
Jesús Espino
287a026dc2
Show boards with syntetic membership (#3557) 2022-08-05 10:02:19 -06:00