rices/sql/ddl_1.0.0.sql
oscargonzalezmoreno@gmail.com 9bf1fe8e0d feat(rices): mejorar reglas de publicación de rices
- Permitir publicar un rice con un token existente si no excede el límite.
- Configurar límite de 5 rices por token a través de variable de entorno (env.MAX_RICES_BY_TOKEN).
- Validar duplicidad de nombres al crear un nuevo rice.
2024-12-28 15:56:51 +01:00

26 lines
No EOL
1.1 KiB
PL/PgSQL

--DROP TABLE IF EXISTS rices;
CREATE TABLE rices (
id UUID NOT NULL, -- Unique identifier
slug VARCHAR(75) NOT NULL, -- Unique user-friendly identifier
version VARCHAR(10) NOT NULL, -- Data version
os VARCHAR(30) NOT NULL, -- Operating system
name VARCHAR(75) NOT NULL, -- Name of the rice
author VARCHAR(100) NOT NULL, -- Name of the rice
token UUID NOT NULL, -- Unique authorization token
visits INTEGER DEFAULT 0 NOT NULL, -- Visit counter, initialized to 0
level INTEGER DEFAULT 0 NOT NULL, -- Level: 0 (Public), 1 (Verified)
created_at TIMESTAMP DEFAULT NOW(), -- Creation date
updated_at TIMESTAMP, -- Last update date
PRIMARY KEY (id), -- Composite primary key
UNIQUE (slug) -- Ensure slug is unique
);
CREATE OR REPLACE FUNCTION increment_visits(slug_param TEXT)
RETURNS VOID AS $$
BEGIN
UPDATE rices
SET visits = visits + 1
WHERE slug = slug_param;
END;
$$ LANGUAGE plpgsql;