USP_DATAFORMTEMPLATE_EDITSAVE_THIRDPARTYAUTH_APPUSER_MARKINACTIVE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@DETAILS | nvarchar(300) | IN |
Definition
Copy
CREATE procedure [dbo].[USP_DATAFORMTEMPLATE_EDITSAVE_THIRDPARTYAUTH_APPUSER_MARKINACTIVE]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@DETAILS nvarchar(300)
)
as
set nocount on;
declare @INACTIVECODE tinyint = 4;
declare @INACTIVE bit = 0;
select
@INACTIVE = isnull([APPUSERTHIRDPARTYAUTH].[INACTIVE], 0)
from [dbo].[APPUSER]
left outer join [dbo].[APPUSERTHIRDPARTYAUTH]
on [APPUSER].[ID] = [APPUSERTHIRDPARTYAUTH].[ID]
where [APPUSER].[ID] = @ID;
if @INACTIVE = 1
raiserror('BBERR_APPUSERALREADYINACTIVE', 13, 1);
if @CHANGEAGENTID is null
exec [dbo].[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
declare @CURRENTDATETIMEOFFSET datetimeoffset = [dbo].[UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET](getutcdate(), 1);
begin try
if exists (select 1 from [dbo].[APPUSERTHIRDPARTYAUTH] where ID = @ID)
update [dbo].[APPUSERTHIRDPARTYAUTH] set
[INACTIVE] = 1,
[INACTIVEDATE] = @CURRENTDATETIMEOFFSET,
[INACTIVEDETAILS] = @DETAILS,
[INVITATIONID] = null,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
else
insert into [dbo].[APPUSERTHIRDPARTYAUTH]
([ID], [INACTIVE], [INACTIVEDATE], [INACTIVEDETAILS], [ADDEDBYID], [CHANGEDBYID], [DATEADDED], [DATECHANGED])
values
(@ID, 1, @CURRENTDATETIMEOFFSET, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
--USP executed to revoke PATs for inactive proxy user
exec dbo.USP_PROXYUSER_MARKINACTIVE_REVOKEPERSONALACCESSTOKEN @ID, @CHANGEAGENTID, @CURRENTDATE, @DETAILS;
declare @APPUSERINACTIVEREASONCODEID uniqueidentifier = 'CBB6C64D-8EE1-4CE6-B9D1-1D5F98D9EB0C'; --this is a default APPUSERINACTIVECODE
update [dbo].[APPUSER] set
[ISACTIVE] = 0,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from [dbo].[APPUSER]
where [ID] = @ID;
update [dbo].[APPUSERINACTIVEDETAIL] set
[APPUSERINACTIVEREASONCODEID] = @APPUSERINACTIVEREASONCODEID,
[DETAILS] = @DETAILS,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from [dbo].[APPUSERINACTIVEDETAIL]
where [ID]= @ID;
insert into [dbo].[APPUSERINACTIVEDETAIL]
([ID], [APPUSERINACTIVEREASONCODEID], [DETAILS], [ADDEDBYID], [CHANGEDBYID], [DATEADDED], [DATECHANGED])
values (@ID, @APPUSERINACTIVEREASONCODEID, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
declare @ISPROXYOWNER bit = 0;
exec @ISPROXYOWNER = [dbo].[UFN_APPUSER_HASPROXYUSER] @ID;
if @ISPROXYOWNER = 1
begin
exec [dbo].[USP_APPUSER_WITHPROXY_UPDATEPROXYINACTIVEREVOKEPAT] @ID, @APPUSERINACTIVEREASONCODEID, @DETAILS, @CHANGEAGENTID, @CURRENTDATE;
end
end try
begin catch
exec [dbo].[USP_RAISE_ERROR]
return 1
end catch
return 0;