| | 262 | === Trigger for bookings |
| | 263 | {{{ |
| | 264 | CREATE OR REPLACE FUNCTION trg_refresh_profile_after_booking() |
| | 265 | RETURNS trigger |
| | 266 | LANGUAGE plpgsql |
| | 267 | AS $$ |
| | 268 | DECLARE |
| | 269 | v_user_id BIGINT; |
| | 270 | BEGIN |
| | 271 | SELECT g.user_id |
| | 272 | INTO v_user_id |
| | 273 | FROM guests g |
| | 274 | WHERE g.guest_id = NEW.guest_id; |
| | 275 | |
| | 276 | IF NEW.booking_status IN ('CONFIRMED', 'COMPLETED') THEN |
| | 277 | PERFORM refresh_user_recommendation_profile(v_user_id); |
| | 278 | END IF; |
| | 279 | |
| | 280 | RETURN NEW; |
| | 281 | END; |
| | 282 | $$; |
| | 283 | |
| | 284 | CREATE TRIGGER after_booking_refresh_recommendation_profile |
| | 285 | AFTER INSERT OR UPDATE OF booking_status |
| | 286 | ON bookings |
| | 287 | FOR EACH ROW |
| | 288 | EXECUTE FUNCTION trg_refresh_profile_after_booking(); |
| | 289 | }}} |