//------------------------------------------------------------------
// Proxy Unit Generated by Delphi Microservices Container 4.3.20
// Do not modify this unit!
// Generated at: 2025-04-26 18.29.54
//------------------------------------------------------------------
unit AuthRPCProxy;
interface
uses
System.SysUtils,
System.Classes,
MVCFramework.JSONRPC,
MVCFramework.JSONRPC.Client,
MVCFramework.Serializer.Commons,
System.Net.URLClient,
JsonDataObjects;
type
IAuthRPCProxy = interface
['{558098F1-F845-4530-A081-6CC7348D9709}']
function RPCExecutor: IMVCJSONRPCExecutor;
procedure IgnoreInvalidCert;
///
/// Invokes [function GetLicenseInfo(const Token: string): TJsonObject]
/// Returns all the info about the current license.
///
function GetLicenseInfo(const Token: string): TJDOJsonObject;
///
/// Invokes [function CreateUser(const Token: string; const aUser: TJsonObject): TJsonObject]
///
function CreateUser(const Token: string; const aUser: TJsonObject): TJDOJsonObject;
///
/// Invokes [function UpdateUser(const Token: string; const UserID: Int64; const aUser: TJsonObject): TJsonObject]
///
function UpdateUser(const Token: string; const UserID: Int64; const aUser: TJsonObject): TJDOJsonObject;
///
/// Invokes [procedure ChangePassword(const Token: string; const UserID: Int64; const NewPassword: string)]
///
procedure ChangePassword(const Token: string; const UserID: Int64; const NewPassword: string);
///
/// Invokes [procedure DisableUser(const Token: string; const UserID: Int64)]
///
procedure DisableUser(const Token: string; const UserID: Int64);
///
/// Invokes [procedure EnableUser(const Token: string; const UserID: Int64)]
///
procedure EnableUser(const Token: string; const UserID: Int64);
///
/// Invokes [procedure DeleteUser(const Token: string; const UserID: Int64)]
///
procedure DeleteUser(const Token: string; const UserID: Int64);
///
/// Invokes [function DeleteUserByUserName(const Token: string; const UserName: string): TJsonObject]
///
function DeleteUserByUserName(const Token: string; const UserName: string): TJDOJsonObject;
///
/// Invokes [function GetUser(const Token: string; const UserID: Int64): TUser]
///
function GetUser(const Token: string; const UserID: Int64): IJSONRPCResponse;
///
/// Invokes [function GetUsers(const Token: string; const Filter: TJsonObject): TJsonObject]
///
function GetUsers(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
///
/// Invokes [function GetAudit(const Token: string; const Filter: TJsonObject): TJsonObject]
///
function GetAudit(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
///
/// Invokes [function GetUsersCount(const Token: string; const Filter: TJsonObject): TJsonObject]
///
function GetUsersCount(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
///
/// Invokes [function CreateContext(const Token: string; const SSOContext: TJsonObject): TJsonObject]
///
function CreateContext(const Token: string; const SSOContext: TJsonObject): TJDOJsonObject;
///
/// Invokes [procedure DeleteContext(const Token: string; const SSOContextID: Int64)]
///
procedure DeleteContext(const Token: string; const SSOContextID: Int64);
///
/// Invokes [procedure UpdateContext(const Token: string; const SSOContextID: Int64; const SSOContext: TJsonObject)]
///
procedure UpdateContext(const Token: string; const SSOContextID: Int64; const SSOContext: TJsonObject);
///
/// Invokes [function GetContexts(const Token: string; const RQLFilter: string): TJsonObject]
///
function GetContexts(const Token: string; const RQLFilter: string): TJDOJsonObject;
///
/// Invokes [function AddContextToUser(const Token: string; const UserID: Int64; const UserContext: TJsonObject): TJsonObject]
///
function AddContextToUser(const Token: string; const UserID: Int64; const UserContext: TJsonObject): TJDOJsonObject;
///
/// Invokes [procedure UpdateContextToUser(const Token: string; const UserContextID: Int64; const UserContext: TJsonObject)]
///
procedure UpdateContextToUser(const Token: string; const UserContextID: Int64; const UserContext: TJsonObject);
///
/// Invokes [function GetUserContext(const Token: string; const UserContextID: Int64): TJsonObject]
/// Returns a single User-Context base on UserContextID
///
function GetUserContext(const Token: string; const UserContextID: Int64): TJDOJsonObject;
///
/// Invokes [function GetUserContexts(const Token: string; UserID: Int64): TJsonObject]
/// Returns all User-Contexts by UserId
///
function GetUserContexts(const Token: string; UserID: Int64): TJDOJsonObject;
///
/// Invokes [function GetUserContextsByName(const Token: string; const SSOContextName: string): TJsonObject]
/// Returns all User-Contexts by ContextName
///
function GetUserContextsByName(const Token: string; const SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetAvailableContextsForUser(const Token: string; UserID: Int64): TJsonObject]
/// Returns all Contexts not associated with UserID
///
function GetAvailableContextsForUser(const Token: string; UserID: Int64): TJDOJsonObject;
///
/// Invokes [function GetAvailableUsersForContext(const Token: string; ContextID: Int64): TJsonObject]
/// Returns all Users not associated with ContextID
///
function GetAvailableUsersForContext(const Token: string; ContextID: Int64): TJDOJsonObject;
///
/// Invokes [procedure DeleteUserContext(const Token: string; const UserID: Int64; const SSOContextName: string)]
/// Removes the association between UserID and ContextName
///
procedure DeleteUserContext(const Token: string; const UserID: Int64; const SSOContextName: string);
///
/// Invokes [function GetAllMyContextInfoByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetAllMyContextInfoByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetMyContextDataByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetMyContextDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetMySystemDataByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetMySystemDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetMyUserDataByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetMyUserDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [procedure SetMyUserDataByContextName(const Token: string; const SSOContextName: string; const UserData: TJsonObject)]
///
procedure SetMyUserDataByContextName(const Token: string; const SSOContextName: string; const UserData: TJsonObject);
///
/// Invokes [function GetCurrentAPIKeyForUser(const Token: string; const UserID: Int64): TJsonObject]
///
function GetCurrentAPIKeyForUser(const Token: string; const UserID: Int64): TJDOJsonObject;
///
/// Invokes [function GenerateAPIKeyForUser(const Token: string; const UserID: Int64): TJsonObject]
///
function GenerateAPIKeyForUser(const Token: string; const UserID: Int64): TJDOJsonObject;
///
/// Invokes [procedure ClearAPIKeyForUser(const Token: string; const UserID: Int64)]
///
procedure ClearAPIKeyForUser(const Token: string; const UserID: Int64);
///
/// Invokes [function Login(const UserName: string; const Password: string): TJsonObject]
/// Returns the JWT token which can be used to call all other methods.
///
function Login(const UserName: string; const Password: string): TJDOJsonObject;
///
/// Invokes [function RefreshToken(const Token: string): TJsonObject]
/// Extends the expiration time of a still-valid token. Clients must use the token returned instead of the previous one.
///
function RefreshToken(const Token: string): TJDOJsonObject;
end;
TAuthRPCProxy = class(TInterfacedObject, IAuthRPCProxy)
protected
fRPCExecutor: IMVCJSONRPCExecutor;
function NewReqID: Int64;
procedure IgnoreInvalidServerCertificate(const Sender: TObject;
const ARequest: TURLRequest; const Certificate: TCertificate; var Accepted: Boolean);
public
function RPCExecutor: IMVCJSONRPCExecutor;
procedure IgnoreInvalidCert;
constructor Create(const EndpointURL: String); virtual;
///
/// Invokes [function GetLicenseInfo(const Token: string): TJsonObject]
/// Returns all the info about the current license.
///
function GetLicenseInfo(const Token: string): TJDOJsonObject;
///
/// Invokes [function CreateUser(const Token: string; const aUser: TJsonObject): TJsonObject]
///
function CreateUser(const Token: string; const aUser: TJsonObject): TJDOJsonObject;
///
/// Invokes [function UpdateUser(const Token: string; const UserID: Int64; const aUser: TJsonObject): TJsonObject]
///
function UpdateUser(const Token: string; const UserID: Int64; const aUser: TJsonObject): TJDOJsonObject;
///
/// Invokes [procedure ChangePassword(const Token: string; const UserID: Int64; const NewPassword: string)]
///
procedure ChangePassword(const Token: string; const UserID: Int64; const NewPassword: string);
///
/// Invokes [procedure DisableUser(const Token: string; const UserID: Int64)]
///
procedure DisableUser(const Token: string; const UserID: Int64);
///
/// Invokes [procedure EnableUser(const Token: string; const UserID: Int64)]
///
procedure EnableUser(const Token: string; const UserID: Int64);
///
/// Invokes [procedure DeleteUser(const Token: string; const UserID: Int64)]
///
procedure DeleteUser(const Token: string; const UserID: Int64);
///
/// Invokes [function DeleteUserByUserName(const Token: string; const UserName: string): TJsonObject]
///
function DeleteUserByUserName(const Token: string; const UserName: string): TJDOJsonObject;
///
/// Invokes [function GetUser(const Token: string; const UserID: Int64): TUser]
///
function GetUser(const Token: string; const UserID: Int64): IJSONRPCResponse;
///
/// Invokes [function GetUsers(const Token: string; const Filter: TJsonObject): TJsonObject]
///
function GetUsers(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
///
/// Invokes [function GetAudit(const Token: string; const Filter: TJsonObject): TJsonObject]
///
function GetAudit(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
///
/// Invokes [function GetUsersCount(const Token: string; const Filter: TJsonObject): TJsonObject]
///
function GetUsersCount(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
///
/// Invokes [function CreateContext(const Token: string; const SSOContext: TJsonObject): TJsonObject]
///
function CreateContext(const Token: string; const SSOContext: TJsonObject): TJDOJsonObject;
///
/// Invokes [procedure DeleteContext(const Token: string; const SSOContextID: Int64)]
///
procedure DeleteContext(const Token: string; const SSOContextID: Int64);
///
/// Invokes [procedure UpdateContext(const Token: string; const SSOContextID: Int64; const SSOContext: TJsonObject)]
///
procedure UpdateContext(const Token: string; const SSOContextID: Int64; const SSOContext: TJsonObject);
///
/// Invokes [function GetContexts(const Token: string; const RQLFilter: string): TJsonObject]
///
function GetContexts(const Token: string; const RQLFilter: string): TJDOJsonObject;
///
/// Invokes [function AddContextToUser(const Token: string; const UserID: Int64; const UserContext: TJsonObject): TJsonObject]
///
function AddContextToUser(const Token: string; const UserID: Int64; const UserContext: TJsonObject): TJDOJsonObject;
///
/// Invokes [procedure UpdateContextToUser(const Token: string; const UserContextID: Int64; const UserContext: TJsonObject)]
///
procedure UpdateContextToUser(const Token: string; const UserContextID: Int64; const UserContext: TJsonObject);
///
/// Invokes [function GetUserContext(const Token: string; const UserContextID: Int64): TJsonObject]
/// Returns a single User-Context base on UserContextID
///
function GetUserContext(const Token: string; const UserContextID: Int64): TJDOJsonObject;
///
/// Invokes [function GetUserContexts(const Token: string; UserID: Int64): TJsonObject]
/// Returns all User-Contexts by UserId
///
function GetUserContexts(const Token: string; UserID: Int64): TJDOJsonObject;
///
/// Invokes [function GetUserContextsByName(const Token: string; const SSOContextName: string): TJsonObject]
/// Returns all User-Contexts by ContextName
///
function GetUserContextsByName(const Token: string; const SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetAvailableContextsForUser(const Token: string; UserID: Int64): TJsonObject]
/// Returns all Contexts not associated with UserID
///
function GetAvailableContextsForUser(const Token: string; UserID: Int64): TJDOJsonObject;
///
/// Invokes [function GetAvailableUsersForContext(const Token: string; ContextID: Int64): TJsonObject]
/// Returns all Users not associated with ContextID
///
function GetAvailableUsersForContext(const Token: string; ContextID: Int64): TJDOJsonObject;
///
/// Invokes [procedure DeleteUserContext(const Token: string; const UserID: Int64; const SSOContextName: string)]
/// Removes the association between UserID and ContextName
///
procedure DeleteUserContext(const Token: string; const UserID: Int64; const SSOContextName: string);
///
/// Invokes [function GetAllMyContextInfoByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetAllMyContextInfoByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetMyContextDataByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetMyContextDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetMySystemDataByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetMySystemDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [function GetMyUserDataByContextName(const Token: string; SSOContextName: string): TJsonObject]
///
function GetMyUserDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
///
/// Invokes [procedure SetMyUserDataByContextName(const Token: string; const SSOContextName: string; const UserData: TJsonObject)]
///
procedure SetMyUserDataByContextName(const Token: string; const SSOContextName: string; const UserData: TJsonObject);
///
/// Invokes [function GetCurrentAPIKeyForUser(const Token: string; const UserID: Int64): TJsonObject]
///
function GetCurrentAPIKeyForUser(const Token: string; const UserID: Int64): TJDOJsonObject;
///
/// Invokes [function GenerateAPIKeyForUser(const Token: string; const UserID: Int64): TJsonObject]
///
function GenerateAPIKeyForUser(const Token: string; const UserID: Int64): TJDOJsonObject;
///
/// Invokes [procedure ClearAPIKeyForUser(const Token: string; const UserID: Int64)]
///
procedure ClearAPIKeyForUser(const Token: string; const UserID: Int64);
///
/// Invokes [function Login(const UserName: string; const Password: string): TJsonObject]
/// Returns the JWT token which can be used to call all other methods.
///
function Login(const UserName: string; const Password: string): TJDOJsonObject;
///
/// Invokes [function RefreshToken(const Token: string): TJsonObject]
/// Extends the expiration time of a still-valid token. Clients must use the token returned instead of the previous one.
///
function RefreshToken(const Token: string): TJDOJsonObject;
end;
implementation
constructor TAuthRPCProxy.Create(const EndpointURL: String);
begin
inherited Create;
fRPCExecutor := TMVCJSONRPCExecutor.Create(EndpointURL);
fRPCExecutor.AddHTTPHeader(TNetHeader.Create('Accept-Encoding', 'gzip,deflate'));
fRPCExecutor.AddHTTPHeader(TNetHeader.Create('User-Agent', 'dmscontainer-delphi-proxy'));
end;
function TAuthRPCProxy.NewReqID: Int64;
begin
Result := 10000 + Random(10000000);
end;
function TAuthRPCProxy.RPCExecutor: IMVCJSONRPCExecutor;
begin
Result := fRPCExecutor;
end;
procedure TAuthRPCProxy.IgnoreInvalidCert;
begin
fRPCExecutor.SetOnValidateServerCertificate(IgnoreInvalidServerCertificate);
end;
procedure TAuthRPCProxy.IgnoreInvalidServerCertificate(
const Sender: TObject; const ARequest: TURLRequest;
const Certificate: TCertificate; var Accepted: Boolean);
begin
Accepted := True;
end;
function TAuthRPCProxy.GetLicenseInfo(const Token: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetLicenseInfo');
lReq.Params.Add(Token);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.CreateUser(const Token: string; const aUser: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'CreateUser');
lReq.Params.Add(Token);
lReq.Params.Add(aUser);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.UpdateUser(const Token: string; const UserID: Int64; const aUser: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'UpdateUser');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lReq.Params.Add(aUser);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
procedure TAuthRPCProxy.ChangePassword(const Token: string; const UserID: Int64; const NewPassword: string);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('ChangePassword');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lNotification.Params.Add(NewPassword);
fRPCExecutor.ExecuteNotification(lNotification);
end;
procedure TAuthRPCProxy.DisableUser(const Token: string; const UserID: Int64);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('DisableUser');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
fRPCExecutor.ExecuteNotification(lNotification);
end;
procedure TAuthRPCProxy.EnableUser(const Token: string; const UserID: Int64);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('EnableUser');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
fRPCExecutor.ExecuteNotification(lNotification);
end;
procedure TAuthRPCProxy.DeleteUser(const Token: string; const UserID: Int64);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('DeleteUser');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
fRPCExecutor.ExecuteNotification(lNotification);
end;
function TAuthRPCProxy.DeleteUserByUserName(const Token: string; const UserName: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'DeleteUserByUserName');
lReq.Params.Add(Token);
lReq.Params.Add(UserName);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetUser(const Token: string; const UserID: Int64): IJSONRPCResponse;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetUser');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp; //TUser
end;
function TAuthRPCProxy.GetUsers(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetUsers');
lReq.Params.Add(Token);
lReq.Params.Add(Filter);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetAudit(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetAudit');
lReq.Params.Add(Token);
lReq.Params.Add(Filter);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetUsersCount(const Token: string; const Filter: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetUsersCount');
lReq.Params.Add(Token);
lReq.Params.Add(Filter);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.CreateContext(const Token: string; const SSOContext: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'CreateContext');
lReq.Params.Add(Token);
lReq.Params.Add(SSOContext);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
procedure TAuthRPCProxy.DeleteContext(const Token: string; const SSOContextID: Int64);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('DeleteContext');
lNotification.Params.Add(Token);
lNotification.Params.Add(SSOContextID, TJSONRPCParamDataType.pdtLongInteger);
fRPCExecutor.ExecuteNotification(lNotification);
end;
procedure TAuthRPCProxy.UpdateContext(const Token: string; const SSOContextID: Int64; const SSOContext: TJsonObject);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('UpdateContext');
lNotification.Params.Add(Token);
lNotification.Params.Add(SSOContextID, TJSONRPCParamDataType.pdtLongInteger);
lNotification.Params.Add(SSOContext);
fRPCExecutor.ExecuteNotification(lNotification);
end;
function TAuthRPCProxy.GetContexts(const Token: string; const RQLFilter: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetContexts');
lReq.Params.Add(Token);
lReq.Params.Add(RQLFilter);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.AddContextToUser(const Token: string; const UserID: Int64; const UserContext: TJsonObject): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'AddContextToUser');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lReq.Params.Add(UserContext);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
procedure TAuthRPCProxy.UpdateContextToUser(const Token: string; const UserContextID: Int64; const UserContext: TJsonObject);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('UpdateContextToUser');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserContextID, TJSONRPCParamDataType.pdtLongInteger);
lNotification.Params.Add(UserContext);
fRPCExecutor.ExecuteNotification(lNotification);
end;
function TAuthRPCProxy.GetUserContext(const Token: string; const UserContextID: Int64): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetUserContext');
lReq.Params.Add(Token);
lReq.Params.Add(UserContextID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetUserContexts(const Token: string; UserID: Int64): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetUserContexts');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetUserContextsByName(const Token: string; const SSOContextName: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetUserContextsByName');
lReq.Params.Add(Token);
lReq.Params.Add(SSOContextName);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetAvailableContextsForUser(const Token: string; UserID: Int64): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetAvailableContextsForUser');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetAvailableUsersForContext(const Token: string; ContextID: Int64): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetAvailableUsersForContext');
lReq.Params.Add(Token);
lReq.Params.Add(ContextID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
procedure TAuthRPCProxy.DeleteUserContext(const Token: string; const UserID: Int64; const SSOContextName: string);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('DeleteUserContext');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lNotification.Params.Add(SSOContextName);
fRPCExecutor.ExecuteNotification(lNotification);
end;
function TAuthRPCProxy.GetAllMyContextInfoByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetAllMyContextInfoByContextName');
lReq.Params.Add(Token);
lReq.Params.Add(SSOContextName);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetMyContextDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetMyContextDataByContextName');
lReq.Params.Add(Token);
lReq.Params.Add(SSOContextName);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetMySystemDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetMySystemDataByContextName');
lReq.Params.Add(Token);
lReq.Params.Add(SSOContextName);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GetMyUserDataByContextName(const Token: string; SSOContextName: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetMyUserDataByContextName');
lReq.Params.Add(Token);
lReq.Params.Add(SSOContextName);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
procedure TAuthRPCProxy.SetMyUserDataByContextName(const Token: string; const SSOContextName: string; const UserData: TJsonObject);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('SetMyUserDataByContextName');
lNotification.Params.Add(Token);
lNotification.Params.Add(SSOContextName);
lNotification.Params.Add(UserData);
fRPCExecutor.ExecuteNotification(lNotification);
end;
function TAuthRPCProxy.GetCurrentAPIKeyForUser(const Token: string; const UserID: Int64): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GetCurrentAPIKeyForUser');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.GenerateAPIKeyForUser(const Token: string; const UserID: Int64): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'GenerateAPIKeyForUser');
lReq.Params.Add(Token);
lReq.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
procedure TAuthRPCProxy.ClearAPIKeyForUser(const Token: string; const UserID: Int64);
var
lNotification: IJSONRPCNotification;
begin
lNotification := TJSONRPCNotification.Create('ClearAPIKeyForUser');
lNotification.Params.Add(Token);
lNotification.Params.Add(UserID, TJSONRPCParamDataType.pdtLongInteger);
fRPCExecutor.ExecuteNotification(lNotification);
end;
function TAuthRPCProxy.Login(const UserName: string; const Password: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'Login');
lReq.Params.Add(UserName);
lReq.Params.Add(Password);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
function TAuthRPCProxy.RefreshToken(const Token: string): TJDOJsonObject;
var
lReq: IJSONRPCRequest;
lResp: IJSONRPCResponse;
begin
lReq := TJSONRPCRequest.Create(NewReqID, 'RefreshToken');
lReq.Params.Add(Token);
lResp := fRPCExecutor.ExecuteRequest(lReq);
Result := lResp.ResultAsJSONObject.Clone as TJDOJsonObject; //TJsonObject
end;
end.