diff --git a/dbConfig/index.js b/dbConfig/index.js index 44131f9..10e38af 100644 --- a/dbConfig/index.js +++ b/dbConfig/index.js @@ -72,6 +72,15 @@ const initDB = async () => { SELECT 1 FROM urls WHERE user_id = NEW.user_id AND customized_shortner_slug = NEW.customized_shortner_slug ); + + -- Case 3: Prevent reinserting same short_code + expiry_date + user_id + slug (if slug is not null) + SELECT RAISE(ABORT, 'Duplicate URL record not allowed') + WHERE EXISTS ( + SELECT 1 FROM urls + WHERE short_code = NEW.short_code + AND expiry_date = NEW.expiry_date + AND user_id = NEW.user_id + ); END; `, function (err) {