_CDB_Group_RemoveMember_API
This commit is contained in:
@@ -74,6 +74,7 @@ BEGIN
|
|||||||
cdb_group_role := cartodb._CDB_Group_GroupRole(group_name);
|
cdb_group_role := cartodb._CDB_Group_GroupRole(group_name);
|
||||||
cdb_user_role := cartodb._CDB_User_RoleFromUsername(username);
|
cdb_user_role := cartodb._CDB_User_RoleFromUsername(username);
|
||||||
EXECUTE format('REVOKE "%s" FROM "%s"', cdb_group_role, cdb_user_role);
|
EXECUTE format('REVOKE "%s" FROM "%s"', cdb_group_role, cdb_user_role);
|
||||||
|
PERFORM cartodb._CDB_Group_RemoveMember_API(current_database(), group_name, username);
|
||||||
END
|
END
|
||||||
$$ LANGUAGE PLPGSQL VOLATILE;
|
$$ LANGUAGE PLPGSQL VOLATILE;
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,28 @@ $$
|
|||||||
raise err
|
raise err
|
||||||
$$ LANGUAGE 'plpythonu' VOLATILE;
|
$$ LANGUAGE 'plpythonu' VOLATILE;
|
||||||
|
|
||||||
|
CREATE OR REPLACE
|
||||||
|
FUNCTION cartodb._CDB_Group_RemoveMember_API(database_name text, group_name text, username text)
|
||||||
|
RETURNS VOID AS
|
||||||
|
$$
|
||||||
|
import httplib
|
||||||
|
import string
|
||||||
|
|
||||||
|
try:
|
||||||
|
params = plpy.execute("select c.host, c.port, c.timeout, c.auth from cartodb._CDB_Group_API_Conf() c;")[0]
|
||||||
|
if params['host'] is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
client = httplib.HTTPConnection(params['host'], params['port'], False, params['timeout'])
|
||||||
|
headers = { 'Authorization': params['auth'], 'Content-Type': 'application/json' }
|
||||||
|
client.request('DELETE', '/api/v1/databases/%s/groups/%s/users/%s' % (database_name, group_name, username), '', headers)
|
||||||
|
response = client.getresponse()
|
||||||
|
assert response.status == 200
|
||||||
|
except Exception as err:
|
||||||
|
plpy.warning('group creation error: ' + str(err))
|
||||||
|
raise err
|
||||||
|
$$ LANGUAGE 'plpythonu' VOLATILE;
|
||||||
|
|
||||||
DO LANGUAGE 'plpgsql' $$
|
DO LANGUAGE 'plpgsql' $$
|
||||||
BEGIN
|
BEGIN
|
||||||
DROP FUNCTION IF EXISTS cartodb._CDB_Group_API_Conf();
|
DROP FUNCTION IF EXISTS cartodb._CDB_Group_API_Conf();
|
||||||
|
|||||||
Reference in New Issue
Block a user