mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 20:31:35 +00:00
Map / to %2F in group email address for Group Settings API (#1288)
* Map / to %2F in group email address for Group Settings API * Make update deviceuserstate consistent with other deviceuser commands gam update deviceuserstate [id] <DeviceUserID> ...
This commit is contained in:
@@ -135,12 +135,14 @@ def update_state():
|
|||||||
client_id = f'{customer}-gam'
|
client_id = f'{customer}-gam'
|
||||||
body = {}
|
body = {}
|
||||||
i = 3
|
i = 3
|
||||||
|
deviceuser = sys.argv[i]
|
||||||
|
if deviceuser == 'id':
|
||||||
|
i += 1
|
||||||
|
deviceuser = sys.argv[i]
|
||||||
|
i += 1
|
||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
myarg = sys.argv[i].lower().replace('_', '')
|
myarg = sys.argv[i].lower().replace('_', '')
|
||||||
if myarg == 'id':
|
if myarg == 'clientid':
|
||||||
deviceuser = sys.argv[i+1]
|
|
||||||
i += 2
|
|
||||||
elif myarg == 'clientid':
|
|
||||||
client_id = f'{customer}-{sys.argv[i+1]}'
|
client_id = f'{customer}-{sys.argv[i+1]}'
|
||||||
i += 2
|
i += 2
|
||||||
elif myarg in ['assettag', 'assettags']:
|
elif myarg in ['assettag', 'assettags']:
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ def GroupIsAbuseOrPostmaster(emailAddr):
|
|||||||
return emailAddr.startswith('abuse@') or emailAddr.startswith('postmaster@')
|
return emailAddr.startswith('abuse@') or emailAddr.startswith('postmaster@')
|
||||||
|
|
||||||
|
|
||||||
|
def mapGroupEmailForSettings(emailAddr):
|
||||||
|
return emailAddr.replace('/', '%2F')
|
||||||
|
|
||||||
|
|
||||||
def create():
|
def create():
|
||||||
cd = gapi_directory.build()
|
cd = gapi_directory.build()
|
||||||
body = {'email': gam.normalizeEmailAddressOrUID(sys.argv[3], noUid=True)}
|
body = {'email': gam.normalizeEmailAddressOrUID(sys.argv[3], noUid=True)}
|
||||||
@@ -67,7 +71,7 @@ def create():
|
|||||||
gapi_errors.ErrorReason.SERVICE_LIMIT,
|
gapi_errors.ErrorReason.SERVICE_LIMIT,
|
||||||
gapi_errors.ErrorReason.NOT_FOUND
|
gapi_errors.ErrorReason.NOT_FOUND
|
||||||
],
|
],
|
||||||
groupUniqueId=body['email'],
|
groupUniqueId=mapGroupEmailForSettings(body['email']),
|
||||||
fields='*')
|
fields='*')
|
||||||
if current_settings is not None:
|
if current_settings is not None:
|
||||||
gs_body = dict(
|
gs_body = dict(
|
||||||
@@ -75,7 +79,7 @@ def create():
|
|||||||
if gs_body:
|
if gs_body:
|
||||||
gapi.call(gs.groups(),
|
gapi.call(gs.groups(),
|
||||||
'update',
|
'update',
|
||||||
groupUniqueId=body['email'],
|
groupUniqueId=mapGroupEmailForSettings(body['email']),
|
||||||
retry_reasons=[
|
retry_reasons=[
|
||||||
gapi_errors.ErrorReason.SERVICE_LIMIT,
|
gapi_errors.ErrorReason.SERVICE_LIMIT,
|
||||||
gapi_errors.ErrorReason.NOT_FOUND
|
gapi_errors.ErrorReason.NOT_FOUND
|
||||||
@@ -170,7 +174,7 @@ def info(group_name=None):
|
|||||||
'get',
|
'get',
|
||||||
throw_reasons=[gapi_errors.ErrorReason.AUTH_ERROR],
|
throw_reasons=[gapi_errors.ErrorReason.AUTH_ERROR],
|
||||||
retry_reasons=[gapi_errors.ErrorReason.SERVICE_LIMIT],
|
retry_reasons=[gapi_errors.ErrorReason.SERVICE_LIMIT],
|
||||||
groupUniqueId=basic_info['email']
|
groupUniqueId=mapGroupEmailForSettings(basic_info['email'])
|
||||||
) # Use email address retrieved from cd since GS API doesn't support uid
|
) # Use email address retrieved from cd since GS API doesn't support uid
|
||||||
if settings is None:
|
if settings is None:
|
||||||
settings = {}
|
settings = {}
|
||||||
@@ -589,7 +593,7 @@ def print_():
|
|||||||
gapi_errors.ErrorReason.SERVICE_LIMIT,
|
gapi_errors.ErrorReason.SERVICE_LIMIT,
|
||||||
gapi_errors.ErrorReason.INVALID
|
gapi_errors.ErrorReason.INVALID
|
||||||
],
|
],
|
||||||
groupUniqueId=groupEmail,
|
groupUniqueId=mapGroupEmailForSettings(groupEmail),
|
||||||
fields=gsfields)
|
fields=gsfields)
|
||||||
if settings:
|
if settings:
|
||||||
for key in settings:
|
for key in settings:
|
||||||
@@ -1174,7 +1178,7 @@ def update():
|
|||||||
gs.groups(),
|
gs.groups(),
|
||||||
'get',
|
'get',
|
||||||
retry_reasons=[gapi_errors.ErrorReason.SERVICE_LIMIT],
|
retry_reasons=[gapi_errors.ErrorReason.SERVICE_LIMIT],
|
||||||
groupUniqueId=group,
|
groupUniqueId=mapGroupEmailForSettings(group),
|
||||||
fields='*')
|
fields='*')
|
||||||
if current_settings is not None:
|
if current_settings is not None:
|
||||||
gs_body = dict(
|
gs_body = dict(
|
||||||
@@ -1185,7 +1189,7 @@ def update():
|
|||||||
gs.groups(),
|
gs.groups(),
|
||||||
'update',
|
'update',
|
||||||
retry_reasons=[gapi_errors.ErrorReason.SERVICE_LIMIT],
|
retry_reasons=[gapi_errors.ErrorReason.SERVICE_LIMIT],
|
||||||
groupUniqueId=group,
|
groupUniqueId=mapGroupEmailForSettings(group),
|
||||||
body=gs_body)
|
body=gs_body)
|
||||||
print(f'updated group {group}')
|
print(f'updated group {group}')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user