mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 04:41:35 +00:00
Update chat space roles/permissions
This commit is contained in:
@@ -4086,7 +4086,7 @@ gam print group-members [todrive <ToDriveAttribute>*]
|
|||||||
gam create cigroup <EmailAddress>
|
gam create cigroup <EmailAddress>
|
||||||
[copyfrom <GroupItem>] <GroupAttribute>*
|
[copyfrom <GroupItem>] <GroupAttribute>*
|
||||||
[makeowner] [alias|aliases <CIGroupAliasList>]
|
[makeowner] [alias|aliases <CIGroupAliasList>]
|
||||||
[security|makesecuritygroup]
|
[security|makesecuritygroup] [locked]
|
||||||
[dynamic <QueryDynamicGroup>]
|
[dynamic <QueryDynamicGroup>]
|
||||||
gam update cigroup <GroupEntity> [copyfrom <GroupItem>] <GroupAttribute>
|
gam update cigroup <GroupEntity> [copyfrom <GroupItem>] <GroupAttribute>
|
||||||
[security|makesecuritygroup|
|
[security|makesecuritygroup|
|
||||||
@@ -6428,13 +6428,13 @@ gam <UserTypeEntity> update chatspace <ChatSpace>
|
|||||||
[type space]
|
[type space]
|
||||||
[description <String>] [guidelines|rules <String>]
|
[description <String>] [guidelines|rules <String>]
|
||||||
[history <Boolean>])
|
[history <Boolean>])
|
||||||
[managemembersandgroups managers|members]
|
[managemembersandgroups owners|managers|members]
|
||||||
[modifyspacedetails managers|members]
|
[modifyspacedetails owners|managers|members]
|
||||||
[togglehistory managers|members]
|
[togglehistory owners|managers|members]
|
||||||
[useatmentionall managers|members]
|
[useatmentionall owners|managers|members]
|
||||||
[manageapps managers|members]
|
[manageapps owners|managers|members]
|
||||||
[managewebhooks managers|members]
|
[managewebhooks owners|managers|members]
|
||||||
[replymessages managers|members]
|
[replymessages owners|managers|members]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
gam <UserTypeEntity> delete chatspace <ChatSpace>
|
gam <UserTypeEntity> delete chatspace <ChatSpace>
|
||||||
|
|
||||||
@@ -6495,28 +6495,28 @@ gam <UserItem> print chatspaces asadmin [todrive <ToDriveAttribute>*]
|
|||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
|
|
||||||
gam <UserTypeEntity> create chatmember <ChatSpace>
|
gam <UserTypeEntity> create chatmember <ChatSpace>
|
||||||
[type human|bot] [role member|manager]
|
[type human|bot] [role member|manager|owner]
|
||||||
(user <UserItem>)* (members <UserTypeEntity>)*
|
(user <UserItem>)* (members <UserTypeEntity>)*
|
||||||
(group <GroupItem>)* (groups <GroupEntity>)*
|
(group <GroupItem>)* (groups <GroupEntity>)*
|
||||||
[formatjson|returnidonly]
|
[formatjson|returnidonly]
|
||||||
gam <UserTypeEntity> delete chatmember <ChatSpace>
|
gam <UserTypeEntity> delete chatmember <ChatSpace>
|
||||||
((user <UserItem>)|(members <UserTypeEntity>)|
|
((user <UserItem>)|(members <UserTypeEntity>)|
|
||||||
(group <GroupItem>)|(groups <GroupEntity>))+
|
(group <GroupItem>)|(groups <GroupEntity>))+
|
||||||
gam <UserTypeEntity> remove chatmember members <ChatMemberList>
|
`gam <UserTypeEntity> remove chatmember members <ChatMemberList>
|
||||||
gam <UserTypeEntity> update chatmember <ChatSpace>
|
gam <UserTypeEntity> update chatmember <ChatSpace>
|
||||||
role member|manager
|
role member|manager|owner
|
||||||
((user <UserItem>)|(members <UserTypeEntity>))+
|
((user <UserItem>)|(members <UserTypeEntity>))+
|
||||||
gam <UserTypeEntity> modify chatmember
|
gam <UserTypeEntity> modify chatmember
|
||||||
role member|manager
|
role member|manager|owner
|
||||||
members <ChatMemberList>
|
members <ChatMemberList>
|
||||||
gam <UserTypeEntity> sync chatmembers <ChatSpace>
|
gam <UserTypeEntity> sync chatmembers <ChatSpace>
|
||||||
[role member|manager] [type human|bot]
|
[role member|manager|owner] [type human|bot]
|
||||||
[addonly|removeonly]
|
[addonly|removeonly]
|
||||||
[preview [actioncsv]]
|
[preview [actioncsv]]
|
||||||
(users <UserTypeEntity>)* (groups <GroupEntity>)*
|
(users <UserTypeEntity>)* (groups <GroupEntity>)*
|
||||||
|
|
||||||
gam <UserItem> create chatmember asadmin <ChatSpace>
|
gam <UserItem> create chatmember asadmin <ChatSpace>
|
||||||
[type human|bot] [role member|manager]
|
[type human|bot] [role member|manager|owner]
|
||||||
(user <UserItem>)* (members <UserTypeEntity>)*
|
(user <UserItem>)* (members <UserTypeEntity>)*
|
||||||
(group <GroupItem>)* (groups <GroupEntity>)*
|
(group <GroupItem>)* (groups <GroupEntity>)*
|
||||||
[formatjson|returnidonly]
|
[formatjson|returnidonly]
|
||||||
@@ -6525,13 +6525,13 @@ gam <UserItem> delete chatmember asadmin <ChatSpace>
|
|||||||
((user <UserItem>)|(members <UserTypeEntity>)|
|
((user <UserItem>)|(members <UserTypeEntity>)|
|
||||||
(group <GroupItem>)|(groups <GroupEntity>))+
|
(group <GroupItem>)|(groups <GroupEntity>))+
|
||||||
gam <UserItem> update chatmember asadmin <ChatSpace>
|
gam <UserItem> update chatmember asadmin <ChatSpace>
|
||||||
role member|manager
|
role member|manager|owner
|
||||||
((user <UserItem>)|(members <UserTypeEntity>))+
|
((user <UserItem>)|(members <UserTypeEntity>))+
|
||||||
gam <UserItem> modify chatmember asadmin
|
gam <UserItem> modify chatmember asadmin
|
||||||
role member|manager
|
role member|manager|owner
|
||||||
members <ChatMemberList>
|
members <ChatMemberList>
|
||||||
gam <UserItem> sync chatmembers asadmin <ChatSpace>
|
gam <UserItem> sync chatmembers asadmin <ChatSpace>
|
||||||
[role member|manager] [type human|bot]
|
[role member|manager|owner`] [type human|bot]
|
||||||
[addonly|removeonly]
|
[addonly|removeonly]
|
||||||
[preview [actioncsv]]
|
[preview [actioncsv]]
|
||||||
(users <UserTypeEntity>)* (groups <GroupEntity>)*
|
(users <UserTypeEntity>)* (groups <GroupEntity>)*
|
||||||
|
|||||||
@@ -1,3 +1,24 @@
|
|||||||
|
7.27.03
|
||||||
|
|
||||||
|
Updated `gam <UserTypeEntity> create|update|sync chatmember` role specification to `role member|manager|owner`.
|
||||||
|
This is the mapping between the Chat UI and Chat API; GAM uses the Chat UI role names.
|
||||||
|
```
|
||||||
|
UI: Member, API: ROLE_MEMBER
|
||||||
|
UI: Manager, API: ROLE_ASSISTANT_MANAGER
|
||||||
|
UI: Owner, API: ROLE_MANAGER
|
||||||
|
```
|
||||||
|
|
||||||
|
Updated `gam <UserTypeEntity> update chatspace` options for permission settings.
|
||||||
|
```
|
||||||
|
[managemembersandgroups owners|managers|members]
|
||||||
|
[modifyspacedetails owners|managers|members]
|
||||||
|
[togglehistory owners|managers|members]
|
||||||
|
[useatmentionall owners|managers|members]
|
||||||
|
[manageapps owners|managers|members]
|
||||||
|
[managewebhooks owners|managers|members]
|
||||||
|
[replymessages owners|managers|members]
|
||||||
|
```
|
||||||
|
|
||||||
7.27.02
|
7.27.02
|
||||||
|
|
||||||
Added option `clearattachments <String>` to `gam [<UserTypeMessage>] update chatmessage`
|
Added option `clearattachments <String>` to `gam [<UserTypeMessage>] update chatmessage`
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
||||||
__version__ = '7.27.02'
|
__version__ = '7.27.03'
|
||||||
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
||||||
|
|
||||||
#pylint: disable=wrong-import-position
|
#pylint: disable=wrong-import-position
|
||||||
@@ -26776,14 +26776,14 @@ def getChatSpaceParameters(myarg, body, typeChoicesMap, updateMask):
|
|||||||
|
|
||||||
CHAT_MEMBER_ROLE_MAP = {
|
CHAT_MEMBER_ROLE_MAP = {
|
||||||
'member': 'ROLE_MEMBER',
|
'member': 'ROLE_MEMBER',
|
||||||
'manager': 'ROLE_MANAGER',
|
'manager': 'ROLE_ASSISTANT_MANAGER',
|
||||||
'owner': 'ROLE_OWNER',
|
'owner': 'ROLE_MANAGER',
|
||||||
}
|
}
|
||||||
|
|
||||||
CHAT_ROLE_ENTITY_TYPE_MAP = {
|
CHAT_ROLE_ENTITY_TYPE_MAP = {
|
||||||
'ROLE_MEMBER': Ent.CHAT_MEMBER_USER,
|
'ROLE_MEMBER': Ent.CHAT_MEMBER_USER,
|
||||||
'ROLE_MANAGER': Ent.CHAT_MANAGER_USER,
|
'ROLE_ASSISTANT_MANAGER': Ent.CHAT_MANAGER_USER,
|
||||||
'ROLE_OWNER': Ent.CHAT_OWNER_USER,
|
'ROLE_MANAGER': Ent.CHAT_OWNER_USER,
|
||||||
}
|
}
|
||||||
|
|
||||||
CHAT_MEMBER_TYPE_MAP = {
|
CHAT_MEMBER_TYPE_MAP = {
|
||||||
@@ -26917,7 +26917,8 @@ CHAT_UPDATE_SPACE_TYPE_MAP = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
CHAT_SPACE_ROLE_PERMISSIONS_MAP = {
|
CHAT_SPACE_ROLE_PERMISSIONS_MAP = {
|
||||||
'managers': 'managersAllowed',
|
'owners': 'managersAllowed',
|
||||||
|
'managers': 'assistantManagersAllowed',
|
||||||
'members': 'membersAllowed',
|
'members': 'membersAllowed',
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26937,13 +26938,13 @@ CHAT_UPDATE_SPACE_PERMISSIONS_MAP = {
|
|||||||
# [type space]
|
# [type space]
|
||||||
# [description <String>] [guidelines|rules <String>]
|
# [description <String>] [guidelines|rules <String>]
|
||||||
# [history <Boolean>])
|
# [history <Boolean>])
|
||||||
# managemembersandgroups managers|members
|
# [managemembersandgroups owners|managers|members]
|
||||||
# modifyspacedetails managers|members
|
# [modifyspacedetails owners|managers|members]
|
||||||
# togglehistory managers|members
|
# [togglehistory owners|managers|members]
|
||||||
# useatmentionall managers|members
|
# [useatmentionall owners|managers|members]
|
||||||
# manageapps managers|members
|
# [manageapps owners|managers|members]
|
||||||
# managewebhooks managers|members
|
# [managewebhooks owners|managers|members]
|
||||||
# replymessages managers|members
|
2# [replymessages owners|managers|members]
|
||||||
# [formatjson]
|
# [formatjson]
|
||||||
def updateChatSpace(users):
|
def updateChatSpace(users):
|
||||||
FJQC = FormatJSONQuoteChar()
|
FJQC = FormatJSONQuoteChar()
|
||||||
@@ -26961,9 +26962,13 @@ def updateChatSpace(users):
|
|||||||
body.setdefault('permissionSettings', {})
|
body.setdefault('permissionSettings', {})
|
||||||
permissionSetting = CHAT_UPDATE_SPACE_PERMISSIONS_MAP[myarg]
|
permissionSetting = CHAT_UPDATE_SPACE_PERMISSIONS_MAP[myarg]
|
||||||
role = getChoice(CHAT_SPACE_ROLE_PERMISSIONS_MAP, mapChoice=True)
|
role = getChoice(CHAT_SPACE_ROLE_PERMISSIONS_MAP, mapChoice=True)
|
||||||
body['permissionSettings'][permissionSetting] = {'managersAllowed': True}
|
body['permissionSettings'][permissionSetting] = {}
|
||||||
|
body['permissionSettings'][permissionSetting][role] = True
|
||||||
if role == 'membersAllowed':
|
if role == 'membersAllowed':
|
||||||
body['permissionSettings'][permissionSetting].update({'membersAllowed': True})
|
body['permissionSettings'][permissionSetting]['assistantManagersAllowed'] = True
|
||||||
|
body['permissionSettings'][permissionSetting]['managersAllowed'] = True
|
||||||
|
elif role == 'assistantManagersAllowed':
|
||||||
|
body['permissionSettings'][permissionSetting]['managersAllowed'] = True
|
||||||
updateMask.add(f'permissionSettings.{permissionSetting}')
|
updateMask.add(f'permissionSettings.{permissionSetting}')
|
||||||
else:
|
else:
|
||||||
FJQC.GetFormatJSON(myarg)
|
FJQC.GetFormatJSON(myarg)
|
||||||
@@ -27337,12 +27342,12 @@ def getGroupMemberID(cd, group, groupList):
|
|||||||
groupList.append(convertEmailAddressToUID(group, cd, emailType='group'))
|
groupList.append(convertEmailAddressToUID(group, cd, emailType='group'))
|
||||||
|
|
||||||
# gam <UserTypeEntity> create chatmember <ChatSpace>
|
# gam <UserTypeEntity> create chatmember <ChatSpace>
|
||||||
# [type human|bot] [role member|manager]
|
# [type human|bot] [role member|manager|owner]
|
||||||
# (user <UserItem>)* (members <UserTypeEntity>)*
|
# (user <UserItem>)* (members <UserTypeEntity>)*
|
||||||
# (group <GroupItem>)* (groups <GroupEntity>)*
|
# (group <GroupItem>)* (groups <GroupEntity>)*
|
||||||
# [formatjson|returnidonly]
|
# [formatjson|returnidonly]
|
||||||
# gam <UserItem> create chatmember asadmin <ChatSpace>
|
# gam <UserItem> create chatmember asadmin <ChatSpace>
|
||||||
# [type human|bot] [role member|manager]
|
# [type human|bot] [role member|manager|owner]
|
||||||
# (user <UserItem>)* (members <UserTypeEntity>)*
|
# (user <UserItem>)* (members <UserTypeEntity>)*
|
||||||
# (group <GroupItem>)* (groups <GroupEntity>)*
|
# (group <GroupItem>)* (groups <GroupEntity>)*
|
||||||
# [formatjson|returnidonly]
|
# [formatjson|returnidonly]
|
||||||
@@ -27471,16 +27476,16 @@ def _deleteChatMembers(chat, kvList, jcount, memberNames, i, count, kwargsUAA):
|
|||||||
# gam <UserItem> remove chatmember asadmin
|
# gam <UserItem> remove chatmember asadmin
|
||||||
# members <ChatMemberList>
|
# members <ChatMemberList>
|
||||||
# gam <UserTypeEntity> update chatmember <ChatSpace>
|
# gam <UserTypeEntity> update chatmember <ChatSpace>
|
||||||
# role member|manager
|
# role member|manager|owner
|
||||||
# ((user <UserItem>)|(members <UserTypeEntity>))+
|
# ((user <UserItem>)|(members <UserTypeEntity>))+
|
||||||
# gam <UserTypeEntity> modify chatmember
|
# gam <UserTypeEntity> modify chatmember
|
||||||
# role member|manager
|
# role member|manager|owner
|
||||||
# members <ChatMemberList>
|
# members <ChatMemberList>
|
||||||
# gam <UserItem> update chatmember asadmin<ChatSpace>
|
# gam <UserItem> update chatmember asadmin<ChatSpace>
|
||||||
# role member|manager
|
# role member|manager|owner
|
||||||
# ((user <UserItem>)|(members <UserTypeEntity>))+
|
# ((user <UserItem>)|(members <UserTypeEntity>))+
|
||||||
# gam <UserItem> modify chatmember asadmin
|
# gam <UserItem> modify chatmember asadmin
|
||||||
# role member|manager
|
# role member|manager|owner
|
||||||
# members <ChatMemberList>
|
# members <ChatMemberList>
|
||||||
def deleteUpdateChatMember(users):
|
def deleteUpdateChatMember(users):
|
||||||
cd = buildGAPIObject(API.DIRECTORY)
|
cd = buildGAPIObject(API.DIRECTORY)
|
||||||
@@ -27574,7 +27579,7 @@ def deleteUpdateChatMember(users):
|
|||||||
CHAT_SYNC_PREVIEW_TITLES = ['space', 'member', 'role', 'action', 'message']
|
CHAT_SYNC_PREVIEW_TITLES = ['space', 'member', 'role', 'action', 'message']
|
||||||
|
|
||||||
# gam <UserTypeEntity> sync chatmembers [asadmin] <ChatSpace>
|
# gam <UserTypeEntity> sync chatmembers [asadmin] <ChatSpace>
|
||||||
# [role member|manager] [type human|bot]
|
# [role member|manager|owner] [type human|bot]
|
||||||
# [addonly|removeonly]
|
# [addonly|removeonly]
|
||||||
# [preview [actioncsv]]
|
# [preview [actioncsv]]
|
||||||
# (users <UserTypeEntity>)* (groups <GroupEntity>)*
|
# (users <UserTypeEntity>)* (groups <GroupEntity>)*
|
||||||
|
|||||||
@@ -516,7 +516,7 @@ To set up Google Chat for your current project, please go to:
|
|||||||
|
|
||||||
and follow the instructions at:
|
and follow the instructions at:
|
||||||
|
|
||||||
https://github.com/GAM-team/GAM/wiki/Chat-Bot#set-up-a-chat-bot
|
https://github.com/GAM-team/GAM/wiki/Chat-Bot-Setup-Use#set-up-a-chat-bot
|
||||||
|
|
||||||
You'll use projects/{1}/topics/no-topic in Connection settings Cloud Pub/Sub Topic Name
|
You'll use projects/{1}/topics/no-topic in Connection settings Cloud Pub/Sub Topic Name
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user