39 lines
1.6 KiB
PL/PgSQL
39 lines
1.6 KiB
PL/PgSQL
\set VERBOSITY terse
|
|
-- Add to the search path the schema
|
|
SET search_path TO public,cartodb,cdb_dataservices_client;
|
|
|
|
-- Mock the server functions
|
|
CREATE OR REPLACE FUNCTION cdb_dataservices_server.cdb_geocode_postalcode_polygon(username text, orgname text, postal_code text, country_name text)
|
|
RETURNS Geometry AS $$
|
|
BEGIN
|
|
RAISE NOTICE 'cdb_dataservices_server.cdb_geocode_postalcode_polygon invoked with params (%, %, %, %)', username, orgname, postal_code, country_name;
|
|
RETURN NULL;
|
|
END;
|
|
$$ LANGUAGE 'plpgsql';
|
|
|
|
CREATE OR REPLACE FUNCTION cdb_dataservices_server.cdb_geocode_postalcode_point(username text, orgname text, postal_code text, country_name text)
|
|
RETURNS Geometry AS $$
|
|
BEGIN
|
|
RAISE NOTICE 'cdb_dataservices_server.cdb_geocode_postalcode_point invoked with params (%, %, %, %)', username, orgname, postal_code, country_name;
|
|
RETURN NULL;
|
|
END;
|
|
$$ LANGUAGE 'plpgsql';
|
|
|
|
-- -- Exercise the public and the proxied function
|
|
|
|
-- No permissions granted
|
|
SELECT cdb_geocode_postalcode_polygon('03204', 'Spain');
|
|
SELECT cdb_geocode_postalcode_point('03204', 'Spain');
|
|
|
|
-- Grant other permissions but geocoding
|
|
SELECT CDB_Conf_SetConf('api_keys_postgres', '{"permissions": ["routing", "isolines"]}');
|
|
SELECT cdb_geocode_postalcode_polygon('03204', 'Spain');
|
|
SELECT cdb_geocode_postalcode_point('03204', 'Spain');
|
|
|
|
-- Grant geocoding permissions
|
|
SELECT CDB_Conf_SetConf('api_keys_postgres', '{"permissions": ["geocoding"]}');
|
|
SELECT cdb_geocode_postalcode_polygon('03204', 'Spain');
|
|
SELECT cdb_geocode_postalcode_point('03204', 'Spain');
|
|
|
|
-- Remove permissions
|
|
SELECT CDB_Conf_RemoveConf('api_keys_postgres'); |