//------------------------------------------------------------------ // 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.