Repositorio de codigos de activacion + test
This commit is contained in:
@@ -29,17 +29,6 @@ AS $$
|
||||
$$
|
||||
;
|
||||
|
||||
-- 2. Tabla de Tarjetas
|
||||
-- Posiblemente haya que mantener solo el id e ignorar el PAN
|
||||
CREATE TABLE payment_cards (
|
||||
card_id UUID PRIMARY KEY DEFAULT uuid_generate_v7(),
|
||||
user_id UUID REFERENCES users(user_id),
|
||||
pan_last_four VARCHAR(4) NOT NULL,
|
||||
card_holder_name VARCHAR(100) NOT NULL,
|
||||
status VARCHAR(20) DEFAULT 'PENDING_ACTIVATION', -- PENDING, ACTIVE, BLOCKED, EXPIRED
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
activated_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
-- 3. Tabla de Códigos de Activación
|
||||
-- No creo que vaya a recibir confirmación de activación porque es de otro proyecto,
|
||||
@@ -47,8 +36,8 @@ CREATE TABLE payment_cards (
|
||||
-- El algoritmo de hash es sha256
|
||||
CREATE TABLE activation_codes (
|
||||
code_id UUID PRIMARY KEY DEFAULT uuid_generate_v7(),
|
||||
card_id UUID REFERENCES payment_cards(card_id), -- Una tarjeta, maximo un un código activo borrar o solo con expires_at?
|
||||
code_plain TEXT NOT NULL, --
|
||||
card_id UUID NOT NULL, -- ID EXTERNO
|
||||
code_plain TEXT NOT NULL,
|
||||
code_hash TEXT NOT NULL, -- Guardar el código hasheado, el original se imprime y se manda
|
||||
is_used BOOLEAN DEFAULT FALSE,
|
||||
is_blocked BOOLEAN DEFAULT FALSE,
|
||||
@@ -61,7 +50,7 @@ CREATE TABLE activation_codes (
|
||||
-- Lo mismo, muy sobredimensionado, no creo que haya falta en este punto
|
||||
CREATE TABLE activation_logs (
|
||||
log_id UUID PRIMARY KEY DEFAULT uuid_generate_v7(),
|
||||
card_id UUID REFERENCES payment_cards(card_id),
|
||||
card_id UUID NOT NULL, -- ID EXTERNO
|
||||
code_id UUID REFERENCES activation_codes(code_id),
|
||||
action_type VARCHAR(50) NOT NULL, -- TODO: CREAR ENUM'GENERATED', 'ATTEMPT_FAILED', 'ACTIVATED'
|
||||
ip_address INET,
|
||||
|
||||
Reference in New Issue
Block a user