Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NEW] Teams #20966

Merged
merged 355 commits into from
Mar 24, 2021
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
355 commits
Select commit Hold shift + click to select a range
5ad8ed1
Merge branch 'new/teams-back' into new/teams-back-add-members
matheusbsilva137 Mar 15, 2021
893f973
Remove unused imports
matheusbsilva137 Mar 15, 2021
7c294d6
create teams modal
tiagoevanp Mar 15, 2021
5b6d603
remove ChannelAutoCompleteMultiple component
tiagoevanp Mar 15, 2021
7c418fa
Add missing import
matheusbsilva137 Mar 15, 2021
74e4eaf
set description in team
tiagoevanp Mar 15, 2021
6d05753
fix listRooms query
r0zbot Mar 15, 2021
71668f0
basic delete
gabrieleiro Mar 16, 2021
bbc717a
Fix verifications in tests
matheusbsilva137 Mar 16, 2021
aaff009
fix redirect to room
tiagoevanp Mar 16, 2021
b84c358
Fix tests and remove unused variables
matheusbsilva137 Mar 16, 2021
c29b439
undelete method tests file
r0zbot Mar 16, 2021
545a39d
Update app/api/server/v1/teams.ts
pierre-lehnen-rc Mar 16, 2021
51853eb
Update app/api/server/v1/teams.ts
pierre-lehnen-rc Mar 16, 2021
44657ed
Update app/api/server/v1/teams.ts
pierre-lehnen-rc Mar 16, 2021
3a30713
Update app/api/server/v1/teams.ts
pierre-lehnen-rc Mar 16, 2021
b89d0f4
Removed blank line
pierre-lehnen-rc Mar 16, 2021
fde5282
Add member verification in team.members endpoint
matheusbsilva137 Mar 16, 2021
806c3f0
Merge pull request #21099 from RocketChat/new/teams-back-add-members
pierre-lehnen-rc Mar 16, 2021
c3cd52f
Merge pull request #21143 from RocketChat/new/teams-back
tassoevan Mar 16, 2021
c0c16bc
remove pagination
r0zbot Mar 16, 2021
1253d22
Merge branch 'new/teams-back' of github.com:RocketChat/Rocket.Chat in…
r0zbot Mar 16, 2021
7f6d046
remove offset from endpoint too
r0zbot Mar 16, 2021
762556c
remove braces from simple string
tiagoevanp Mar 16, 2021
525da3b
single coat instead bool
tiagoevanp Mar 16, 2021
bca5227
Merge branch 'create-teams-modal' of github.com:RocketChat/Rocket.Cha…
tiagoevanp Mar 16, 2021
738b795
refactor useReactModal
tiagoevanp Mar 16, 2021
88075ec
Merge branch 'develop' into new/teams
tassoevan Mar 16, 2021
bdbcaa8
Merge pull request #21085 from RocketChat/new/teams-back-rooms
pierre-lehnen-rc Mar 16, 2021
8b44d0e
Merge branch 'new/teams' into create-teams-modal
tiagoevanp Mar 16, 2021
164bbac
Update server/services/team/service.ts
pierre-lehnen-rc Mar 16, 2021
6e75427
Update server/services/team/service.ts
pierre-lehnen-rc Mar 16, 2021
532e0a9
add basic conversion
gabrieleiro Mar 16, 2021
2979271
Merge branch 'new/teams-back' into new/teams-back-convert-channel
pierre-lehnen-rc Mar 16, 2021
7050087
Removed unnecessary code.
pierre-lehnen-rc Mar 16, 2021
cabceda
Merge pull request #21130 from RocketChat/create-teams-modal
tassoevan Mar 16, 2021
2dd5c85
Merge pull request #21133 from RocketChat/new/teams-back-delete-team
pierre-lehnen-rc Mar 16, 2021
f86dc45
Merge pull request #21146 from RocketChat/new/teams-back-convert-channel
pierre-lehnen-rc Mar 16, 2021
b73aef9
Merge branch 'new/teams-back' into new/teams-visibility
pierre-lehnen-rc Mar 16, 2021
e61fad1
Merge new/teams-back changes
matheusbsilva137 Mar 16, 2021
f5e0779
Merge branch 'new/teams-back' of https://github.com/RocketChat/Rocket…
matheusbsilva137 Mar 16, 2021
9c9380f
Move CreateTeam module
tassoevan Mar 16, 2021
8130a57
Invite users to team default channels on join
KevLehman Mar 16, 2021
6b90dfb
Merge branch 'new/teams-back' into new/teams-default-channels
KevLehman Mar 16, 2021
f95bbc6
Fix lint issues
KevLehman Mar 16, 2021
e9fded4
Removed unnecessary symbols and comment
pierre-lehnen-rc Mar 16, 2021
78fe360
Merge branch 'new/teams-visibility' of github.com:RocketChat/Rocket.C…
pierre-lehnen-rc Mar 16, 2021
106e27c
Merge pull request #21048 from RocketChat/new/teams-visibility
pierre-lehnen-rc Mar 16, 2021
90b33a7
Split TeamNameInput
tassoevan Mar 16, 2021
67fe1f6
[NEW] add groups.convertToTeam endpoint
pierre-lehnen-rc Mar 16, 2021
3089211
Update app/lib/server/functions/removeUserFromRoom.js
pierre-lehnen-rc Mar 17, 2021
cf700fb
Update Rooms.js
pierre-lehnen-rc Mar 17, 2021
3ecc894
moved a method down trying to get rid of a phantom space
pierre-lehnen-rc Mar 17, 2021
68a9da8
Merge branch 'new/teams-back' into new/teams-default-channels
pierre-lehnen-rc Mar 17, 2021
6c7bd1d
Update Rooms.js
pierre-lehnen-rc Mar 17, 2021
8b355e0
Merge pull request #21149 from RocketChat/new/teams-default-channels
pierre-lehnen-rc Mar 17, 2021
37df3df
Convert BaseAvatar and UserAvatar to TypeScript
tassoevan Mar 17, 2021
b25add2
Add UsersInput
tassoevan Mar 17, 2021
f5e4923
Merge pull request #21150 from RocketChat/new/teams-back-groups.conve…
pierre-lehnen-rc Mar 17, 2021
29f06ba
Merge branch 'develop' into new/teams-back
rodrigok Mar 17, 2021
4a2365c
Convert CreateTeamModal to TypeScript
tassoevan Mar 17, 2021
b1e1bda
Filter out teams from rooms/get endpoint
KevLehman Mar 17, 2021
2a69803
Upgrade Fuselage
tassoevan Mar 17, 2021
005c61e
Implement pagination to teams.listAll endpoint
KevLehman Mar 17, 2021
7750213
Fix lint issues
KevLehman Mar 17, 2021
fa74ef5
WIP
gabriellsh Mar 17, 2021
b5b779d
Merge branch 'new/teams-back' of github.com:RocketChat/Rocket.Chat in…
gabriellsh Mar 17, 2021
0e0f8ef
update generic modal
Mar 17, 2021
41ebaa5
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into te…
gabriellsh Mar 17, 2021
d6b795c
Fix team name validation
tassoevan Mar 17, 2021
85b11a6
Add teams data to statistics collector
KevLehman Mar 17, 2021
4fb26c2
Update i18n strings
tassoevan Mar 17, 2021
73220ff
Fix teams.members result format
matheusbsilva137 Mar 17, 2021
e963996
Merge branch 'new/teams-back' of https://github.com/RocketChat/Rocket…
matheusbsilva137 Mar 17, 2021
8b6fb2b
Fix lint issues.....
KevLehman Mar 17, 2021
51231c1
Add autofocus
tassoevan Mar 17, 2021
a4a247f
Fix PR comments
KevLehman Mar 17, 2021
1693e9e
add teams-mention enterprise module
r0zbot Mar 17, 2021
96cb9b7
ahhhh
KevLehman Mar 17, 2021
826bdca
Merge pull request #21164 from RocketChat/new/teams-all-pagination
pierre-lehnen-rc Mar 17, 2021
4482740
Pass translation-check
tassoevan Mar 17, 2021
a053bec
Merge pull request #21167 from RocketChat/new/teams-back-mention
pierre-lehnen-rc Mar 17, 2021
d9da69e
Merge branch 'new/teams-back' of https://github.com/RocketChat/Rocket…
matheusbsilva137 Mar 17, 2021
eb670eb
Fix goToRoomById call
tassoevan Mar 17, 2021
b5bdc93
Merge pull request #21161 from RocketChat/new/teams-create-modal-and-…
tiagoevanp Mar 17, 2021
523bab0
[FIX] teams.create is not returning the roomId
pierre-lehnen-rc Mar 17, 2021
2efcbb9
Merge pull request #21162 from RocketChat/new/remove-teams-from-rooms…
pierre-lehnen-rc Mar 17, 2021
0078920
add tests
gabrieleiro Mar 17, 2021
2f71d9d
Merge pull request #21169 from RocketChat/new/teams-back-fix-teams-cr…
pierre-lehnen-rc Mar 17, 2021
04eae13
Fix JSX expression
tassoevan Mar 17, 2021
1a961f7
Merge pull request #21166 from RocketChat/new/teams-collector
pierre-lehnen-rc Mar 17, 2021
d7dfb7b
Remove teamId from rooms when the team is deleted.
pierre-lehnen-rc Mar 18, 2021
ebefc36
Fix tests
matheusbsilva137 Mar 18, 2021
201461a
Fix code formatting error
matheusbsilva137 Mar 18, 2021
a56c099
Fix async problems with tests
matheusbsilva137 Mar 18, 2021
456d052
Type check useMethod hook
tassoevan Mar 18, 2021
0c46942
Merge branch 'develop' into new/teams
tassoevan Mar 18, 2021
6c65151
Delete team's main room when the team is deleted
pierre-lehnen-rc Mar 18, 2021
625b9a3
Add test for groups.convertToTeam and small fix to it
r0zbot Mar 18, 2021
a60e6c3
fix wrong roomId on groups.convertToTeam
r0zbot Mar 18, 2021
6709ffd
Added a param to receive a list of rooms to remove along with the team
pierre-lehnen-rc Mar 18, 2021
17d47ae
add tests for permission
r0zbot Mar 18, 2021
95e36e7
Prevent last owner from leaving a team
matheusbsilva137 Mar 18, 2021
2190a8b
Remove log
matheusbsilva137 Mar 18, 2021
5947b2d
Spotlight show teams as clickable users
KevLehman Mar 18, 2021
9e48059
Fix code formatting
matheusbsilva137 Mar 18, 2021
a5e65b1
Fix service.ts formatting
matheusbsilva137 Mar 18, 2021
2edd84a
Fix lint issues
KevLehman Mar 18, 2021
8eacf33
Basic test
pierre-lehnen-rc Mar 18, 2021
a021698
Fix lint issues part 2
KevLehman Mar 18, 2021
5d9dba0
team channels button on header
tiagoevanp Mar 18, 2021
004b208
Fix e2e test
KevLehman Mar 18, 2021
abd5946
teams.delete api tests
pierre-lehnen-rc Mar 18, 2021
991a16d
Fixed lint errors
pierre-lehnen-rc Mar 18, 2021
8a69168
Changed async "before" functions to promise chain
pierre-lehnen-rc Mar 18, 2021
6164be5
fixed "describe.only"
pierre-lehnen-rc Mar 18, 2021
b61ce48
Update server/services/team/service.ts
pierre-lehnen-rc Mar 18, 2021
9375a40
Merge pull request #21192 from RocketChat/new/teams-back-last-owner
pierre-lehnen-rc Mar 18, 2021
3709f48
Merge pull request #21186 from RocketChat/new/teams-back-convert-tests
pierre-lehnen-rc Mar 18, 2021
dfd386f
Fixed service lint errors
pierre-lehnen-rc Mar 18, 2021
cebde86
Merge pull request #21189 from RocketChat/new/teams-back-delete-fixes
pierre-lehnen-rc Mar 19, 2021
c447da8
Merge branch 'new/teams-back-members' into merge-teams
pierre-lehnen-rc Mar 19, 2021
cb71d50
Merge pull request #21168 from RocketChat/new/teams-back-members
pierre-lehnen-rc Mar 19, 2021
cdcc364
Type check useEndpoint hook
tassoevan Mar 19, 2021
bd9436f
Type check useTranslation hook
tassoevan Mar 19, 2021
d21b408
Merge branch 'new/teams-back' into new/ee/team-autocompletes
pierre-lehnen-rc Mar 19, 2021
86b801e
Merge branch 'develop' into new/teams
tassoevan Mar 19, 2021
6f5c9fa
Remove redundant polyfill
tassoevan Mar 19, 2021
b1d9aa4
Reduced duplicated code between community and enterprise Spotlight code
pierre-lehnen-rc Mar 19, 2021
e61807b
Allow users to add private channels to teams
KevLehman Mar 19, 2021
eafb41e
Fix lint issues
KevLehman Mar 19, 2021
73bd00f
Merge branch 'new/teams-back' of github.com:RocketChat/Rocket.Chat in…
gabriellsh Mar 19, 2021
9e82fcd
Merge branch 'new/teams-back' into new/team-default-private-channels
KevLehman Mar 19, 2021
ebb9052
Fixing issues from gh conflicts
KevLehman Mar 19, 2021
82bc532
More lint fixes
KevLehman Mar 19, 2021
a4d15ab
Add teamId and teamMain properties to subscriptions/get
KevLehman Mar 19, 2021
4eaf679
Merge branch 'new/teams' into new/teams-members
Mar 19, 2021
f89441d
Fix lint issues
KevLehman Mar 19, 2021
9f6d75e
Merge branch 'develop' into new/teams
tassoevan Mar 20, 2021
bedcec2
WIP
gabriellsh Mar 20, 2021
7828fb5
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into te…
gabriellsh Mar 20, 2021
8007011
TeamChannels component
tiagoevanp Mar 20, 2021
f2e8f11
AddExistingModal
tiagoevanp Mar 20, 2021
663db2b
TS refactoring AddExistingModal
tiagoevanp Mar 20, 2021
fc20590
prepare new channel action button
tiagoevanp Mar 20, 2021
22afa67
Merge pull request #21195 from RocketChat/new/ee/team-autocompletes
pierre-lehnen-rc Mar 20, 2021
3713f89
Merge pull request #21213 from RocketChat/new/teams-add-team-info-to-…
pierre-lehnen-rc Mar 20, 2021
99a7a11
Changed the order of some operations
pierre-lehnen-rc Mar 20, 2021
3386784
Merge branch 'new/teams-back' into new/team-default-private-channels
pierre-lehnen-rc Mar 20, 2021
e86ef85
Merge pull request #21211 from RocketChat/new/team-default-private-ch…
pierre-lehnen-rc Mar 20, 2021
92eef00
[NEW] Add number of rooms in each team to the teams.list endpoint (#2…
pierre-lehnen-rc Mar 20, 2021
d1a2bda
Include teams on admin.listRooms (#21224)
pierre-lehnen-rc Mar 20, 2021
93be4fe
[NEW] users.listTeams endpoint (#21225)
pierre-lehnen-rc Mar 21, 2021
c657bfc
Merge branch 'develop' into new/teams
tassoevan Mar 21, 2021
8fb4a10
[WIP] TeamChannelsItem component
tiagoevanp Mar 22, 2021
903bfca
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tiagoevanp Mar 22, 2021
f6d9a95
fix last commit errors
tiagoevanp Mar 22, 2021
a3a540d
Merge teams frontend changes to the backend branch (#21190)
pierre-lehnen-rc Mar 22, 2021
1a6e757
Fix build errors
tiagoevanp Mar 22, 2021
9a75455
fix TS definitions
tiagoevanp Mar 22, 2021
4f31339
Merge branch 'new/teams-back' of github.com:RocketChat/Rocket.Chat in…
tiagoevanp Mar 22, 2021
c872ea7
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tiagoevanp Mar 22, 2021
48fcac4
Delete & Leave Modals
gabriellsh Mar 22, 2021
231c128
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into te…
gabriellsh Mar 22, 2021
01871ad
fname from room
tiagoevanp Mar 22, 2021
9416623
Include fname on the results of 'rooms.autocomplete.channelAndPrivate…
pierre-lehnen-rc Mar 22, 2021
1ba75e0
[NEW] teams.addRooms endpoint (#21251)
pierre-lehnen-rc Mar 22, 2021
779bc40
wip
Mar 22, 2021
f05330f
Merge branch 'new/teams-members' into new/remove-users-modal
Mar 22, 2021
6c6ea5b
Merge branch 'new/teams-back' of github.com:RocketChat/Rocket.Chat in…
tiagoevanp Mar 22, 2021
8a34fca
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tiagoevanp Mar 22, 2021
6a68c4f
[FIX] subscriptions/get team data (#21254)
pierre-lehnen-rc Mar 22, 2021
8718e7f
Fix bugs and remove logs
gabriellsh Mar 22, 2021
ce7257d
[WIP] addExistingChannel action
tiagoevanp Mar 22, 2021
6f94e35
[FIX] rooms.adminRooms to properly return teams regardless of the oth…
pierre-lehnen-rc Mar 22, 2021
4f283ca
expose teams fields to local collection
tiagoevanp Mar 22, 2021
dba98a2
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tiagoevanp Mar 22, 2021
18ccdbc
prevent redirect create channel from team
tiagoevanp Mar 22, 2021
49339f6
Add teams section and team icon logic
gabriellsh Mar 22, 2021
afea633
create delete and remove actions from kebab
tiagoevanp Mar 22, 2021
03a9a41
Add prototype of teams.listRoomsOfUser
tassoevan Mar 22, 2021
dce14da
Merge pull request #21260 from RocketChat/teams/icon-sidebar
tassoevan Mar 22, 2021
1f26553
fix input filter
tiagoevanp Mar 22, 2021
1099ea6
Merge branch 'new/teams-back' into new/teams
tassoevan Mar 22, 2021
68d67fb
[NEW] teams.leave "rooms" argument (#21262)
pierre-lehnen-rc Mar 22, 2021
054f515
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tassoevan Mar 22, 2021
f32ca47
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into te…
gabriellsh Mar 22, 2021
494b8f1
Merge branch 'new/teams-back' of github.com:RocketChat/Rocket.Chat in…
gabriellsh Mar 22, 2021
b28f183
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into te…
gabriellsh Mar 22, 2021
02f37ea
fix leave room array
gabriellsh Mar 22, 2021
5c11446
Add tabbar actions to team room
gabriellsh Mar 22, 2021
747ffec
Review
gabriellsh Mar 22, 2021
8549f48
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
gabriellsh Mar 23, 2021
816882d
Merge branch 'new/teams' of https://github.com/RocketChat/Rocket.Chat…
Mar 23, 2021
b04b511
backend integration
Mar 23, 2021
6a7606d
Review
tassoevan Mar 23, 2021
01bfc76
Merge pull request #21258 from RocketChat/teams/info
tassoevan Mar 23, 2021
c03ab14
Team autocomplete endpoint
gabriellsh Mar 23, 2021
a5d687f
Move to team done
gabriellsh Mar 23, 2021
a32ab99
Lint, codestyle
gabriellsh Mar 23, 2021
ba74e28
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tassoevan Mar 23, 2021
a07cd40
Auto-Join component
tiagoevanp Mar 23, 2021
087d3a7
New/teams add teammembers to channels (#21252)
KevLehman Mar 23, 2021
b4d5e6d
Review
tassoevan Mar 23, 2021
97fe46c
Review
tassoevan Mar 23, 2021
a063b8e
Review
tassoevan Mar 23, 2021
7048ba1
Review
tassoevan Mar 23, 2021
a8b90a9
[IMPROVE] teams.list endpoint doesn't support queries (#21259)
matheusbsilva137 Mar 23, 2021
8d718a0
hide renderTrackHorizontal on rc-scrollbars
Mar 23, 2021
3fdd1d4
Merge pull request #21021 from RocketChat/new/remove-users-modal
tassoevan Mar 23, 2021
4d680c4
Update service.ts
MartinSchoeler Mar 23, 2021
fb20f22
New/teams (#21269)
pierre-lehnen-rc Mar 23, 2021
6066f61
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tassoevan Mar 23, 2021
59034d1
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
gabriellsh Mar 23, 2021
eccbc2e
Review
tassoevan Mar 23, 2021
616a602
Review
tassoevan Mar 23, 2021
91cd9b7
add checkbox (#21209)
MartinSchoeler Mar 23, 2021
bbc2c87
Teams Directory Tab (#21194)
MartinSchoeler Mar 23, 2021
eb7c72f
Teams Header (#21214)
MartinSchoeler Mar 23, 2021
66af5df
ConvertToTeam
gabriellsh Mar 23, 2021
d49cabb
[IMPROVE] teams.members endpoint doesn't support queries (#21273)
matheusbsilva137 Mar 23, 2021
65967bb
Review
tassoevan Mar 23, 2021
f0bd5ab
Review
tassoevan Mar 23, 2021
534d840
Review
tassoevan Mar 23, 2021
2bc718d
[FIX] typescript error (#21276)
pierre-lehnen-rc Mar 23, 2021
e304ce9
Set teamMain on old room when converting it to a team (#21277)
pierre-lehnen-rc Mar 23, 2021
349f5fd
[FIX] room autocomplete also listing teams.
pierre-lehnen-rc Mar 23, 2021
fab9053
Merge remote-tracking branch 'origin/new/teams-back' into new/teams-back
pierre-lehnen-rc Mar 23, 2021
d91cac2
Merge pull request #21278 from RocketChat/new/teams
pierre-lehnen-rc Mar 23, 2021
488ef45
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tassoevan Mar 23, 2021
c87365b
Fix lint issues
tassoevan Mar 23, 2021
9e3f164
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tassoevan Mar 23, 2021
38165ca
Review
tassoevan Mar 23, 2021
33e19f2
fix seeing parent team on teamMain
MartinSchoeler Mar 23, 2021
bb59a27
Review
tassoevan Mar 23, 2021
50d848e
Review
tassoevan Mar 23, 2021
ba986fe
Fix lint
MartinSchoeler Mar 23, 2021
45c76bf
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
gabriellsh Mar 23, 2021
1176132
Merge branch 'new/teams' of github.com:RocketChat/Rocket.Chat into ne…
tassoevan Mar 23, 2021
44a6721
Merge pull request #21248 from RocketChat/new/teams-channels
tassoevan Mar 23, 2021
5a9bd73
Lint
gabriellsh Mar 23, 2021
ddedc36
Merge pull request #21064 from RocketChat/new/channel-to-team
tassoevan Mar 23, 2021
a794225
Merge remote-tracking branch 'origin/develop' into new/teams
Mar 23, 2021
4f48cbd
Merge branch 'develop' into new/teams
pierre-lehnen-rc Mar 23, 2021
0c9b6fc
Fixed teams.listRooms api tests
pierre-lehnen-rc Mar 23, 2021
985acd4
Merge branch 'develop' into new/teams
pierre-lehnen-rc Mar 23, 2021
66e719b
Merge branch 'develop' into new/teams
pierre-lehnen-rc Mar 23, 2021
1453352
Merge branch 'develop' into new/teams
pierre-lehnen-rc Mar 23, 2021
1b32d16
Fixed some typescript errors
pierre-lehnen-rc Mar 24, 2021
1df5b8c
Fixed remaining typescript errors
pierre-lehnen-rc Mar 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/api/server/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,6 @@ import './v1/custom-user-status';
import './v1/instances';
import './v1/banners';
import './v1/email-inbox';
import './v1/teams';

export { API, APIClass, defaultRateLimiterOptions } from './api';
21 changes: 16 additions & 5 deletions app/api/server/lib/rooms.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { hasPermissionAsync } from '../../../authorization/server/functions/hasPermission';
import { Rooms } from '../../../models/server/raw';
import { Subscriptions } from '../../../models';

export async function findAdminRooms({ uid, filter, types = [], pagination: { offset, count, sort } }) {
if (!await hasPermissionAsync(uid, 'view-room-administration')) {
Expand All @@ -24,24 +25,30 @@ export async function findAdminRooms({ uid, filter, types = [], pagination: { of
msgs: 1,
archived: 1,
tokenpass: 1,
teamId: 1,
teamMain: 1,
};

const name = filter && filter.trim();
const discussion = types && types.includes('discussions');
const showTypes = Array.isArray(types) ? types.filter((type) => type !== 'discussions') : [];
const includeTeams = types && types.includes('teams');
const typesToRemove = ['discussions', 'teams'];
const showTypes = Array.isArray(types) ? types.filter((type) => !typesToRemove.includes(type)) : [];
const options = {
fields,
sort: sort || { default: -1, name: 1 },
skip: offset,
limit: count,
};

let cursor = Rooms.findByNameContaining(name, discussion, options);
let cursor;

if (name && showTypes.length) {
cursor = Rooms.findByNameContainingAndTypes(name, showTypes, discussion, options);
cursor = Rooms.findByNameContainingAndTypes(name, showTypes, discussion, includeTeams, options);
} else if (showTypes.length) {
cursor = Rooms.findByTypes(showTypes, discussion, options);
cursor = Rooms.findByTypes(showTypes, discussion, includeTeams, options);
} else {
cursor = Rooms.findByNameContaining(name, discussion, includeTeams, options);
}

const total = await cursor.count();
Expand Down Expand Up @@ -93,6 +100,7 @@ export async function findChannelAndPrivateAutocomplete({ uid, selector }) {
const options = {
fields: {
_id: 1,
fname: 1,
name: 1,
t: 1,
avatarETag: 1,
Expand All @@ -102,8 +110,11 @@ export async function findChannelAndPrivateAutocomplete({ uid, selector }) {
name: 1,
},
};
const userRooms = Subscriptions.cachedFindByUserId(uid, { fields: { rid: 1 } })
.fetch()
.map((item) => item.rid);

const rooms = await Rooms.findChannelAndPrivateByNameStarting(selector.name, options).toArray();
const rooms = await Rooms.findChannelAndPrivateByNameStarting(selector.name, userRooms, options).toArray();

return {
items: rooms,
Expand Down
92 changes: 91 additions & 1 deletion app/api/server/v1/channels.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ import { Meteor } from 'meteor/meteor';
import _ from 'underscore';

import { Rooms, Subscriptions, Messages, Uploads, Integrations, Users } from '../../../models';
import { hasPermission, hasAtLeastOnePermission } from '../../../authorization/server';
import { hasPermission, hasAtLeastOnePermission, hasAllPermission } from '../../../authorization/server';
import { mountIntegrationQueryBasedOnPermissions } from '../../../integrations/server/lib/mountQueriesBasedOnPermission';
import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser';
import { API } from '../api';
import { settings } from '../../../settings';
import { Team } from '../../../../server/sdk';


// Returns the channel IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
Expand Down Expand Up @@ -184,6 +185,10 @@ function createChannelValidator(params) {
if (params.customFields && params.customFields.value && !(typeof params.customFields.value === 'object')) {
throw new Error(`Param "${ params.customFields.key }" must be an object if provided`);
}

if (params.teams.value && !Array.isArray(params.teams.value)) {
throw new Error(`Param ${ params.teams.key } must be an array`);
}
}

function createChannel(userId, params) {
Expand Down Expand Up @@ -220,6 +225,10 @@ API.v1.addRoute('channels.create', { authRequired: true }, {
value: bodyParams.members,
key: 'members',
},
teams: {
value: bodyParams.teams,
key: 'teams',
},
});
} catch (e) {
if (e.message === 'unauthorized') {
Expand All @@ -233,6 +242,21 @@ API.v1.addRoute('channels.create', { authRequired: true }, {
return error;
}

if (bodyParams.teams) {
const canSeeAllTeams = hasPermission(this.userId, 'view-all-teams');
const teams = Promise.await(Team.listByNames(bodyParams.teams, { projection: { _id: 1 } }));
const teamMembers = [];

for (const team of teams) {
const { records: members } = Promise.await(Team.members(this.userId, team._id, undefined, canSeeAllTeams, { offset: 0, count: Number.MAX_SAFE_INTEGER }));
const uids = members.map((member) => member.user.username);
teamMembers.push(...uids);
}

const membersToAdd = new Set([...teamMembers, ...bodyParams.members]);
bodyParams.members = [...membersToAdd];
}

return API.v1.success(API.channels.create.execute(userId, bodyParams));
},
});
Expand Down Expand Up @@ -472,6 +496,24 @@ API.v1.addRoute('channels.list', { authRequired: true }, {
ourQuery._id = { $in: roomIds };
}

// teams filter - I would love to have a way to apply this filter @ db level :(
const ids = Subscriptions.cachedFindByUserId(this.userId, { fields: { rid: 1 } })
.fetch()
.map((item) => item.rid);

ourQuery.$or = [{
teamId: {
$exists: false,
},
}, {
teamId: {
$exists: true,
},
_id: {
$in: ids,
},
}];

const cursor = Rooms.find(ourQuery, {
sort: sort || { name: 1 },
skip: offset,
Expand Down Expand Up @@ -1050,3 +1092,51 @@ API.v1.addRoute('channels.anonymousread', { authRequired: false }, {
});
},
});

API.v1.addRoute('channels.convertToTeam', { authRequired: true }, {
post() {
if (!hasAllPermission(this.userId, ['create-team', 'edit-room'])) {
return API.v1.unauthorized();
}

const { channelId, channelName } = this.bodyParams;

if (!channelId && !channelName) {
return API.v1.failure('The parameter "channelId" or "channelName" is required');
}

const room = findChannelByIdOrName({
params: {
roomId: channelId,
roomName: channelName,
},
userId: this.userId,
});

if (!room) {
return API.v1.failure('Channel not found');
}

const subscriptions = Subscriptions.findByRoomId(room._id, {
fields: { 'u._id': 1 },
});

const members = subscriptions.fetch().map((s) => s.u && s.u._id);

const teamData = {
team: {
name: room.name,
type: room.t === 'c' ? 0 : 1,
},
members,
room: {
name: room.name,
id: room._id,
},
};

const team = Promise.await(Team.create(this.userId, teamData));

return API.v1.success({ team });
},
});
51 changes: 50 additions & 1 deletion app/api/server/v1/groups.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ import { Match } from 'meteor/check';

import { mountIntegrationQueryBasedOnPermissions } from '../../../integrations/server/lib/mountQueriesBasedOnPermission';
import { Subscriptions, Rooms, Messages, Uploads, Integrations, Users } from '../../../models/server';
import { hasPermission, hasAtLeastOnePermission, canAccessRoom } from '../../../authorization/server';
import { hasPermission, hasAtLeastOnePermission, canAccessRoom, hasAllPermission } from '../../../authorization/server';
import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser';
import { API } from '../api';
import { Team } from '../../../../server/sdk';

// Returns the private group subscription IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
export function findPrivateGroupByIdOrName({ params, userId, checkedArchived = true }) {
Expand Down Expand Up @@ -840,3 +841,51 @@ API.v1.addRoute('groups.setEncrypted', { authRequired: true }, {
});
},
});

API.v1.addRoute('groups.convertToTeam', { authRequired: true }, {
post() {
if (!hasAllPermission(this.userId, ['create-team', 'edit-room'])) {
return API.v1.unauthorized();
}

const { roomId, roomName } = this.requestParams();

if (!roomId && !roomName) {
return API.v1.failure('The parameter "roomId" or "roomName" is required');
}

const room = findPrivateGroupByIdOrName({
params: {
roomId,
roomName,
},
userId: this.userId,
});

if (!room) {
return API.v1.failure('Private group not found');
}

const subscriptions = Subscriptions.findByRoomId(room.rid, {
fields: { 'u._id': 1 },
});

const members = subscriptions.fetch().map((s) => s.u && s.u._id);

const teamData = {
team: {
name: room.name,
type: 1,
},
members,
room: {
name: room.name,
id: room.rid,
},
};

const team = Promise.await(Team.create(this.userId, teamData));

return API.v1.success({ team });
},
});
Loading