Changes between Version 5 and Version 6 of DatabaseProgramming


Ignore:
Timestamp:
06/14/26 15:46:50 (3 days ago)
Author:
231072
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v5 v6  
    11== Опис
    22
     3= Додавање на продукт
     4
     5Оваа функционалност овозможува додавање на нов продукт во системот.
     6
     7= Функција fn_validate_seller_package
     8
     9Проверува дали продавачот има право да објавува продукти.
     10
     11Проверува дали корисникот постои и е активен.
     12Проверува дали корисникот е верифициран.
     13Проверува дали корисникот има активен пакет чиј период на важност не е истечен.
     14
    315{{{
    4 CREATE OR REPLACE FUNCTION trg_prevent_double_booking()
    5 RETURNS TRIGGER
    6 AS $$
    7 BEGIN
    8     ...
     16CREATE OR REPLACE FUNCTION fn_validate_seller_package(p_seller_id INT)
     17RETURNS VOID LANGUAGE plpgsql AS $$
     18begin
     19        IF NOT EXISTS (
     20        SELECT 1 FROM appuser WHERE user_id = p_seller_id AND is_active = 1
     21    ) THEN
     22        RAISE EXCEPTION 'Sellerot ne postoi ili ne e aktiven';
     23    END IF;
     24   
     25    IF NOT EXISTS (
     26        SELECT 1 FROM appuser
     27        WHERE user_id = p_seller_id AND is_verified = 1
     28    ) THEN
     29        RAISE EXCEPTION 'Sellerot ne e verificiran';
     30    END IF;
     31
     32    IF NOT EXISTS (
     33        SELECT 1 FROM userpackages
     34        WHERE seller_id = p_seller_id
     35          AND CURRENT_TIMESTAMP BETWEEN start_date AND end_date
     36    ) THEN
     37        RAISE EXCEPTION 'Sellerot nema aktiven paket (istecen ili ne postoi)';
     38    END IF;
    939END;
    10 $$ LANGUAGE plpgsql;
     40$$;
     41
    1142}}}