mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 04:41:35 +00:00
Chat Admin APIs DevPreview
This commit is contained in:
@@ -5973,6 +5973,7 @@ gam <UserTypeEntity> update chatspace <ChatSpace>
|
|||||||
[history <Boolean>])
|
[history <Boolean>])
|
||||||
[formatjson]
|
[formatjson]
|
||||||
gam <UserTypeEntity> delete chatspace <ChatSpace>
|
gam <UserTypeEntity> delete chatspace <ChatSpace>
|
||||||
|
[adminaccess|asadmin]
|
||||||
|
|
||||||
gam <UserTypeEntity> info chatspace <ChatSpace>
|
gam <UserTypeEntity> info chatspace <ChatSpace>
|
||||||
[formatjson]
|
[formatjson]
|
||||||
@@ -5984,16 +5985,20 @@ gam <UserTypeEntity> show chatspaces
|
|||||||
gam <UserTypeEntity> print chatspaces [todrive <ToDriveAttribute>*]
|
gam <UserTypeEntity> print chatspaces [todrive <ToDriveAttribute>*]
|
||||||
[types <ChatSpaceTypeList>]
|
[types <ChatSpaceTypeList>]
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
|
[adminaccess|asadmin]
|
||||||
|
|
||||||
gam <UserTypeEntity> create chatmember <ChatSpace>
|
gam <UserTypeEntity> create chatmember <ChatSpace>
|
||||||
[type human|bot] [role member|manager]
|
[type human|bot] [role member|manager]
|
||||||
(user <UserItem>)* (members <UserTypeEntity>)*
|
(user <UserItem>)* (members <UserTypeEntity>)*
|
||||||
(group <GroupItem>)* (groups <GroupEntity>)*
|
(group <GroupItem>)* (groups <GroupEntity>)*
|
||||||
[formatjson|returnidonly]
|
[formatjson|returnidonly]
|
||||||
|
[adminaccess|asadmin]
|
||||||
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>))+
|
||||||
|
[adminaccess|asadmin]
|
||||||
gam <UserTypeEntity> remove chatmember members <ChatMemberList>
|
gam <UserTypeEntity> remove chatmember members <ChatMemberList>
|
||||||
|
[adminaccess|asadmin]
|
||||||
gam <UserTypeEntity> update chatmember <ChatSpace>
|
gam <UserTypeEntity> update chatmember <ChatSpace>
|
||||||
role member|manager
|
role member|manager
|
||||||
((user <UserItem>)|(members <UserTypeEntity>))+
|
((user <UserItem>)|(members <UserTypeEntity>))+
|
||||||
@@ -6006,9 +6011,11 @@ gam <UserTypeEntity> info chatmember members <ChatMemberList>
|
|||||||
gam <UserTypeEntity> show chatmembers <ChatSpace>
|
gam <UserTypeEntity> show chatmembers <ChatSpace>
|
||||||
[showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
[showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
|
[adminaccess|asadmin]
|
||||||
gam <UserTypeEntity> print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
|
gam <UserTypeEntity> print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
|
||||||
[showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
[showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
|
[adminaccess|asadmin]
|
||||||
|
|
||||||
gam <UserTypeEntity> create chatmessage <ChatSpace>
|
gam <UserTypeEntity> create chatmessage <ChatSpace>
|
||||||
<ChatContent>
|
<ChatContent>
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ datas = []
|
|||||||
for pkg in GAM_VER_LIBS:
|
for pkg in GAM_VER_LIBS:
|
||||||
datas += copy_metadata(pkg, recursive=True)
|
datas += copy_metadata(pkg, recursive=True)
|
||||||
datas += [('cbcm-v1.1beta1.json', '.')]
|
datas += [('cbcm-v1.1beta1.json', '.')]
|
||||||
|
datas += [('chat-v1.json', '.')]
|
||||||
datas += [('contactdelegation-v1.json', '.')]
|
datas += [('contactdelegation-v1.json', '.')]
|
||||||
datas += [('admin-directory_v1.1beta1.json', '.')]
|
datas += [('admin-directory_v1.1beta1.json', '.')]
|
||||||
datas += [('cacerts.pem', '.')]
|
datas += [('cacerts.pem', '.')]
|
||||||
|
|||||||
@@ -25411,12 +25411,18 @@ def updateChatSpace(users):
|
|||||||
exitIfChatNotConfigured(chat, kvList, str(e), i, count)
|
exitIfChatNotConfigured(chat, kvList, str(e), i, count)
|
||||||
|
|
||||||
# gam <UserTypeEntity> delete chatspace <ChatSpace>
|
# gam <UserTypeEntity> delete chatspace <ChatSpace>
|
||||||
|
# [adminaccess|asadmin]
|
||||||
def deleteChatSpace(users):
|
def deleteChatSpace(users):
|
||||||
name = None
|
name = None
|
||||||
|
useAdminAccess = None
|
||||||
|
api = API.CHAT_SPACES_DELETE
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if myarg == 'space' or myarg.startswith('spaces/') or myarg.startswith('space/'):
|
if myarg == 'space' or myarg.startswith('spaces/') or myarg.startswith('space/'):
|
||||||
name = getChatSpace(myarg)
|
name = getChatSpace(myarg)
|
||||||
|
elif myarg in ADMIN_ACCESS_OPTIONS:
|
||||||
|
useAdminAccess = True
|
||||||
|
api = API.CHAT_ADMIN_DELETE
|
||||||
else:
|
else:
|
||||||
unknownArgumentExit()
|
unknownArgumentExit()
|
||||||
if not name:
|
if not name:
|
||||||
@@ -25424,11 +25430,12 @@ def deleteChatSpace(users):
|
|||||||
i, count, users = getEntityArgument(users)
|
i, count, users = getEntityArgument(users)
|
||||||
for user in users:
|
for user in users:
|
||||||
i += 1
|
i += 1
|
||||||
user, chat, kvList = buildChatServiceObject(API.CHAT_SPACES_DELETE, user, i, count, [Ent.CHAT_SPACE, name])
|
user, chat, kvList = buildChatServiceObject(api, user, i, count, [Ent.CHAT_SPACE, name])
|
||||||
if not chat:
|
if not chat:
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
callGAPI(chat.spaces(), 'delete',
|
callGAPI(chat.spaces(), 'delete',
|
||||||
|
useAdminAccess=useAdminAccess,
|
||||||
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
|
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
|
||||||
name=name)
|
name=name)
|
||||||
entityActionPerformed(kvList, i, count)
|
entityActionPerformed(kvList, i, count)
|
||||||
@@ -25511,14 +25518,14 @@ def printShowChatSpaces(users):
|
|||||||
OBY = OrderBy(CHAT_SPACES_ADMIN_ORDERBY_CHOICE_MAP)
|
OBY = OrderBy(CHAT_SPACES_ADMIN_ORDERBY_CHOICE_MAP)
|
||||||
pfilter = ''
|
pfilter = ''
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
if not useAdminAccess:
|
if useAdminAccess:
|
||||||
api = API.CHAT_SPACES
|
|
||||||
function = 'list'
|
|
||||||
else:
|
|
||||||
api = API.CHAT_SPACES_ADMIN
|
api = API.CHAT_SPACES_ADMIN
|
||||||
function = 'search'
|
function = 'search'
|
||||||
kwargs['useAdminAccess'] = True
|
kwargs['useAdminAccess'] = True
|
||||||
kwargs['query'] = 'customer = "customers/my_customer" AND spaceType = "SPACE"'
|
kwargs['query'] = 'customer = "customers/my_customer" AND spaceType = "SPACE"'
|
||||||
|
else:
|
||||||
|
api = API.CHAT_SPACES
|
||||||
|
function = 'list'
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if csvPF and myarg == 'todrive':
|
if csvPF and myarg == 'todrive':
|
||||||
@@ -25593,7 +25600,7 @@ def _getChatMemberEmail(cd, member):
|
|||||||
# [type human|bot] [role member|manager]
|
# [type human|bot] [role member|manager]
|
||||||
# (user <UserItem>)* (members <UserTypeEntity>)*
|
# (user <UserItem>)* (members <UserTypeEntity>)*
|
||||||
# (group <GroupItem>)* (groups <GroupEntity>)*
|
# (group <GroupItem>)* (groups <GroupEntity>)*
|
||||||
# [formatjson|returnidonly]
|
# [adminaccess|asadmin] [formatjson|returnidonly]
|
||||||
def createChatMember(users):
|
def createChatMember(users):
|
||||||
def addMembers(members, field, entityType, i, count):
|
def addMembers(members, field, entityType, i, count):
|
||||||
jcount = len(members)
|
jcount = len(members)
|
||||||
@@ -25608,11 +25615,13 @@ def createChatMember(users):
|
|||||||
kvList[-1] = body[field]['name']
|
kvList[-1] = body[field]['name']
|
||||||
try:
|
try:
|
||||||
member = callGAPI(chat.spaces().members(), 'create',
|
member = callGAPI(chat.spaces().members(), 'create',
|
||||||
|
useAdminAccess=useAdminAccess,
|
||||||
bailOnInternalError=True,
|
bailOnInternalError=True,
|
||||||
throwReasons=[GAPI.ALREADY_EXISTS, GAPI.NOT_FOUND, GAPI.INVALID, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.INTERNAL_ERROR],
|
throwReasons=[GAPI.ALREADY_EXISTS, GAPI.NOT_FOUND, GAPI.INVALID, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.INTERNAL_ERROR],
|
||||||
parent=parent, body=body)
|
parent=parent, body=body)
|
||||||
if role != 'ROLE_MEMBER' and entityType == Ent.CHAT_MANAGER_USER:
|
if role != 'ROLE_MEMBER' and entityType == Ent.CHAT_MANAGER_USER:
|
||||||
member = callGAPI(chat.spaces().members(), 'patch',
|
member = callGAPI(chat.spaces().members(), 'patch',
|
||||||
|
useAdminAccess=useAdminAccess,
|
||||||
bailOnInternalError=True,
|
bailOnInternalError=True,
|
||||||
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.INTERNAL_ERROR],
|
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.INTERNAL_ERROR],
|
||||||
name=member['name'], updateMask='role', body={'role': role})
|
name=member['name'], updateMask='role', body={'role': role})
|
||||||
@@ -25638,6 +25647,8 @@ def createChatMember(users):
|
|||||||
userList = []
|
userList = []
|
||||||
groupList = []
|
groupList = []
|
||||||
returnIdOnly = False
|
returnIdOnly = False
|
||||||
|
useAdminAccess = None
|
||||||
|
api = API.CHAT_MEMBERSHIPS
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if myarg == 'space' or myarg.startswith('spaces/') or myarg.startswith('space/'):
|
if myarg == 'space' or myarg.startswith('spaces/') or myarg.startswith('space/'):
|
||||||
@@ -25657,6 +25668,9 @@ def createChatMember(users):
|
|||||||
mtype = getChoice(CHAT_MEMBER_TYPE_MAP, mapChoice=True)
|
mtype = getChoice(CHAT_MEMBER_TYPE_MAP, mapChoice=True)
|
||||||
elif myarg == 'returnidonly':
|
elif myarg == 'returnidonly':
|
||||||
returnIdOnly = True
|
returnIdOnly = True
|
||||||
|
elif myarg in ADMIN_ACCESS_OPTIONS:
|
||||||
|
useAdminAccess = True
|
||||||
|
api = API.CHAT_MEMBERSHIPS_ADMIN
|
||||||
else:
|
else:
|
||||||
FJQC.GetFormatJSON(myarg)
|
FJQC.GetFormatJSON(myarg)
|
||||||
if not parent:
|
if not parent:
|
||||||
@@ -25675,7 +25689,7 @@ def createChatMember(users):
|
|||||||
i, count, users = getEntityArgument(users)
|
i, count, users = getEntityArgument(users)
|
||||||
for user in users:
|
for user in users:
|
||||||
i += 1
|
i += 1
|
||||||
user, chat, kvList = buildChatServiceObject(API.CHAT_MEMBERSHIPS, user, i, count, [Ent.CHAT_SPACE, parent])
|
user, chat, kvList = buildChatServiceObject(api, user, i, count, [Ent.CHAT_SPACE, parent])
|
||||||
if not chat:
|
if not chat:
|
||||||
continue
|
continue
|
||||||
Ind.Increment()
|
Ind.Increment()
|
||||||
@@ -25685,13 +25699,14 @@ def createChatMember(users):
|
|||||||
addMembers(groupMembers, 'groupMember', Ent.CHAT_MEMBER_GROUP, i, count)
|
addMembers(groupMembers, 'groupMember', Ent.CHAT_MEMBER_GROUP, i, count)
|
||||||
Ind.Decrement()
|
Ind.Decrement()
|
||||||
|
|
||||||
def _deleteChatMembers(chat, kvList, jcount, memberNames, i, count):
|
def _deleteChatMembers(chat, kvList, jcount, memberNames, i, count, useAdminAccess=None):
|
||||||
j = 0
|
j = 0
|
||||||
for name in memberNames:
|
for name in memberNames:
|
||||||
j += 1
|
j += 1
|
||||||
kvList[-1] = name
|
kvList[-1] = name
|
||||||
try:
|
try:
|
||||||
callGAPI(chat.spaces().members(), 'delete',
|
callGAPI(chat.spaces().members(), 'delete',
|
||||||
|
useAdminAccess=useAdminAccess,
|
||||||
bailOnInternalError=True,
|
bailOnInternalError=True,
|
||||||
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.INTERNAL_ERROR],
|
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.INTERNAL_ERROR],
|
||||||
name=name)
|
name=name)
|
||||||
@@ -25704,6 +25719,7 @@ def _deleteChatMembers(chat, kvList, jcount, memberNames, i, count):
|
|||||||
# 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>))+
|
||||||
|
# [adminaccess|asadmin]
|
||||||
# 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
|
||||||
@@ -25720,6 +25736,8 @@ def deleteUpdateChatMember(users):
|
|||||||
body = {}
|
body = {}
|
||||||
memberNames = []
|
memberNames = []
|
||||||
userGroupList = []
|
userGroupList = []
|
||||||
|
useAdminAccess = None
|
||||||
|
api = API.CHAT_MEMBERSHIPS
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if action in {Act.UPDATE, Act.MODIFY} and myarg == 'role':
|
if action in {Act.UPDATE, Act.MODIFY} and myarg == 'role':
|
||||||
@@ -25742,6 +25760,9 @@ def deleteUpdateChatMember(users):
|
|||||||
userGroupList.append(getEmailAddress(returnUIDprefix='uid:'))
|
userGroupList.append(getEmailAddress(returnUIDprefix='uid:'))
|
||||||
elif deleteMode and myarg == 'groups':
|
elif deleteMode and myarg == 'groups':
|
||||||
userGroupList.extend(getEntityList(Cmd.OB_GROUP_ENTITY))
|
userGroupList.extend(getEntityList(Cmd.OB_GROUP_ENTITY))
|
||||||
|
elif myarg in ADMIN_ACCESS_OPTIONS:
|
||||||
|
useAdminAccess = True
|
||||||
|
api = API.CHAT_MEMBERSHIPS_ADMIN
|
||||||
else:
|
else:
|
||||||
unknownArgumentExit()
|
unknownArgumentExit()
|
||||||
if not deleteMode and 'role' not in body:
|
if not deleteMode and 'role' not in body:
|
||||||
@@ -25760,7 +25781,7 @@ def deleteUpdateChatMember(users):
|
|||||||
i, count, users = getEntityArgument(users)
|
i, count, users = getEntityArgument(users)
|
||||||
for user in users:
|
for user in users:
|
||||||
i += 1
|
i += 1
|
||||||
user, chat, kvList = buildChatServiceObject(API.CHAT_MEMBERSHIPS, user, i, count, [Ent.CHAT_SPACE, parent] if parent is not None else None)
|
user, chat, kvList = buildChatServiceObject(api, user, i, count, [Ent.CHAT_SPACE, parent] if parent is not None else None)
|
||||||
if not chat:
|
if not chat:
|
||||||
continue
|
continue
|
||||||
jcount = len(memberNames)
|
jcount = len(memberNames)
|
||||||
@@ -25768,7 +25789,7 @@ def deleteUpdateChatMember(users):
|
|||||||
kvList.extend([Ent.CHAT_MEMBER, ''])
|
kvList.extend([Ent.CHAT_MEMBER, ''])
|
||||||
Ind.Increment()
|
Ind.Increment()
|
||||||
if deleteMode:
|
if deleteMode:
|
||||||
_deleteChatMembers(chat, kvList, jcount, memberNames, i, count)
|
_deleteChatMembers(chat, kvList, jcount, memberNames, i, count, useAdminAccess=useAdminAccess)
|
||||||
else:
|
else:
|
||||||
j = 0
|
j = 0
|
||||||
for name in memberNames:
|
for name in memberNames:
|
||||||
@@ -25992,16 +26013,18 @@ def doInfoChatMember():
|
|||||||
|
|
||||||
# gam [<UserTypeEntity>] show chatmembers <ChatSpace>
|
# gam [<UserTypeEntity>] show chatmembers <ChatSpace>
|
||||||
# [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
# [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
||||||
# [formatjson]
|
# [formatjson] [adminaccess|asadmin]
|
||||||
# gam [<UserTypeEntity>] print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
|
# gam [<UserTypeEntity>] print chatmembers [todrive <ToDriveAttribute>*] <ChatSpace>
|
||||||
# [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
# [showinvited [<Boolean>]] [showgroups [<Boolean>]] [filter <String>]
|
||||||
# [formatjson [quotechar <Character>]]
|
# [formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||||
def printShowChatMembers(users):
|
def printShowChatMembers(users):
|
||||||
cd = buildGAPIObject(API.DIRECTORY)
|
cd = buildGAPIObject(API.DIRECTORY)
|
||||||
csvPF = CSVPrintFile(['User', 'space.name', 'name'] if not isinstance(users, list) else ['space.name', 'name']) if Act.csvFormat() else None
|
csvPF = CSVPrintFile(['User', 'space.name', 'name'] if not isinstance(users, list) else ['space.name', 'name']) if Act.csvFormat() else None
|
||||||
FJQC = FormatJSONQuoteChar(csvPF)
|
FJQC = FormatJSONQuoteChar(csvPF)
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
parent = None
|
parent = None
|
||||||
|
api = API.CHAT_MEMBERSHIPS
|
||||||
|
useAdminAccess = None
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
myarg = getArgument()
|
myarg = getArgument()
|
||||||
if csvPF and myarg == 'todrive':
|
if csvPF and myarg == 'todrive':
|
||||||
@@ -26014,21 +26037,29 @@ def printShowChatMembers(users):
|
|||||||
kwargs['showGroups'] = getBoolean()
|
kwargs['showGroups'] = getBoolean()
|
||||||
elif myarg =='filter':
|
elif myarg =='filter':
|
||||||
kwargs['filter'] = getString(Cmd.OB_STRING)
|
kwargs['filter'] = getString(Cmd.OB_STRING)
|
||||||
|
elif myarg in ADMIN_ACCESS_OPTIONS:
|
||||||
|
useAdminAccess = True
|
||||||
|
api = API.CHAT_MEMBERSHIPS_ADMIN
|
||||||
else:
|
else:
|
||||||
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
||||||
if not parent:
|
if not parent:
|
||||||
missingArgumentExit('space')
|
missingArgumentExit('space')
|
||||||
|
if useAdminAccess and 'filter' in kwargs:
|
||||||
|
invalidArgumentExit('asadmin not compatible with filter')
|
||||||
|
elif useAdminAccess:
|
||||||
|
kwargs['filter'] = 'member.type != "BOT'
|
||||||
qfilter = f'{Ent.Singular(Ent.CHAT_SPACE)}: {parent}'
|
qfilter = f'{Ent.Singular(Ent.CHAT_SPACE)}: {parent}'
|
||||||
if 'filter' in kwargs:
|
if 'filter' in kwargs:
|
||||||
qfilter += f', {kwargs["filter"]}'
|
qfilter += f', {kwargs["filter"]}'
|
||||||
i, count, users = getEntityArgument(users)
|
i, count, users = getEntityArgument(users)
|
||||||
for user in users:
|
for user in users:
|
||||||
i += 1
|
i += 1
|
||||||
user, chat, kvList = buildChatServiceObject(API.CHAT_MEMBERSHIPS, user, i, count, [Ent.CHAT_SPACE, parent])
|
user, chat, kvList = buildChatServiceObject(api, user, i, count, [Ent.CHAT_SPACE, parent])
|
||||||
if not chat:
|
if not chat:
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
members = callGAPIpages(chat.spaces().members(), 'list', 'memberships',
|
members = callGAPIpages(chat.spaces().members(), 'list', 'memberships',
|
||||||
|
useAdminAccess=useAdminAccess,
|
||||||
pageMessage=_getChatPageMessage(Ent.CHAT_MEMBER, user, i, count, qfilter),
|
pageMessage=_getChatPageMessage(Ent.CHAT_MEMBER, user, i, count, qfilter),
|
||||||
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
|
throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
|
||||||
pageSize=CHAT_PAGE_SIZE, parent=parent, **kwargs)
|
pageSize=CHAT_PAGE_SIZE, parent=parent, **kwargs)
|
||||||
|
|||||||
4755
src/gam/chat-v1.json
Normal file
4755
src/gam/chat-v1.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -33,6 +33,7 @@ CHAT_MEMBERSHIPS_ADMIN = 'chatmembershipsadmin'
|
|||||||
CHAT_MESSAGES = 'chatmessages'
|
CHAT_MESSAGES = 'chatmessages'
|
||||||
CHAT_SPACES = 'chatspaces'
|
CHAT_SPACES = 'chatspaces'
|
||||||
CHAT_SPACES_ADMIN = 'chatspacesadmin'
|
CHAT_SPACES_ADMIN = 'chatspacesadmin'
|
||||||
|
CHAT_ADMIN_DELETE = 'chatadmindelete'
|
||||||
CHAT_SPACES_DELETE = 'chatspacesdelete'
|
CHAT_SPACES_DELETE = 'chatspacesdelete'
|
||||||
CHROMEMANAGEMENT = 'chromemanagement'
|
CHROMEMANAGEMENT = 'chromemanagement'
|
||||||
CHROMEMANAGEMENT_APPDETAILS = 'chromemanagementappdetails'
|
CHROMEMANAGEMENT_APPDETAILS = 'chromemanagementappdetails'
|
||||||
@@ -196,14 +197,15 @@ _INFO = {
|
|||||||
ANALYTICS_ADMIN: {'name': 'Analytics Admin API', 'version': 'v1beta', 'v2discovery': True},
|
ANALYTICS_ADMIN: {'name': 'Analytics Admin API', 'version': 'v1beta', 'v2discovery': True},
|
||||||
CALENDAR: {'name': 'Calendar API', 'version': 'v3', 'v2discovery': True, 'mappedAPI': 'calendar-json'},
|
CALENDAR: {'name': 'Calendar API', 'version': 'v3', 'v2discovery': True, 'mappedAPI': 'calendar-json'},
|
||||||
CBCM: {'name': 'Chrome Browser Cloud Management API', 'version': 'v1.1beta1', 'v2discovery': True, 'localjson': True},
|
CBCM: {'name': 'Chrome Browser Cloud Management API', 'version': 'v1.1beta1', 'v2discovery': True, 'localjson': True},
|
||||||
CHAT: {'name': 'Chat API', 'version': 'v1', 'v2discovery': True},
|
CHAT: {'name': 'Chat API', 'version': 'v1', 'v2discovery': True, 'localjson': True},
|
||||||
CHAT_EVENTS: {'name': 'Chat API - Events', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_ADMIN_DELETE: {'name': 'Chat API - Admin Delete', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CHAT_MEMBERSHIPS: {'name': 'Chat API - Memberships', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_EVENTS: {'name': 'Chat API - Events', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CHAT_MEMBERSHIPS_ADMIN: {'name': 'Chat API - Admin Memberships', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_MEMBERSHIPS: {'name': 'Chat API - Memberships', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CHAT_MESSAGES: {'name': 'Chat API - Messages', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_MEMBERSHIPS_ADMIN: {'name': 'Chat API - Admin Memberships', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CHAT_SPACES: {'name': 'Chat API - Spaces', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_MESSAGES: {'name': 'Chat API - Messages', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CHAT_SPACES_ADMIN: {'name': 'Chat API - Admin Spaces', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_SPACES: {'name': 'Chat API - Spaces', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CHAT_SPACES_DELETE: {'name': 'Chat API - Spaces Delete', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT},
|
CHAT_SPACES_ADMIN: {'name': 'Chat API - Admin Spaces', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
|
CHAT_SPACES_DELETE: {'name': 'Chat API - Spaces Delete', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHAT, 'localjson': True},
|
||||||
CLASSROOM: {'name': 'Classroom API', 'version': 'v1', 'v2discovery': True},
|
CLASSROOM: {'name': 'Classroom API', 'version': 'v1', 'v2discovery': True},
|
||||||
CHROMEMANAGEMENT: {'name': 'Chrome Management API', 'version': 'v1', 'v2discovery': True},
|
CHROMEMANAGEMENT: {'name': 'Chrome Management API', 'version': 'v1', 'v2discovery': True},
|
||||||
CHROMEMANAGEMENT_APPDETAILS: {'name': 'Chrome Management API - AppDetails', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHROMEMANAGEMENT},
|
CHROMEMANAGEMENT_APPDETAILS: {'name': 'Chrome Management API - AppDetails', 'version': 'v1', 'v2discovery': True, 'mappedAPI': CHROMEMANAGEMENT},
|
||||||
@@ -518,10 +520,10 @@ _SVCACCT_SCOPES = [
|
|||||||
'api': CHAT_MEMBERSHIPS,
|
'api': CHAT_MEMBERSHIPS,
|
||||||
'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
'scope': 'https://www.googleapis.com/auth/chat.memberships'},
|
'scope': 'https://www.googleapis.com/auth/chat.memberships'},
|
||||||
# {'name': 'Chat API - Admin Memberships',
|
{'name': 'Chat API - Admin Memberships',
|
||||||
# 'api': CHAT_MEMBERSHIPS_ADMIN,
|
'api': CHAT_MEMBERSHIPS_ADMIN,
|
||||||
# 'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
# 'scope': 'https://www.googleapis.com/auth/chat.admin.memberships'},
|
'scope': 'https://www.googleapis.com/auth/chat.admin.memberships'},
|
||||||
{'name': 'Chat API - Messages',
|
{'name': 'Chat API - Messages',
|
||||||
'api': CHAT_MESSAGES,
|
'api': CHAT_MESSAGES,
|
||||||
'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
@@ -530,14 +532,18 @@ _SVCACCT_SCOPES = [
|
|||||||
'api': CHAT_SPACES,
|
'api': CHAT_SPACES,
|
||||||
'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
'scope': 'https://www.googleapis.com/auth/chat.spaces'},
|
'scope': 'https://www.googleapis.com/auth/chat.spaces'},
|
||||||
# {'name': 'Chat API - Admin Spaces',
|
{'name': 'Chat API - Admin Spaces',
|
||||||
# 'api': CHAT_SPACES_ADMIN,
|
'api': CHAT_SPACES_ADMIN,
|
||||||
# 'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
# 'scope': 'https://www.googleapis.com/auth/chat.admin.spaces'},
|
'scope': 'https://www.googleapis.com/auth/chat.admin.spaces'},
|
||||||
{'name': 'Chat API - Spaces Delete',
|
{'name': 'Chat API - Spaces Delete',
|
||||||
'api': CHAT_SPACES_DELETE,
|
'api': CHAT_SPACES_DELETE,
|
||||||
'subscopes': [],
|
'subscopes': [],
|
||||||
'scope': 'https://www.googleapis.com/auth/chat.delete'},
|
'scope': 'https://www.googleapis.com/auth/chat.delete'},
|
||||||
|
{'name': 'Chat API - Admin Delete',
|
||||||
|
'api': CHAT_ADMIN_DELETE,
|
||||||
|
'subscopes': [],
|
||||||
|
'scope': 'https://www.googleapis.com/auth/chat.admin.delete'},
|
||||||
{'name': 'Classroom API - Course Announcements',
|
{'name': 'Classroom API - Course Announcements',
|
||||||
'api': CLASSROOM,
|
'api': CLASSROOM,
|
||||||
'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
|
|||||||
Reference in New Issue
Block a user