@@ -356,105 +356,94 @@ ALTER TABLE "UserWallet" ADD CONSTRAINT "UserWallet_userId_fkey" FOREIGN KEY ("u
356
356
-- AddForeignKey
357
357
ALTER TABLE " UserWallet" ADD CONSTRAINT " UserWallet_walletId_fkey" FOREIGN KEY (" walletId" ) REFERENCES " WalletV2" (" id" ) ON DELETE CASCADE ON UPDATE CASCADE;
358
358
359
- CREATE OR REPLACE FUNCTION wallet_check_send_method ()
359
+ CREATE OR REPLACE FUNCTION wallet_check_support ()
360
360
RETURNS TRIGGER AS $$
361
361
DECLARE
362
362
wallet " WalletV2" ;
363
+ method_type TEXT ;
363
364
BEGIN
364
- SELECT w.* INTO wallet
365
- FROM " UserWallet" uw
366
- JOIN " WalletV2" w ON uw." walletId" = w .id
367
- WHERE uw .id = NEW." walletId" ;
368
-
369
- IF NOT NEW." type" ::" WalletSendMethod" = ANY(wallet." sendMethods" ) THEN
370
- RAISE EXCEPTION ' Wallet % does not support send method %' , wallet .name , NEW." type" ;
371
- END IF;
372
-
373
- RETURN NEW;
374
- END;
375
- $$ LANGUAGE plpgsql;
365
+ method_type := TG_ARGV[0 ];
376
366
377
- CREATE OR REPLACE FUNCTION wallet_check_recv_method ()
378
- RETURNS TRIGGER AS $$
379
- DECLARE
380
- wallet " WalletV2" ;
381
- BEGIN
382
367
SELECT w.* INTO wallet
383
368
FROM " UserWallet" uw
384
369
JOIN " WalletV2" w ON uw." walletId" = w .id
385
370
WHERE uw .id = NEW." walletId" ;
386
371
387
- IF NOT NEW." type" ::" WalletRecvMethod" = ANY(wallet." recvMethods" ) THEN
388
- RAISE EXCEPTION ' Wallet % does not support receive method %' , wallet .name , NEW." type" ;
372
+ IF method_type = ' SEND' THEN
373
+ IF NOT NEW." type" ::" WalletSendMethod" = ANY(wallet." sendMethods" ) THEN
374
+ RAISE EXCEPTION ' Wallet % does not support send method %' , wallet .name , NEW." type" ;
375
+ END IF;
376
+ ELSIF method_type = ' RECEIVE' THEN
377
+ IF NOT NEW." type" ::" WalletRecvMethod" = ANY(wallet." recvMethods" ) THEN
378
+ RAISE EXCEPTION ' Wallet % does not support receive method %' , wallet .name , NEW." type" ;
379
+ END IF;
389
380
END IF;
390
381
391
382
RETURN NEW;
392
383
END;
393
384
$$ LANGUAGE plpgsql;
394
385
395
- -- Create triggers for each WalletSend table
396
- CREATE TRIGGER wallet_check_send_method
386
+ CREATE TRIGGER wallet_check_support
397
387
BEFORE INSERT OR UPDATE ON " WalletSendNWC"
398
388
FOR EACH ROW
399
- EXECUTE FUNCTION wallet_check_send_method( );
389
+ EXECUTE FUNCTION wallet_check_support( ' SEND ' );
400
390
401
- CREATE TRIGGER wallet_check_send_method
391
+ CREATE TRIGGER wallet_check_support
402
392
BEFORE INSERT OR UPDATE ON " WalletSendLNbits"
403
393
FOR EACH ROW
404
- EXECUTE FUNCTION wallet_check_send_method( );
394
+ EXECUTE FUNCTION wallet_check_support( ' SEND ' );
405
395
406
- CREATE TRIGGER wallet_check_send_method
396
+ CREATE TRIGGER wallet_check_support
407
397
BEFORE INSERT OR UPDATE ON " WalletSendPhoenixd"
408
398
FOR EACH ROW
409
- EXECUTE FUNCTION wallet_check_send_method( );
399
+ EXECUTE FUNCTION wallet_check_support( ' SEND ' );
410
400
411
- CREATE TRIGGER wallet_check_send_method
401
+ CREATE TRIGGER wallet_check_support
412
402
BEFORE INSERT OR UPDATE ON " WalletSendBlink"
413
403
FOR EACH ROW
414
- EXECUTE FUNCTION wallet_check_send_method( );
404
+ EXECUTE FUNCTION wallet_check_support( ' SEND ' );
415
405
416
- CREATE TRIGGER wallet_check_send_method
406
+ CREATE TRIGGER wallet_check_support
417
407
BEFORE INSERT OR UPDATE ON " WalletSendWebLN"
418
408
FOR EACH ROW
419
- EXECUTE FUNCTION wallet_check_send_method( );
409
+ EXECUTE FUNCTION wallet_check_support( ' SEND ' );
420
410
421
- CREATE TRIGGER wallet_check_send_method
411
+ CREATE TRIGGER wallet_check_support
422
412
BEFORE INSERT OR UPDATE ON " WalletSendLNC"
423
413
FOR EACH ROW
424
- EXECUTE FUNCTION wallet_check_send_method( );
414
+ EXECUTE FUNCTION wallet_check_support( ' SEND ' );
425
415
426
- -- Create triggers for each WalletRecv table
427
- CREATE TRIGGER wallet_check_recv_method
416
+ CREATE TRIGGER wallet_check_support
428
417
BEFORE INSERT OR UPDATE ON " WalletRecvNWC"
429
418
FOR EACH ROW
430
- EXECUTE FUNCTION wallet_check_recv_method( );
419
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
431
420
432
- CREATE TRIGGER wallet_check_recv_method
421
+ CREATE TRIGGER wallet_check_support
433
422
BEFORE INSERT OR UPDATE ON " WalletRecvLNbits"
434
423
FOR EACH ROW
435
- EXECUTE FUNCTION wallet_check_recv_method( );
424
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
436
425
437
- CREATE TRIGGER wallet_check_recv_method
426
+ CREATE TRIGGER wallet_check_support
438
427
BEFORE INSERT OR UPDATE ON " WalletRecvPhoenixd"
439
428
FOR EACH ROW
440
- EXECUTE FUNCTION wallet_check_recv_method( );
429
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
441
430
442
- CREATE TRIGGER wallet_check_recv_method
431
+ CREATE TRIGGER wallet_check_support
443
432
BEFORE INSERT OR UPDATE ON " WalletRecvBlink"
444
433
FOR EACH ROW
445
- EXECUTE FUNCTION wallet_check_recv_method( );
434
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
446
435
447
- CREATE TRIGGER wallet_check_recv_method
436
+ CREATE TRIGGER wallet_check_support
448
437
BEFORE INSERT OR UPDATE ON " WalletRecvLightningAddress"
449
438
FOR EACH ROW
450
- EXECUTE FUNCTION wallet_check_recv_method( );
439
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
451
440
452
- CREATE TRIGGER wallet_check_recv_method
441
+ CREATE TRIGGER wallet_check_support
453
442
BEFORE INSERT OR UPDATE ON " WalletRecvCLNRest"
454
443
FOR EACH ROW
455
- EXECUTE FUNCTION wallet_check_recv_method( );
444
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
456
445
457
- CREATE TRIGGER wallet_check_recv_method
446
+ CREATE TRIGGER wallet_check_support
458
447
BEFORE INSERT OR UPDATE ON " WalletRecvLNDGRPC"
459
448
FOR EACH ROW
460
- EXECUTE FUNCTION wallet_check_recv_method( );
449
+ EXECUTE FUNCTION wallet_check_support( ' RECEIVE ' );
0 commit comments