| 4 | | CREATE OR REPLACE FUNCTION trg_prevent_double_booking() |
| 5 | | RETURNS TRIGGER |
| 6 | | AS $$ |
| 7 | | BEGIN |
| 8 | | ... |
| | 16 | CREATE OR REPLACE FUNCTION fn_validate_seller_package(p_seller_id INT) |
| | 17 | RETURNS VOID LANGUAGE plpgsql AS $$ |
| | 18 | begin |
| | 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; |