====== pears.NetOwnerAddToFavs ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
create procedure "pears"."NetOwnerAddToFavs"( in "pWebUserID" char(20),in "pParent" char(20),in "pLinkID" char(20),in "pType" char(1) )
/* RESULT( column_name column_type, ... ) */
begin
declare "pStaffID" char(20);
set "pStaffID" = (select "staffid" from "iqxnetuser" where "iqxnetuserid" = "pWebUserID");
if "isnull"("pStaffID",'') = '' then
select '99:~invalid staff';
return
end if;
if "isnull"("pType",'') = '' then
select '98:~invalid type';
return
end if;
insert into "Favourites"( "FavouritesID","Parent","ID","Staffid","Description","Type" ) values
( "uniquekey"('x'),"pParent","pLinkID","pStaffID",'',"pType" ) ;
select '0:~Success'
end /* DOC
2016-12-01 PC Doc and test
2018-08-27 PC improve error handling
Tests:
invalid pWebUserID
valid pWebUserID, pParent, pLinkID, invalid pType
valid pWebUserID, pParent, pLinkID, pType
*/
/* TEST
call NetTestSetup('');
update iqxnetuserlink set employmentid=null where IQXNetUserLinkID in ('test.client','test.agency','test.candidate','test.owner');
update iqxnetuserlink set employmentid='TEST' where IQXNetUserLinkID='test.owner';
insert into Favourites (FavouritesID, Parent, ID, Staffid, Description, Type) on existing update values ('TEST', null, null, 'TEST', '', 'H');
select * from NetOwnerAddToFavs(null,null,null,null);
expect 99*;
select * from NetOwnerAddToFavs('test.owner',null,null,null);
expect 98*;
select * from NetOwnerAddToFavs('test.owner','TEST','TEST','P');
expect 0*;
select * from favourites where staffID='TEST' and favouritesid != 'TEST' order by FavouritesID asc;
expect Staffid=TEST,Type=H;
*/
go
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetOwnerAddToFavs" IS
{create PROCEDURE pears."NetOwnerAddToFavs"( in "pWebUserID" char(20), in "pParent" char(20), in "pLinkID" char(20), in "pType" char(1) )
/* RESULT( column_name column_type, ... ) */
BEGIN
declare pStaffID char(20);
set pStaffID=(select staffid from iqxnetuser where iqxnetuserid=pWebUserID);
if isnull(pStaffID,'')='' then
select '99:~invalid staff';
return;
end if;
if isnull(pType,'')='' then
select '98:~invalid type';
return;
end if;
insert into Favourites (FavouritesID, Parent, ID, Staffid, Description, Type)
values (uniquekey('x'), pParent, pLinkID, pStaffID, '', pType);
select '0:~Success';
END
/* DOC
2016-12-01 PC Doc and test
2018-08-27 PC improve error handling
Tests:
invalid pWebUserID
valid pWebUserID, pParent, pLinkID, invalid pType
valid pWebUserID, pParent, pLinkID, pType
*/
/* TEST
call NetTestSetup('');
update iqxnetuserlink set employmentid=null where IQXNetUserLinkID in ('test.client','test.agency','test.candidate','test.owner');
update iqxnetuserlink set employmentid='TEST' where IQXNetUserLinkID='test.owner';
insert into Favourites (FavouritesID, Parent, ID, Staffid, Description, Type) on existing update values ('TEST', null, null, 'TEST', '', 'H');
select * from NetOwnerAddToFavs(null,null,null,null);
expect 99*;
select * from NetOwnerAddToFavs('test.owner',null,null,null);
expect 98*;
select * from NetOwnerAddToFavs('test.owner','TEST','TEST','P');
expect 0*;
select * from favourites where staffID='TEST' and favouritesid != 'TEST' order by FavouritesID asc;
expect Staffid=TEST,Type=H;
*/
}