DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`deviceProductionUser_beforeInsert`
	BEFORE INSERT ON `deviceProductionUser`
	FOR EACH ROW
BEGIN
	DECLARE vHasPda BOOLEAN;
	DECLARE visFreelancer BOOLEAN;
	DECLARE vUserName VARCHAR(50);
	
	SELECT COUNT(*) INTO vHasPda FROM deviceProductionUser WHERE userFk = NEW.userFk;

	SELECT name INTO vUserName FROM account.user WHERE id = NEW.userFk; 

	SELECT account.user_hasRoleId(vUserName, (SELECT id FROM role WHERE name = 'freelancer')) INTO vIsFreelancer;

	IF NOT vIsFreelancer AND vHasPda THEN
		CALL util.throw('You can only have one PDA');
	ELSE
		SET NEW.editorFk = account.myUser_getId();
	END IF;
END$$
DELIMITER ;
