* 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>
* 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
* Tour for 7.2 done till manage boards
* Done with 7.2 tour point
* Update snapshot and linter fix
* Merge conflits fixed
* Linter fixed
* Linter fixes
* Snapshot updated and testcase fixed
* Linter issue fix and added padding in between text and nav-btn
* Linter fixes
* 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>
* 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>
GH-3350 - Updating language for linking modals and the color of buttons
GH-3512 - Added margin between button and text in link modal
GH-3523 - Updated text in share modal
Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* reflect changes in server regarding to user service
* include server into build even in CI
* Fix lint pipeline to use only local repositories
Signed-off-by: Mustafa Kara <mustafa.kara@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Mustafa Kara <mustafa.kara@mattermost.com>
* Improve the board creation from channels
* Fixing linter problem and adding channelID to the telemetry information
* Fixing and expanding a bit the tests
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
(cherry picked from commit 93bc9de731)
Co-authored-by: Jesús Espino <jespinog@gmail.com>
- provides support for compiling Boards directly into the Mattermost suite server
- a ServicesAPI interface replaces the PluginAPI to allow for implementations coming from pluginAPI and suite server.
- a new product package provides a place to register Boards as a suite product and handles life-cycle events
- a new boards package replaces much of the mattermost-plugin logic, allowing this to be shared between plugin and product
- Boards now uses module workspaces; run make setup-go-work
* skeleton lifecycle
* bare minimum to satisfy mm-server import
* added boards_imports.go
* move boards_imports.go to correct package
* bump mmserver version; remove replace in go.mod; use module workspaces; remove logger service
* rename product.go --> boards.go
* add FileInfoStore and Cloud services for product; create minimal pluginAPI interfaces for all packages
* rename Boards -> BoardsProduct
* compile success
* remove hooks service; guard for nil BoardsApp
* update to latest mmserver ver
* upgrade mmserver to master tip
* upgrade mmserver to master tip
* bump plugin-api to master tip
* fix users service
* fix OnActivate crash; normalize AppError returns
* fileBackend interface for server/app
* feature flag
* bump mmserver version
* fix linter errors
* make go.work when linting
* fix go.work creation for CI
* add execute flag for script
* fix more linter errors
* always create a go.work
* fix ci go.work
* OS agnostic go.work generator
* fix path
* fix path again
* partially disable cypress test
* fix case Id --> ID
* bump mmserver version
* include in go.work for dev
* addressed review comments.
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Refactor websockets state and lifecycle
This PR moves the state of the authentication and subscriptions to the
websockets client, allowing for multiple components to communicate
with it and request subscriptions independently. With this change, the
lifecycle of the websockets client is now managed on a component, and
a hook is provided for easy access to it from individual components.
* Fix linter
* Integrating the new websockets in channels integration with the RHS and board selector
* Some small fixes around boards-channels relationship
* Make the boards unfurl to always use the current team
* Fixing weird behaviors in websockets and other small data related bugs in channel-board relationship
* Only warn if withWebSockets is used without a base connection
* Fix tests
* Fix linter
* Update snapshot
* Fixing plugin tests
Co-authored-by: Jesús Espino <jespinog@gmail.com>
* Initial Boards+Channels implementation
* Adding draft code to list the boards in a channel
* Adding the hability to link/unlink channels (fake channel for now)
* Simplify slight the migrations
* WIP
* More changes to improve the implementation
* Adding partial implementation of linking channel from board
* Allow linking in both directions
* Removing unused file
* More work on channel binding
* some refactoring
* Improving code quality and interface
* More improvements
* Changing the API to search channels
* Adding a limit of 10 channels in search
* Add confirmation on linking public channels
* Improve a bit the styling of the confirmation modal
* Showing the current linked channel
* Adding link board confirmation to channel interface
* Fixing tests and linter errors
* Fixing backend tests
* Adding permissions tests
* Fixing linter errors
* Fixing small things
* Fixing some typescript errors
* Adding new boardSelectorItem tests
* Improving a bit tests
* Adding jest unit tests
* Remove duplicated implementation (from merge, I guess)
* Adding missed files
* Addressing some of the PR review comments
* Removing unneeded new wrapIntl implementation
* Moving NotSupportedError to the store package to be share between all the store implementations or layers
* Fixing one of the pendings ToDo
* Creating a constructor for the NotSupportedError
* Fixing linter error