Sha256: 4952e1195cac7cbda6f1ffea94da3c35bfd3119b581ec52bd7b08969e9d74dd1

Contents?: true

Size: 617 Bytes

Versions: 18

Compression:

Stored size: 617 Bytes

Contents

CREATE OR REPLACE FUNCTION generate_secure_id(length integer default 24)
  /*
  Generates and returns a unique base 58 token of <length> length for use in for example
  the obfuscation of database ids in URLs.
  Note base58 tokens are case sensitive.
  Example usage:
    select generate_secure_id(24) #=> 0KPNXf4X5x1o6O4mXWE5MC9H
  TC 8.6.2017
  */
  RETURNS text AS
  $body$
  SELECT string_agg (substr('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ9999999999',
                     ceil (random() * 62)::integer,
                     1), '')
  FROM   generate_series(1, length)
  ;
  $body$
  LANGUAGE sql;

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
renalware-core-2.1.1 db/functions/generate_secure_id_v01.sql
renalware-core-2.1.0 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.167 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.166 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.165 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.164 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.163 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.162 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.161 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.160 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.159 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.158 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.157 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.156 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.155 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.153 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.152 db/functions/generate_secure_id_v01.sql
renalware-core-2.0.151 db/functions/generate_secure_id_v01.sql