USP_SECUREGATEWAY_CREDENTIALS_EDIT

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(500) IN
@ACCESSKEY nvarchar(200) IN
@ENTITLEMENTTYPE nvarchar(10) IN

Definition

Copy


        CREATE procedure dbo.USP_SECUREGATEWAY_CREDENTIALS_EDIT(
                @ID uniqueidentifier,
                @NAME nvarchar(500),
                @ACCESSKEY nvarchar(200),
                --Make optional for backwards compatibility

                @ENTITLEMENTTYPE nvarchar(10) = ''
        )
        as
            begin

                set nocount on;

                exec dbo.USP_GET_KEY_ACCESS;
                begin try

                    declare @DATECHANGED datetime = getdate();

                    declare @CURRENTDATE datetime;
                    set @CURRENTDATE = getdate();

                    declare @CHANGEAGENTID uniqueidentifier;
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                    if (@ID is null) or (@ID = '00000000-0000-0000-0000-000000000000')
                            raiserror('ID is missing', 13, 1);

                    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);


                    update 
                        dbo.[SECUREGATEWAYCREDENTIALS]
                    set 
                        [NAME] = @NAME,
                        [ACCESSKEY] = EncryptByKey(Key_GUID('sym_BBInfinity'), @ACCESSKEY),
                        [CHANGEDBYID] = @CHANGEAGENTID,
                        [DATECHANGED] = @CURRENTDATE
                    where 
                        [ID] = @ID;

                        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