* AllowEditPost and PostEditTimeLimit migration
* Not set EDIT_POST permission to sysadmin_role if ALLOW_EDIT_POST is configured to NEVER
* Remove a bit of code duplication
* XYZ-13: Update Permission and Role structs to new design.
* XYZ-10: Role store.
* XYZ-9/XYZ-44: Roles API endpoints and WebSocket message.
* XYZ-8: Switch server permissions checks to store backed roles.
* XYZ-58: Proper validation of roles where required.
* XYZ-11/XYZ-55: Migration to store backed roles from policy config.
* XYZ-37: Update unit tests to work with database roles.
* XYZ-56: Remove the "guest" role.
* Changes to SetDefaultRolesFromConfig.
* Short-circuit the store if nothing has changed.
* Address first round of review comments.
* Address second round of review comments.
* Option to add user to channel if mentioned user is not currently in the channel
* instead of link from server, just add component on client side to add channel member
* change implementation using post.props
* do clean up and add test
* sanitize post.props['add_channel_member'] on post creation
* move sanitize to app.CreatePost and also apply to app.UpdatePost
* don't use global app for api / api4 tests
* put sleep back. we're gonna have to do some goroutine wrangling
* fix oauth test config assumptions
* jobs package, i'm comin' for you next
* app test fix
* try increasing sleep a little
* Revert "PLT-6603: Don't return all posts on invalid query. (#7061)"
This reverts commit 25a2013890.
* Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)"
This reverts commit 8a91235fb3.
* Implement user access tokens and new roles
* Update config.json
* Add public post permission to apiv3
* Remove old comment
* Fix model unit test
* Updates to store per feedback
* Updates per feedback from CS
* implement get channels endpoints and updated drivers and unittests
* removed channel deletion on tear down, removed manage permission on get channels endpoints, and updated utils to add constant channel length
* added constants for user, team and channel length, updated context to use the model functions
* make sure team name length should be less than the minimum length and revert underscore to team name validity
* changed post test condition from notfound to unauthorized
* Implement POST /posts endpoint for APIv4
* Implement GET /channels/{channel_id}/posts endpoint for APIv4
* Implement GET /posts/{post_id} endpoint for APIv4
* Implement GET /posts/{post_id}/thread endpoint for APIv4
* Skip team get if it's a DM channel in handlePostEvents