Changes between Version 9 and Version 10 of DatabaseProgramming


Ignore:
Timestamp:
05/30/26 17:25:41 (2 weeks ago)
Author:
231070
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v9 v10  
    155155        SELECT
    156156            uw.app_userid,
    157             ROW_NUMBER() OVER (ORDER BY w.created_at ASC) AS pozicija
     157            ROW_NUMBER() OVER (ORDER BY uw.joined_at ASC) AS pozicija
    158158        FROM waitlist w
    159159        JOIN user_waitlist uw ON uw.waitlistid = w.id
     
    481481    RETURNING id INTO v_waitlist_id;
    482482
    483     INSERT INTO user_waitlist (app_userid, waitlistid)
    484     VALUES (p_userid, v_waitlist_id);
     483    INSERT INTO user_waitlist (app_userid, waitlistid, joined_at)
     484    VALUES (p_userid, v_waitlist_id, CURRENT_DATE);
    485485
    486486    INSERT INTO notification (message, created_at, app_userid)
     
    553553DECLARE
    554554    v_waitlist_id BIGINT;
     555    v_userid      BIGINT;
    555556BEGIN
    556557    IF NEW.status = 'CANCELLED' AND OLD.status != 'CANCELLED' THEN
    557         SELECT w.id INTO v_waitlist_id
     558
     559        SELECT w.id, uw.app_userid INTO v_waitlist_id, v_userid
    558560        FROM waitlist w
     561        JOIN user_waitlist uw ON uw.waitlistid = w.id
    559562        WHERE w.eventid = NEW.eventid AND w.status = 'PENDING'
    560         ORDER BY w.created_at
     563        ORDER BY uw.joined_at ASC
    561564        LIMIT 1;
    562565
    563566        IF v_waitlist_id IS NOT NULL THEN
    564             UPDATE waitlist SET status = 'CONFIRMED'
     567            UPDATE waitlist
     568            SET status = 'CONFIRMED'
    565569            WHERE id = v_waitlist_id;
     570
     571            INSERT INTO notification (message, created_at, app_userid)
     572            VALUES ('A spot has opened up! Your waitlist request has been confirmed.',
     573                    CURRENT_DATE, v_userid);
    566574
    567575            RAISE NOTICE 'Waitlist % e potvrden za event %', v_waitlist_id, NEW.eventid;