USP_SECUREGATEWAY_CREDENTIALS_SET
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@NAME | nvarchar(500) | IN | |
@ACCESSKEY | nvarchar(200) | IN |
Definition
Copy
CREATE procedure dbo.USP_SECUREGATEWAY_CREDENTIALS_SET
(
@ID uniqueidentifier = null output,
@NAME nvarchar(500),
@ACCESSKEY nvarchar(200)
)
as
begin
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getDate();
declare @CHANGEAGENTID uniqueidentifier;
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
exec dbo.USP_GET_KEY_ACCESS;
begin try
if (@NAME is null) or (@NAME = '')
raiserror('Credential name is missing', 13, 1);
if (@ACCESSKEY is null) or (@ACCESSKEY = '')
raiserror('Credential access key is missing', 13, 1);
if @ID is null
set @ID = newid();
if ((select count(1) from dbo.[SECUREGATEWAYCREDENTIALS]) = 0)
insert into dbo.[SECUREGATEWAYCREDENTIALS]
(
[ID],
[NAME],
[ACCESSKEY],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@NAME,
EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCESSKEY),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
else
update dbo.[SECUREGATEWAYCREDENTIALS]
set
[ID] = @ID,
[NAME] = @NAME,
[ACCESSKEY] = EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCESSKEY),
[ADDEDBYID] = @CHANGEAGENTID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATEADDED] = @CURRENTDATE,
[DATECHANGED] = @CURRENTDATE;
close symmetric key sym_BBInfinity;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
close symmetric key sym_BBInfinity;
return 1;
end catch
return 0;
end