|
|
|
@ -21,7 +21,7 @@ $$
|
|
|
|
|
body = '{ "name": "%s", "database_role": "%s" }' % (group_name, group_role)
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('POST', '%s', '%s', '{200, 409}') as response_status" % (url, body)
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -41,7 +41,7 @@ $$
|
|
|
|
|
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('DELETE', '%s', '', '{204, 404}') as response_status" % url
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -61,7 +61,7 @@ $$
|
|
|
|
|
body = '{ "name": "%s", "database_role": "%s" }' % (new_group_name, new_group_role)
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('PUT', '%s', '%s', '{200, 409}') as response_status" % (url, body)
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -81,7 +81,7 @@ $$
|
|
|
|
|
body = "{ \"users\": [\"%s\"] }" % "\",\"".join(usernames)
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('POST', '%s', '%s', '{200, 409}') as response_status" % (url, body)
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -101,7 +101,7 @@ $$
|
|
|
|
|
body = "{ \"users\": [\"%s\"] }" % "\",\"".join(usernames)
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('DELETE', '%s', '%s', '{200, 404}') as response_status" % (url, body)
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -129,7 +129,7 @@ $$
|
|
|
|
|
body = '{ "access": "%s" }' % access
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('PUT', '%s', '%s', '{200, 409}') as response_status" % (url, body)
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -156,7 +156,7 @@ $$
|
|
|
|
|
url = '/api/v1/databases/{0}/groups/%s/permission/%s/tables/%s' % (pathname2url(group_name), username, table_name)
|
|
|
|
|
query = "select @extschema@._CDB_Group_API_Request('DELETE', '%s', '', '{200, 404}') as response_status" % url
|
|
|
|
|
plpy.execute(query)
|
|
|
|
|
$$ LANGUAGE 'plpythonu'
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@'
|
|
|
|
|
VOLATILE
|
|
|
|
|
PARALLEL UNSAFE
|
|
|
|
|
SECURITY DEFINER
|
|
|
|
@ -191,7 +191,7 @@ $$
|
|
|
|
|
params = json.loads(conf)
|
|
|
|
|
auth = 'Basic %s' % plpy.execute("SELECT @extschema@._CDB_Group_API_Auth('%s', '%s') as auth" % (params['username'], params['password']))[0]['auth']
|
|
|
|
|
return { "host": params['host'], "port": params['port'], 'timeout': params['timeout'], 'auth': auth }
|
|
|
|
|
$$ LANGUAGE 'plpythonu' VOLATILE PARALLEL UNSAFE;
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@' VOLATILE PARALLEL UNSAFE;
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE
|
|
|
|
|
FUNCTION @extschema@._CDB_Group_API_Auth(username text, password text)
|
|
|
|
@ -199,7 +199,7 @@ FUNCTION @extschema@._CDB_Group_API_Auth(username text, password text)
|
|
|
|
|
$$
|
|
|
|
|
import base64
|
|
|
|
|
return base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
|
|
|
|
|
$$ LANGUAGE 'plpythonu' VOLATILE PARALLEL UNSAFE;
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@' VOLATILE PARALLEL UNSAFE;
|
|
|
|
|
|
|
|
|
|
-- url must contain a '%s' placeholder that will be replaced by current_database, for security reasons.
|
|
|
|
|
CREATE OR REPLACE
|
|
|
|
@ -239,5 +239,5 @@ $$
|
|
|
|
|
raise last_err
|
|
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
$$ LANGUAGE 'plpythonu' VOLATILE PARALLEL UNSAFE;
|
|
|
|
|
$$ LANGUAGE '@@plpythonu@@' VOLATILE PARALLEL UNSAFE;
|
|
|
|
|
revoke all on function @extschema@._CDB_Group_API_Request(text, text, text, int[]) from public;
|
|
|
|
|