Enforce uniqueness on short_code + expiry_date + user_id via DB trigger
This commit is contained in:
parent
0490664441
commit
8e66cbe7ba
|
@ -72,6 +72,15 @@ const initDB = async () => {
|
||||||
SELECT 1 FROM urls
|
SELECT 1 FROM urls
|
||||||
WHERE user_id = NEW.user_id AND customized_shortner_slug = NEW.customized_shortner_slug
|
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;
|
END;
|
||||||
`,
|
`,
|
||||||
function (err) {
|
function (err) {
|
||||||
|
|
Loading…
Reference in a new issue