Repository URL to install this package:
|
Version:
3.2.0 ▾
|
unit googleaudit;
{
**********************************************************************
This file is part of the Free Component Library (FCL)
Copyright (c) 2015 The free pascal team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************
}
//Generated on: 16-5-15 08:52:58
{$MODE objfpc}
{$H+}
interface
uses sysutils, classes, googleservice, restbase, googlebase;
type
//Top-level schema types
TActivities = Class;
TActivity = Class;
TActivitiesArray = Array of TActivities;
TActivityArray = Array of TActivity;
//Anonymous types, using auto-generated names
TActivityTypeactor = Class;
TActivityTypeeventsItemTypeparametersItem = Class;
TActivityTypeeventsItem = Class;
TActivityTypeid = Class;
TActivitiesTypeitemsArray = Array of TActivity;
TActivityTypeeventsItemTypeparametersArray = Array of TActivityTypeeventsItemTypeparametersItem;
TActivityTypeeventsArray = Array of TActivityTypeeventsItem;
{ --------------------------------------------------------------------
TActivities
--------------------------------------------------------------------}
TActivities = Class(TGoogleBaseObject)
Private
Fitems : TActivitiesTypeitemsArray;
Fkind : String;
Fnext : String;
Protected
//Property setters
Procedure Setitems(AIndex : Integer; AValue : TActivitiesTypeitemsArray); virtual;
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure Setnext(AIndex : Integer; const AValue : String); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property items : TActivitiesTypeitemsArray Index 0 Read Fitems Write Setitems;
Property kind : String Index 8 Read Fkind Write Setkind;
Property next : String Index 16 Read Fnext Write Setnext;
end;
TActivitiesClass = Class of TActivities;
{ --------------------------------------------------------------------
TActivityTypeactor
--------------------------------------------------------------------}
TActivityTypeactor = Class(TGoogleBaseObject)
Private
FapplicationId : String;
FcallerType : String;
Femail : String;
Fkey : String;
Protected
//Property setters
Procedure SetapplicationId(AIndex : Integer; const AValue : String); virtual;
Procedure SetcallerType(AIndex : Integer; const AValue : String); virtual;
Procedure Setemail(AIndex : Integer; const AValue : String); virtual;
Procedure Setkey(AIndex : Integer; const AValue : String); virtual;
Public
Published
Property applicationId : String Index 0 Read FapplicationId Write SetapplicationId;
Property callerType : String Index 8 Read FcallerType Write SetcallerType;
Property email : String Index 16 Read Femail Write Setemail;
Property key : String Index 24 Read Fkey Write Setkey;
end;
TActivityTypeactorClass = Class of TActivityTypeactor;
{ --------------------------------------------------------------------
TActivityTypeeventsItemTypeparametersItem
--------------------------------------------------------------------}
TActivityTypeeventsItemTypeparametersItem = Class(TGoogleBaseObject)
Private
Fname : String;
Fvalue : String;
Protected
//Property setters
Procedure Setname(AIndex : Integer; const AValue : String); virtual;
Procedure Setvalue(AIndex : Integer; const AValue : String); virtual;
Public
Published
Property name : String Index 0 Read Fname Write Setname;
Property value : String Index 8 Read Fvalue Write Setvalue;
end;
TActivityTypeeventsItemTypeparametersItemClass = Class of TActivityTypeeventsItemTypeparametersItem;
{ --------------------------------------------------------------------
TActivityTypeeventsItem
--------------------------------------------------------------------}
TActivityTypeeventsItem = Class(TGoogleBaseObject)
Private
FeventType : String;
Fname : String;
Fparameters : TActivityTypeeventsItemTypeparametersArray;
Protected
//Property setters
Procedure SeteventType(AIndex : Integer; const AValue : String); virtual;
Procedure Setname(AIndex : Integer; const AValue : String); virtual;
Procedure Setparameters(AIndex : Integer; AValue : TActivityTypeeventsItemTypeparametersArray); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property eventType : String Index 0 Read FeventType Write SeteventType;
Property name : String Index 8 Read Fname Write Setname;
Property parameters : TActivityTypeeventsItemTypeparametersArray Index 16 Read Fparameters Write Setparameters;
end;
TActivityTypeeventsItemClass = Class of TActivityTypeeventsItem;
{ --------------------------------------------------------------------
TActivityTypeid
--------------------------------------------------------------------}
TActivityTypeid = Class(TGoogleBaseObject)
Private
FapplicationId : String;
FcustomerId : String;
Ftime : TDatetime;
FuniqQualifier : String;
Protected
//Property setters
Procedure SetapplicationId(AIndex : Integer; const AValue : String); virtual;
Procedure SetcustomerId(AIndex : Integer; const AValue : String); virtual;
Procedure Settime(AIndex : Integer; AValue : TDatetime); virtual;
Procedure SetuniqQualifier(AIndex : Integer; const AValue : String); virtual;
Public
Published
Property applicationId : String Index 0 Read FapplicationId Write SetapplicationId;
Property customerId : String Index 8 Read FcustomerId Write SetcustomerId;
Property time : TDatetime Index 16 Read Ftime Write Settime;
Property uniqQualifier : String Index 24 Read FuniqQualifier Write SetuniqQualifier;
end;
TActivityTypeidClass = Class of TActivityTypeid;
{ --------------------------------------------------------------------
TActivity
--------------------------------------------------------------------}
TActivity = Class(TGoogleBaseObject)
Private
Factor : TActivityTypeactor;
Fevents : TActivityTypeeventsArray;
Fid : TActivityTypeid;
FipAddress : String;
Fkind : String;
FownerDomain : String;
Protected
//Property setters
Procedure Setactor(AIndex : Integer; AValue : TActivityTypeactor); virtual;
Procedure Setevents(AIndex : Integer; AValue : TActivityTypeeventsArray); virtual;
Procedure Setid(AIndex : Integer; AValue : TActivityTypeid); virtual;
Procedure SetipAddress(AIndex : Integer; const AValue : String); virtual;
Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
Procedure SetownerDomain(AIndex : Integer; const AValue : String); virtual;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
{$ENDIF VER2_6}
Public
Published
Property actor : TActivityTypeactor Index 0 Read Factor Write Setactor;
Property events : TActivityTypeeventsArray Index 8 Read Fevents Write Setevents;
Property id : TActivityTypeid Index 16 Read Fid Write Setid;
Property ipAddress : String Index 24 Read FipAddress Write SetipAddress;
Property kind : String Index 32 Read Fkind Write Setkind;
Property ownerDomain : String Index 40 Read FownerDomain Write SetownerDomain;
end;
TActivityClass = Class of TActivity;
{ --------------------------------------------------------------------
TActivitiesResource
--------------------------------------------------------------------}
//Optional query Options for TActivitiesResource, method List
TActivitiesListOptions = Record
actorApplicationId : int64;
actorEmail : String;
actorIpAddress : String;
caller : String;
continuationToken : String;
endTime : String;
eventName : String;
maxResults : integer;
startTime : String;
end;
TActivitiesResource = Class(TGoogleResource)
Public
Class Function ResourceName : String; override;
Class Function DefaultAPI : TGoogleAPIClass; override;
Function List(applicationId: string; customerId: string; AQuery : string = '') : TActivities;
Function List(applicationId: string; customerId: string; AQuery : TActivitieslistOptions) : TActivities;
end;
{ --------------------------------------------------------------------
TAuditAPI
--------------------------------------------------------------------}
TAuditAPI = Class(TGoogleAPI)
Private
FActivitiesInstance : TActivitiesResource;
Function GetActivitiesInstance : TActivitiesResource;virtual;
Public
//Override class functions with API info
Class Function APIName : String; override;
Class Function APIVersion : String; override;
Class Function APIRevision : String; override;
Class Function APIID : String; override;
Class Function APITitle : String; override;
Class Function APIDescription : String; override;
Class Function APIOwnerDomain : String; override;
Class Function APIOwnerName : String; override;
Class Function APIIcon16 : String; override;
Class Function APIIcon32 : String; override;
Class Function APIdocumentationLink : String; override;
Class Function APIrootUrl : string; override;
Class Function APIbasePath : string;override;
Class Function APIbaseURL : String;override;
Class Function APIProtocol : string;override;
Class Function APIservicePath : string;override;
Class Function APIbatchPath : String;override;
Class Function APIAuthScopes : TScopeInfoArray;override;
Class Function APINeedsAuth : Boolean;override;
Class Procedure RegisterAPIResources; override;
//Add create function for resources
Function CreateActivitiesResource(AOwner : TComponent) : TActivitiesResource;virtual;overload;
Function CreateActivitiesResource : TActivitiesResource;virtual;overload;
//Add default on-demand instances for resources
Property ActivitiesResource : TActivitiesResource Read GetActivitiesInstance;
end;
implementation
{ --------------------------------------------------------------------
TActivities
--------------------------------------------------------------------}
Procedure TActivities.Setitems(AIndex : Integer; AValue : TActivitiesTypeitemsArray);
begin
If (Fitems=AValue) then exit;
Fitems:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivities.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivities.Setnext(AIndex : Integer; const AValue : String);
begin
If (Fnext=AValue) then exit;
Fnext:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TActivities.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'items' : SetLength(Fitems,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TActivityTypeactor
--------------------------------------------------------------------}
Procedure TActivityTypeactor.SetapplicationId(AIndex : Integer; const AValue : String);
begin
If (FapplicationId=AValue) then exit;
FapplicationId:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeactor.SetcallerType(AIndex : Integer; const AValue : String);
begin
If (FcallerType=AValue) then exit;
FcallerType:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeactor.Setemail(AIndex : Integer; const AValue : String);
begin
If (Femail=AValue) then exit;
Femail:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeactor.Setkey(AIndex : Integer; const AValue : String);
begin
If (Fkey=AValue) then exit;
Fkey:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TActivityTypeeventsItemTypeparametersItem
--------------------------------------------------------------------}
Procedure TActivityTypeeventsItemTypeparametersItem.Setname(AIndex : Integer; const AValue : String);
begin
If (Fname=AValue) then exit;
Fname:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeeventsItemTypeparametersItem.Setvalue(AIndex : Integer; const AValue : String);
begin
If (Fvalue=AValue) then exit;
Fvalue:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TActivityTypeeventsItem
--------------------------------------------------------------------}
Procedure TActivityTypeeventsItem.SeteventType(AIndex : Integer; const AValue : String);
begin
If (FeventType=AValue) then exit;
FeventType:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeeventsItem.Setname(AIndex : Integer; const AValue : String);
begin
If (Fname=AValue) then exit;
Fname:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeeventsItem.Setparameters(AIndex : Integer; AValue : TActivityTypeeventsItemTypeparametersArray);
begin
If (Fparameters=AValue) then exit;
Fparameters:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TActivityTypeeventsItem.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'parameters' : SetLength(Fparameters,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TActivityTypeid
--------------------------------------------------------------------}
Procedure TActivityTypeid.SetapplicationId(AIndex : Integer; const AValue : String);
begin
If (FapplicationId=AValue) then exit;
FapplicationId:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeid.SetcustomerId(AIndex : Integer; const AValue : String);
begin
If (FcustomerId=AValue) then exit;
FcustomerId:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeid.Settime(AIndex : Integer; AValue : TDatetime);
begin
If (Ftime=AValue) then exit;
Ftime:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivityTypeid.SetuniqQualifier(AIndex : Integer; const AValue : String);
begin
If (FuniqQualifier=AValue) then exit;
FuniqQualifier:=AValue;
MarkPropertyChanged(AIndex);
end;
{ --------------------------------------------------------------------
TActivity
--------------------------------------------------------------------}
Procedure TActivity.Setactor(AIndex : Integer; AValue : TActivityTypeactor);
begin
If (Factor=AValue) then exit;
Factor:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivity.Setevents(AIndex : Integer; AValue : TActivityTypeeventsArray);
begin
If (Fevents=AValue) then exit;
Fevents:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivity.Setid(AIndex : Integer; AValue : TActivityTypeid);
begin
If (Fid=AValue) then exit;
Fid:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivity.SetipAddress(AIndex : Integer; const AValue : String);
begin
If (FipAddress=AValue) then exit;
FipAddress:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivity.Setkind(AIndex : Integer; const AValue : String);
begin
If (Fkind=AValue) then exit;
Fkind:=AValue;
MarkPropertyChanged(AIndex);
end;
Procedure TActivity.SetownerDomain(AIndex : Integer; const AValue : String);
begin
If (FownerDomain=AValue) then exit;
FownerDomain:=AValue;
MarkPropertyChanged(AIndex);
end;
//2.6.4. bug workaround
{$IFDEF VER2_6}
Procedure TActivity.SetArrayLength(Const AName : String; ALength : Longint);
begin
Case AName of
'events' : SetLength(Fevents,ALength);
else
Inherited SetArrayLength(AName,ALength);
end;
end;
{$ENDIF VER2_6}
{ --------------------------------------------------------------------
TActivitiesResource
--------------------------------------------------------------------}
Class Function TActivitiesResource.ResourceName : String;
begin
Result:='activities';
end;
Class Function TActivitiesResource.DefaultAPI : TGoogleAPIClass;
begin
Result:=TauditAPI;
end;
Function TActivitiesResource.List(applicationId: string; customerId: string; AQuery : string = '') : TActivities;
Const
_HTTPMethod = 'GET';
_Path = '{customerId}/{applicationId}';
_Methodid = 'audit.activities.list';
Var
_P : String;
begin
_P:=SubstitutePath(_Path,['applicationId',applicationId,'customerId',customerId]);
Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TActivities) as TActivities;
end;
Function TActivitiesResource.List(applicationId: string; customerId: string; AQuery : TActivitieslistOptions) : TActivities;
Var
_Q : String;
begin
_Q:='';
AddToQuery(_Q,'actorApplicationId',AQuery.actorApplicationId);
AddToQuery(_Q,'actorEmail',AQuery.actorEmail);
AddToQuery(_Q,'actorIpAddress',AQuery.actorIpAddress);
AddToQuery(_Q,'caller',AQuery.caller);
AddToQuery(_Q,'continuationToken',AQuery.continuationToken);
AddToQuery(_Q,'endTime',AQuery.endTime);
AddToQuery(_Q,'eventName',AQuery.eventName);
AddToQuery(_Q,'maxResults',AQuery.maxResults);
AddToQuery(_Q,'startTime',AQuery.startTime);
Result:=List(applicationId,customerId,_Q);
end;
{ --------------------------------------------------------------------
TAuditAPI
--------------------------------------------------------------------}
Class Function TAuditAPI.APIName : String;
begin
Result:='audit';
end;
Class Function TAuditAPI.APIVersion : String;
begin
Result:='v1';
end;
Class Function TAuditAPI.APIRevision : String;
begin
Result:='20150419';
end;
Class Function TAuditAPI.APIID : String;
begin
Result:='audit:v1';
end;
Class Function TAuditAPI.APITitle : String;
begin
Result:='Enterprise Audit API';
end;
Class Function TAuditAPI.APIDescription : String;
begin
Result:='Lets you access user activities in your enterprise made through various applications.';
end;
Class Function TAuditAPI.APIOwnerDomain : String;
begin
Result:='google.com';
end;
Class Function TAuditAPI.APIOwnerName : String;
begin
Result:='Google';
end;
Class Function TAuditAPI.APIIcon16 : String;
begin
Result:='http://www.google.com/images/icons/product/search-16.gif';
end;
Class Function TAuditAPI.APIIcon32 : String;
begin
Result:='http://www.google.com/images/icons/product/search-32.gif';
end;
Class Function TAuditAPI.APIdocumentationLink : String;
begin
Result:='https://developers.google.com/google-apps/admin-audit/get_started';
end;
Class Function TAuditAPI.APIrootUrl : string;
begin
Result:='https://www.googleapis.com:443/';
end;
Class Function TAuditAPI.APIbasePath : string;
begin
Result:='/apps/reporting/audit/v1/';
end;
Class Function TAuditAPI.APIbaseURL : String;
begin
Result:='https://www.googleapis.com:443/apps/reporting/audit/v1/';
end;
Class Function TAuditAPI.APIProtocol : string;
begin
Result:='rest';
end;
Class Function TAuditAPI.APIservicePath : string;
begin
Result:='apps/reporting/audit/v1/';
end;
Class Function TAuditAPI.APIbatchPath : String;
begin
Result:='batch';
end;
Class Function TAuditAPI.APIAuthScopes : TScopeInfoArray;
begin
SetLength(Result,0);
end;
Class Function TAuditAPI.APINeedsAuth : Boolean;
begin
Result:=False;
end;
Class Procedure TAuditAPI.RegisterAPIResources;
begin
TActivities.RegisterObject;
TActivityTypeactor.RegisterObject;
TActivityTypeeventsItemTypeparametersItem.RegisterObject;
TActivityTypeeventsItem.RegisterObject;
TActivityTypeid.RegisterObject;
TActivity.RegisterObject;
end;
Function TAuditAPI.GetActivitiesInstance : TActivitiesResource;
begin
if (FActivitiesInstance=Nil) then
FActivitiesInstance:=CreateActivitiesResource;
Result:=FActivitiesInstance;
end;
Function TAuditAPI.CreateActivitiesResource : TActivitiesResource;
begin
Result:=CreateActivitiesResource(Self);
end;
Function TAuditAPI.CreateActivitiesResource(AOwner : TComponent) : TActivitiesResource;
begin
Result:=TActivitiesResource.Create(AOwner);
Result.API:=Self.API;
end;
initialization
TAuditAPI.RegisterAPI;
end.