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

202 Коммитов

Автор SHA1 Сообщение Дата
Chris
e0ee73ef99 ABC-79: Optimize channel autocomplete query (#8163)
* optimize channel autocomplete query

* move to new autocomplete endpoint
2018-01-31 09:26:40 -05:00
Joram Wilander
4f4a765e7d ABC-90 Add POST /emoji/search and GET /emoji/autocomplete API endpoints (#8125)
* Add POST /emoji/search and GET /emoji/autocomplete API endpoints

* Add constant to be clearer
2018-01-23 08:04:44 -08:00
Joram Wilander
a844577535 Add sort query parameter to GET /emojis (#8121) 2018-01-19 09:37:59 -05:00
Joram Wilander
dce0616305 ABC-73 Move session clean-up to daily task (#8095)
* Move session clean-up to daily task

* Split delete query into batches
2018-01-17 08:50:49 -05:00
Adrian Carolli
b1d13a2d89 [PLT-7793] Add /users/tokens/search endpoint (#8088)
* Add /users/tokens/search endpoint + tests

* Fix check-style

* Unnecessary deletion
2018-01-11 16:30:55 -05:00
Adrian Carolli
fd3fa8f8dc [PLT-7793] Added /users/tokens endpoint (#8038)
* Added /users/tokens/all endpoint

- UserAccessStore now has getAll method
- Added tests
- Added route
- Added handler

* Remove space fix check-style

* Remove blank space check-style

* Fixes for make check-style

* Remove extra code that is un-needed in user_test.go

* Rename endpoint + grammar

- Renamed /users/tokens/all to /users/tokens
- Renamed getUserAccessTokens to getUserAccessTokensForUser
- Renamed getAllUserAccessTokens to getUserAccessTokens
- Minor Grammar changes

* Add localization for sql_user_access_token.get_all

* Fix minor plural spelling
2018-01-05 14:46:48 -05:00
Jonathan
c171872472 PLT-8233: Purge ChannelMemberHistory Data when Data Retention Job runs (#7937)
* Changed the channel member history purge function to match pattern established by other data retention purge methods

* Simplifying the channel member history store and associated tests

* Regenerating mocks

* Using a constant
2017-12-05 16:32:23 -05:00
Jonathan
375c0632fa PLT-7503: Create Message Export Scheduled Task and CLI Command (#7612)
* Created message export scheduled task

* Added CLI command to immediately kick off an export job

* Added email addresses for users joining and leaving the channel to the export

* Added support for both MySQL and PostgreSQL

* Fixing gofmt error

* Added a new ChannelMemberHistory store and associated tests

* Updating the ChannelMemberHistory channel as users create/join/leave channels

* Added user email to the message export object so it can be included in the actiance export xml

* Don't fail to log a leave event if a corresponding join event wasn't logged

* Adding copyright notices

* Adding message export settings to daily diagnostics report

* Added System Console integration for message export

* Cleaned up TODOs

* Made batch size configurable

* Added export from timestamp to CLI command

* Made ChannelMemberHistory table updates best effort

* Added a context-based timeout option to the message export CLI

* Minor PR updates/improvements

* Removed unnecessary fields from MessageExport object to reduce query overhead

* Removed JSON functions from the message export query in an effort to optimize performance

* Changed the way that channel member history queries and purges work to better account for edge cases

* Fixing a test I missed with the last refactor

* Added file copy functionality to file backend, improved config validation, added default config values

* Fixed file copy tests

* More concise use of the testing libraries

* Fixed context leak error

* Changed default export path to correctly place an 'export' directory under the 'data' directory

* Can't delete records from a read replica

* Fixed copy file tests

* Start job workers when license is applied, if configured to do so

* Suggestions from the PR

* Moar unit tests

* Fixed test imports
2017-11-30 09:07:04 -05:00
Chris
b87fae646a PLT-5458: If someone posts a channel link to channel_A that you don't belong to, it doesn't render properly (#7833)
* add channel link hints to post props

* optimization

* update regex, add unit test

* fix rebase issue
2017-11-28 13:02:56 -08:00
Joram Wilander
6176bcff69 PLT-8131 (part2) Add plugin key value store support (#7902)
* Add plugin key value store support

* Add localization strings

* Updates per feedback
2017-11-27 17:23:35 -05:00
George Goldberg
5474cff0eb PLT-7934: Make query for bulk elasticsearch indexing more efficient. (#7664) 2017-10-25 13:23:01 +01:00
Chris
fd6192473b refactor max users per team (#7691) 2017-10-20 20:34:07 -04:00
Chris
d39a722a81 refactor max channels per team enforcement (#7690) 2017-10-20 20:33:20 -04:00
Nick Frazier
7fa4913f90 [PLT-7794] Add user access token enable/disable endpoints (#7630)
* Add column to UserAccessTokens table

* PLT-7794 Add user access token enable/disable endpoints

* replaced eliminated global variable

* updates to user_access_token_store and upgrade.go

* style fix and cleanup
2017-10-19 08:10:29 -04:00
Chris
07777f5ff9 Fix races / finally remove global app for good (#7570)
* finally remove global app for good

* test compilation fixes

* fix races

* fix deadlock

* wake up write pump so it doesn't take forever to clean up
2017-10-04 13:09:41 -07:00
George Goldberg
f3fc6d11fa PLT-7218: CLI to move slash commands between teams. (#7574) 2017-10-04 11:08:59 -07:00
George Goldberg
a06830b2f8 PLT-7644: Improve job scheduler architecture. (#7532) 2017-09-28 09:11:13 -07:00
George Goldberg
e0d5703f72 PLT-7619: Cleanup flags in data retention. (#7501) 2017-09-22 13:23:16 -04:00
George Goldberg
8195c80aa1 PLT-7639: Batch delete methods for data retention. (#7444) 2017-09-15 09:35:55 -07:00
Christopher Speller
29fca51821 Renaming repo 2017-09-06 23:11:59 -07:00
George Goldberg
50fc6e1e9e PLT-???? Prepare file upload infrastructure for Data Retention. (#7266)
* Prepare file upload infrastructure for Data Retention.

This commit prepares the file upload infrastructure for the data
retention feature that is under construction. Changes are:

* Move file management code to utils to allow access to it from jobs.

* From now on, store all file uploads in a top level folder which is the
  date of the day on which they were uploaded.

This commit is based on Harrison Healey's branch, but updated to work
with the latest master.

* Use NewAppError
2017-08-25 10:38:13 -04:00
Chris
b122381e87 PLT-1649: add response_url support for custom slash commands (#6739)
* add response_url support for custom slash commands

* pr suggestions

* pr update / suggestion

* test fix
2017-08-16 08:17:57 -04:00
Saturnino Abril
88f398ffdd Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes." (#7072)
* 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.
2017-08-01 08:16:45 -04:00
Debanshu Kundu
8a91235fb3 #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)
fix 7 and 8

remove @ at "{username} joined the channel"

refactor and update test
2017-08-01 02:17:21 +08:00
Joram Wilander
59992ae4a4 PLT-6763 Implement user access tokens and new roles (server-side) (#6972)
* 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
2017-07-31 12:59:32 -04:00
Chris
72f61ab96a make cli team / channel delete operations also delete webhooks and slash commands (#7028) 2017-07-31 11:52:45 -04:00
Christopher Speller
09b49c26dd PLT-5308 Caching layer part 2 (#6973)
* Adding Reaction store cache layer example

* Implementing reaction store in new caching system.

* Redis for reaction store

* Adding redis library

* Adding invalidation for DeleteAllWithEmojiName and other minor enhancements
2017-07-31 08:15:23 -07:00
George Goldberg
6c6f2a1138 PLT-6595-Server: Job Management APIs. (#6931)
* PLT-6595-Server: Job Management APIs.

* MANAGE_JOBS Permission

* Fix test.
2017-07-20 08:25:35 -07:00
George Goldberg
83d53ea98c PLT-6475: Elasticsearch Indexing Worker. (#6879) 2017-07-11 09:09:15 +01:00
George Goldberg
0495a51949 PLT-6916: Redesign the jobs package and Jobserver. (#6733)
This commit redesigns the jobserver to be based around an architecture
of "workers", which carry out jobs of a particular type, and "jobs"
which are a unit of work carried by a particular worker. It also
introduces "schedulers" which are responsible for scheduling jobs of a
particular type automatically (jobs can also be scheduled manually when
apropriate).

Workers may be run many times, either in instances of the platform
binary, or the standalone jobserver binary. In any mattermost cluster,
only one instance of platform OR jobserver must run the schedulers. At
the moment this is controlled by a config variable, but in future will
be controlled through the cluster leader election process.
2017-07-07 15:21:02 +01:00
Joram Wilander
f54aee1ef5 Add paging to the GET /emojis endpoint (#6802) 2017-07-03 23:58:02 -07:00
Joram Wilander
5507154992 Add some basic sorting support for GET /users endpoint (#6801) 2017-06-30 12:07:23 -04:00
Corey Hulen
36f216cb7c PLT-6080 moving clustering to memberlist (#6499)
* PLT-6080 adding cluster discovery service

* Adding memberlist lib

* Adding memberlist lib

* WIP

* WIP

* WIP

* WIP

* Rolling back config changes

* Fixing make file

* Fixing config for cluster

* WIP

* Fixing system console for clustering

* Fixing default config

* Fixing config

* Fixing system console for clustering

* Tweaking hub setting

* Bumping up time

* merging vendor dir

* Updating vendor dir

* Fixing unit test

* Fixing bad merge

* Remove some testing code

* Moving comment

* PLT-6868 adding db ping retry

* Removing unused loc strings

* Adding defer to cancel
2017-06-19 08:44:04 -07:00
Harrison Healey
577ed27f1b PLT-6408 Framework for job server (#6404)
* Added initial job server

* Added job server to be ran as part of platform

* Added test job to the enterprise repo

* Fixed job server not loading license

* Renamed job package to jobs

* Fixed TE not being buildable

* Added JobStatus table to database

* Changed fields used by JobStatus

* Added APIs to query job status

* Added config change listener to server

* Added option to run job server from Makefile

* Added ability to enable/disable jobs from config

* Commented out placeholder for search indexing job

* Fixed govet

* Removed debug messages and fixed job api init message
2017-05-18 15:05:57 -04:00
George Goldberg
0db5e3922f PLT-6472: Basic Elastic Search implementation. (#6382)
* PLT-6472: Basic Elastic Search implementation.

This currently supports indexing of posts at create/update/delete time.
It does not support batch indexing or reindexing, and does not support
any entities other than posts yet. The purpose is to more-or-less
replicate the existing full-text search feature but with some of the
immediate benefits of using elastic search.

* Alter settings for AWS compatability.

* Remove unneeded i18n strings.
2017-05-18 11:26:52 -04:00
Robin Naundorf
0a20e8d326 PLT-6019: Add APIv4 Endpoint for restoring Channels (#6263) 2017-05-15 16:12:30 -04:00
Robin Naundorf
5efcd2d9d3 Add API Endpoint for deleted Channels (#5889) 2017-05-09 07:52:46 -05:00
George Goldberg
597641545d PLT-6355: Use separate Read Replicas for Search. (#6216) 2017-05-01 00:19:58 -04:00
Christopher Speller
9a87bb3af6 Creating common token store and moving email invites and verification to it (#6213) 2017-04-27 10:55:03 -04:00
Joram Wilander
8b8aa2ca3c Refactor OAuth 2.0 code into app layer (#6037) 2017-04-12 16:29:42 -04:00
Harrison Healey
fb6f2a123c PLT-5860 Updated copyright date (#6058)
* PLT-5860 Updated copyright date in about modal

* PLT-5860 Updated copyright notice in JSX files

* PLT-5860 Updated copyright notice in go files

* Fixed misc copyright dates

* Fixed component snapshots
2017-04-12 08:27:57 -04:00
Saturnino Abril
d8b732a488 APIv4 GET /users/{user_id}/posts/flagged (#5984)
* APIv4 GET /users/{user_id}/posts/flagged

* change permission check
2017-04-05 16:18:23 -04:00
Saturnino Abril
43e795448f APIv4 post /teams/search (#5931) 2017-04-03 10:34:14 -07:00
Joram Wilander
6b61834ab1 Add store unit tests and add make target for testing store with postgres (#5925)
* Add store unit tests and add make target for testing store with postgres

* Remove postgres target form test-server target

* Fix audit test
2017-04-03 10:32:58 -07:00
George Goldberg
232a99f0c7 PLT-6162: Search for users not in a given team. (#5943) 2017-04-03 13:11:12 -04:00
Joram Wilander
aba07e5cb9 PLT-5483 Fix bug where flagged posts endpoint returned posts on other teams (#5765)
* Fix bug where flagged posts endpoint returned posts on other teams

* Include flagged posts from DMs/GMs
2017-03-31 12:25:39 -04:00
Harrison Healey
6ac87d82e3 PLT-2713 Added ability for admins to list users not in any team (#5844)
* PLT-2713 Added ability for admins to list users not in any team

* Updated style of unit test
2017-03-29 21:11:40 -04:00
George Goldberg
a4764a5c10 PLT-6083: API to get users not in a specific team. (#5888) 2017-03-29 21:10:51 -04:00
Saturnino Abril
01aaccb340 APIv4 post /channels/ids (#5845)
* APIv4 post /channels/ids

* updated enpoint as /teams/{team_id}/channels/ids
2017-03-27 08:41:40 -03:00
Joram Wilander
2a753949f1 Implement POST /users/search endpoint for APIv4 (#5822)
* Implement POST /users/search endpoint for APIv4

* PLT-2713 Added store functions for searching users that don't have a team

* PLT-2713 Added 'without_team' option when searching users

* PLT-2713 Added 'without_team' option when searching users (v4)
2017-03-23 10:34:22 +00:00