diff options
Diffstat (limited to 'packages/googleapi/src/googlefirebaserules.pp')
-rw-r--r-- | packages/googleapi/src/googlefirebaserules.pp | 1244 |
1 files changed, 1244 insertions, 0 deletions
diff --git a/packages/googleapi/src/googlefirebaserules.pp b/packages/googleapi/src/googlefirebaserules.pp new file mode 100644 index 0000000000..2aa761e2f2 --- /dev/null +++ b/packages/googleapi/src/googlefirebaserules.pp @@ -0,0 +1,1244 @@ +unit googlefirebaserules; +{$MODE objfpc} +{$H+} + +interface + +uses sysutils, classes, googleservice, restbase, googlebase; + +type + + //Top-level schema types + TRelease = Class; + TSource = Class; + TSourcePosition = Class; + TTestRulesetResponse = Class; + TRuleset = Class; + TListReleasesResponse = Class; + TListRulesetsResponse = Class; + TEmpty = Class; + TFile = Class; + TTestRulesetRequest = Class; + TIssue = Class; + TReleaseArray = Array of TRelease; + TSourceArray = Array of TSource; + TSourcePositionArray = Array of TSourcePosition; + TTestRulesetResponseArray = Array of TTestRulesetResponse; + TRulesetArray = Array of TRuleset; + TListReleasesResponseArray = Array of TListReleasesResponse; + TListRulesetsResponseArray = Array of TListRulesetsResponse; + TEmptyArray = Array of TEmpty; + TFileArray = Array of TFile; + TTestRulesetRequestArray = Array of TTestRulesetRequest; + TIssueArray = Array of TIssue; + //Anonymous types, using auto-generated names + TSourceTypefilesArray = Array of TFile; + TTestRulesetResponseTypeissuesArray = Array of TIssue; + TListReleasesResponseTypereleasesArray = Array of TRelease; + TListRulesetsResponseTyperulesetsArray = Array of TRuleset; + + { -------------------------------------------------------------------- + TRelease + --------------------------------------------------------------------} + + TRelease = Class(TGoogleBaseObject) + Private + FupdateTime : String; + FcreateTime : String; + Fname : String; + FrulesetName : String; + Protected + //Property setters + Procedure SetupdateTime(AIndex : Integer; const AValue : String); virtual; + Procedure SetcreateTime(AIndex : Integer; const AValue : String); virtual; + Procedure Setname(AIndex : Integer; const AValue : String); virtual; + Procedure SetrulesetName(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property updateTime : String Index 0 Read FupdateTime Write SetupdateTime; + Property createTime : String Index 8 Read FcreateTime Write SetcreateTime; + Property name : String Index 16 Read Fname Write Setname; + Property rulesetName : String Index 24 Read FrulesetName Write SetrulesetName; + end; + TReleaseClass = Class of TRelease; + + { -------------------------------------------------------------------- + TSource + --------------------------------------------------------------------} + + TSource = Class(TGoogleBaseObject) + Private + Ffiles : TSourceTypefilesArray; + Protected + //Property setters + Procedure Setfiles(AIndex : Integer; const AValue : TSourceTypefilesArray); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property files : TSourceTypefilesArray Index 0 Read Ffiles Write Setfiles; + end; + TSourceClass = Class of TSource; + + { -------------------------------------------------------------------- + TSourcePosition + --------------------------------------------------------------------} + + TSourcePosition = Class(TGoogleBaseObject) + Private + FfileName : String; + Fcolumn : integer; + Fline : integer; + Protected + //Property setters + Procedure SetfileName(AIndex : Integer; const AValue : String); virtual; + Procedure Setcolumn(AIndex : Integer; const AValue : integer); virtual; + Procedure Setline(AIndex : Integer; const AValue : integer); virtual; + Public + Published + Property fileName : String Index 0 Read FfileName Write SetfileName; + Property column : integer Index 8 Read Fcolumn Write Setcolumn; + Property line : integer Index 16 Read Fline Write Setline; + end; + TSourcePositionClass = Class of TSourcePosition; + + { -------------------------------------------------------------------- + TTestRulesetResponse + --------------------------------------------------------------------} + + TTestRulesetResponse = Class(TGoogleBaseObject) + Private + Fissues : TTestRulesetResponseTypeissuesArray; + Protected + //Property setters + Procedure Setissues(AIndex : Integer; const AValue : TTestRulesetResponseTypeissuesArray); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property issues : TTestRulesetResponseTypeissuesArray Index 0 Read Fissues Write Setissues; + end; + TTestRulesetResponseClass = Class of TTestRulesetResponse; + + { -------------------------------------------------------------------- + TRuleset + --------------------------------------------------------------------} + + TRuleset = Class(TGoogleBaseObject) + Private + Fsource : TSource; + FcreateTime : String; + Fname : String; + Protected + //Property setters + Procedure Setsource(AIndex : Integer; const AValue : TSource); virtual; + Procedure SetcreateTime(AIndex : Integer; const AValue : String); virtual; + Procedure Setname(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property source : TSource Index 0 Read Fsource Write Setsource; + Property createTime : String Index 8 Read FcreateTime Write SetcreateTime; + Property name : String Index 16 Read Fname Write Setname; + end; + TRulesetClass = Class of TRuleset; + + { -------------------------------------------------------------------- + TListReleasesResponse + --------------------------------------------------------------------} + + TListReleasesResponse = Class(TGoogleBaseObject) + Private + FnextPageToken : String; + Freleases : TListReleasesResponseTypereleasesArray; + Protected + //Property setters + Procedure SetnextPageToken(AIndex : Integer; const AValue : String); virtual; + Procedure Setreleases(AIndex : Integer; const AValue : TListReleasesResponseTypereleasesArray); virtual; + //2.6.4. bug workaround + {$IFDEF VER2_6} + Procedure SetArrayLength(Const AName : String; ALength : Longint); override; + {$ENDIF VER2_6} + Public + Published + Property nextPageToken : String Index 0 Read FnextPageToken Write SetnextPageToken; + Property releases : TListReleasesResponseTypereleasesArray Index 8 Read Freleases Write Setreleases; + end; + TListReleasesResponseClass = Class of TListReleasesResponse; + + { -------------------------------------------------------------------- + TListRulesetsResponse + --------------------------------------------------------------------} + + TListRulesetsResponse = Class(TGoogleBaseObject) + Private + Frulesets : TListRulesetsResponseTyperulesetsArray; + FnextPageToken : String; + Protected + //Property setters + Procedure Setrulesets(AIndex : Integer; const AValue : TListRulesetsResponseTyperulesetsArray); virtual; + Procedure SetnextPageToken(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 rulesets : TListRulesetsResponseTyperulesetsArray Index 0 Read Frulesets Write Setrulesets; + Property nextPageToken : String Index 8 Read FnextPageToken Write SetnextPageToken; + end; + TListRulesetsResponseClass = Class of TListRulesetsResponse; + + { -------------------------------------------------------------------- + TEmpty + --------------------------------------------------------------------} + + TEmpty = Class(TGoogleBaseObject) + Private + Protected + //Property setters + Public + Published + end; + TEmptyClass = Class of TEmpty; + + { -------------------------------------------------------------------- + TFile + --------------------------------------------------------------------} + + TFile = Class(TGoogleBaseObject) + Private + Fcontent : String; + Fname : String; + Ffingerprint : String; + Protected + //Property setters + Procedure Setcontent(AIndex : Integer; const AValue : String); virtual; + Procedure Setname(AIndex : Integer; const AValue : String); virtual; + Procedure Setfingerprint(AIndex : Integer; const AValue : String); virtual; + Public + Published + Property content : String Index 0 Read Fcontent Write Setcontent; + Property name : String Index 8 Read Fname Write Setname; + Property fingerprint : String Index 16 Read Ffingerprint Write Setfingerprint; + end; + TFileClass = Class of TFile; + + { -------------------------------------------------------------------- + TTestRulesetRequest + --------------------------------------------------------------------} + + TTestRulesetRequest = Class(TGoogleBaseObject) + Private + Fsource : TSource; + Protected + //Property setters + Procedure Setsource(AIndex : Integer; const AValue : TSource); virtual; + Public + Published + Property source : TSource Index 0 Read Fsource Write Setsource; + end; + TTestRulesetRequestClass = Class of TTestRulesetRequest; + + { -------------------------------------------------------------------- + TIssue + --------------------------------------------------------------------} + + TIssue = Class(TGoogleBaseObject) + Private + Fdescription : String; + Fseverity : String; + FsourcePosition : TSourcePosition; + Protected + //Property setters + Procedure Setdescription(AIndex : Integer; const AValue : String); virtual; + Procedure Setseverity(AIndex : Integer; const AValue : String); virtual; + Procedure SetsourcePosition(AIndex : Integer; const AValue : TSourcePosition); virtual; + Public + Published + Property description : String Index 0 Read Fdescription Write Setdescription; + Property severity : String Index 8 Read Fseverity Write Setseverity; + Property sourcePosition : TSourcePosition Index 16 Read FsourcePosition Write SetsourcePosition; + end; + TIssueClass = Class of TIssue; + + { -------------------------------------------------------------------- + TProjectsRulesetsResource + --------------------------------------------------------------------} + + + //Optional query Options for TProjectsRulesetsResource, method List + + TProjectsRulesetsListOptions = Record + pageSize : integer; + pageToken : String; + end; + + TProjectsRulesetsResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Function Create(_name: string; aRuleset : TRuleset) : TRuleset;overload; + Function Get(_name: string) : TRuleset; + Function List(_name: string; AQuery : string = '') : TListRulesetsResponse; + Function List(_name: string; AQuery : TProjectsRulesetslistOptions) : TListRulesetsResponse; + Function Delete(_name: string) : TEmpty; + end; + + + { -------------------------------------------------------------------- + TProjectsReleasesResource + --------------------------------------------------------------------} + + + //Optional query Options for TProjectsReleasesResource, method List + + TProjectsReleasesListOptions = Record + pageSize : integer; + filter : String; + pageToken : String; + end; + + TProjectsReleasesResource = Class(TGoogleResource) + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Function Update(_name: string; aRelease : TRelease) : TRelease; + Function Create(_name: string; aRelease : TRelease) : TRelease;overload; + Function Get(_name: string) : TRelease; + Function List(_name: string; AQuery : string = '') : TListReleasesResponse; + Function List(_name: string; AQuery : TProjectsReleaseslistOptions) : TListReleasesResponse; + Function Delete(_name: string) : TEmpty; + end; + + + { -------------------------------------------------------------------- + TProjectsResource + --------------------------------------------------------------------} + + TProjectsResource = Class(TGoogleResource) + Private + FRulesetsInstance : TProjectsRulesetsResource; + FReleasesInstance : TProjectsReleasesResource; + Function GetRulesetsInstance : TProjectsRulesetsResource;virtual; + Function GetReleasesInstance : TProjectsReleasesResource;virtual; + Public + Class Function ResourceName : String; override; + Class Function DefaultAPI : TGoogleAPIClass; override; + Function Test(_name: string; aTestRulesetRequest : TTestRulesetRequest) : TTestRulesetResponse; + Function CreateRulesetsResource(AOwner : TComponent) : TProjectsRulesetsResource;virtual;overload; + Function CreateRulesetsResource : TProjectsRulesetsResource;virtual;overload; + Function CreateReleasesResource(AOwner : TComponent) : TProjectsReleasesResource;virtual;overload; + Function CreateReleasesResource : TProjectsReleasesResource;virtual;overload; + Property RulesetsResource : TProjectsRulesetsResource Read GetRulesetsInstance; + Property ReleasesResource : TProjectsReleasesResource Read GetReleasesInstance; + end; + + + { -------------------------------------------------------------------- + TFirebaserulesAPI + --------------------------------------------------------------------} + + TFirebaserulesAPI = Class(TGoogleAPI) + Private + FProjectsRulesetsInstance : TProjectsRulesetsResource; + FProjectsReleasesInstance : TProjectsReleasesResource; + FProjectsInstance : TProjectsResource; + Function GetProjectsRulesetsInstance : TProjectsRulesetsResource;virtual; + Function GetProjectsReleasesInstance : TProjectsReleasesResource;virtual; + Function GetProjectsInstance : TProjectsResource;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 CreateProjectsRulesetsResource(AOwner : TComponent) : TProjectsRulesetsResource;virtual;overload; + Function CreateProjectsRulesetsResource : TProjectsRulesetsResource;virtual;overload; + Function CreateProjectsReleasesResource(AOwner : TComponent) : TProjectsReleasesResource;virtual;overload; + Function CreateProjectsReleasesResource : TProjectsReleasesResource;virtual;overload; + Function CreateProjectsResource(AOwner : TComponent) : TProjectsResource;virtual;overload; + Function CreateProjectsResource : TProjectsResource;virtual;overload; + //Add default on-demand instances for resources + Property ProjectsRulesetsResource : TProjectsRulesetsResource Read GetProjectsRulesetsInstance; + Property ProjectsReleasesResource : TProjectsReleasesResource Read GetProjectsReleasesInstance; + Property ProjectsResource : TProjectsResource Read GetProjectsInstance; + end; + +implementation + + +{ -------------------------------------------------------------------- + TRelease + --------------------------------------------------------------------} + + +Procedure TRelease.SetupdateTime(AIndex : Integer; const AValue : String); + +begin + If (FupdateTime=AValue) then exit; + FupdateTime:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TRelease.SetcreateTime(AIndex : Integer; const AValue : String); + +begin + If (FcreateTime=AValue) then exit; + FcreateTime:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TRelease.Setname(AIndex : Integer; const AValue : String); + +begin + If (Fname=AValue) then exit; + Fname:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TRelease.SetrulesetName(AIndex : Integer; const AValue : String); + +begin + If (FrulesetName=AValue) then exit; + FrulesetName:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TSource + --------------------------------------------------------------------} + + +Procedure TSource.Setfiles(AIndex : Integer; const AValue : TSourceTypefilesArray); + +begin + If (Ffiles=AValue) then exit; + Ffiles:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TSource.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'files' : SetLength(Ffiles,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TSourcePosition + --------------------------------------------------------------------} + + +Procedure TSourcePosition.SetfileName(AIndex : Integer; const AValue : String); + +begin + If (FfileName=AValue) then exit; + FfileName:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TSourcePosition.Setcolumn(AIndex : Integer; const AValue : integer); + +begin + If (Fcolumn=AValue) then exit; + Fcolumn:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TSourcePosition.Setline(AIndex : Integer; const AValue : integer); + +begin + If (Fline=AValue) then exit; + Fline:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TTestRulesetResponse + --------------------------------------------------------------------} + + +Procedure TTestRulesetResponse.Setissues(AIndex : Integer; const AValue : TTestRulesetResponseTypeissuesArray); + +begin + If (Fissues=AValue) then exit; + Fissues:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TTestRulesetResponse.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'issues' : SetLength(Fissues,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TRuleset + --------------------------------------------------------------------} + + +Procedure TRuleset.Setsource(AIndex : Integer; const AValue : TSource); + +begin + If (Fsource=AValue) then exit; + Fsource:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TRuleset.SetcreateTime(AIndex : Integer; const AValue : String); + +begin + If (FcreateTime=AValue) then exit; + FcreateTime:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TRuleset.Setname(AIndex : Integer; const AValue : String); + +begin + If (Fname=AValue) then exit; + Fname:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TListReleasesResponse + --------------------------------------------------------------------} + + +Procedure TListReleasesResponse.SetnextPageToken(AIndex : Integer; const AValue : String); + +begin + If (FnextPageToken=AValue) then exit; + FnextPageToken:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TListReleasesResponse.Setreleases(AIndex : Integer; const AValue : TListReleasesResponseTypereleasesArray); + +begin + If (Freleases=AValue) then exit; + Freleases:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TListReleasesResponse.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'releases' : SetLength(Freleases,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TListRulesetsResponse + --------------------------------------------------------------------} + + +Procedure TListRulesetsResponse.Setrulesets(AIndex : Integer; const AValue : TListRulesetsResponseTyperulesetsArray); + +begin + If (Frulesets=AValue) then exit; + Frulesets:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TListRulesetsResponse.SetnextPageToken(AIndex : Integer; const AValue : String); + +begin + If (FnextPageToken=AValue) then exit; + FnextPageToken:=AValue; + MarkPropertyChanged(AIndex); +end; + + +//2.6.4. bug workaround +{$IFDEF VER2_6} +Procedure TListRulesetsResponse.SetArrayLength(Const AName : String; ALength : Longint); + +begin + Case AName of + 'rulesets' : SetLength(Frulesets,ALength); + else + Inherited SetArrayLength(AName,ALength); + end; +end; +{$ENDIF VER2_6} + + + + +{ -------------------------------------------------------------------- + TEmpty + --------------------------------------------------------------------} + + + + +{ -------------------------------------------------------------------- + TFile + --------------------------------------------------------------------} + + +Procedure TFile.Setcontent(AIndex : Integer; const AValue : String); + +begin + If (Fcontent=AValue) then exit; + Fcontent:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TFile.Setname(AIndex : Integer; const AValue : String); + +begin + If (Fname=AValue) then exit; + Fname:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TFile.Setfingerprint(AIndex : Integer; const AValue : String); + +begin + If (Ffingerprint=AValue) then exit; + Ffingerprint:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TTestRulesetRequest + --------------------------------------------------------------------} + + +Procedure TTestRulesetRequest.Setsource(AIndex : Integer; const AValue : TSource); + +begin + If (Fsource=AValue) then exit; + Fsource:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TIssue + --------------------------------------------------------------------} + + +Procedure TIssue.Setdescription(AIndex : Integer; const AValue : String); + +begin + If (Fdescription=AValue) then exit; + Fdescription:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TIssue.Setseverity(AIndex : Integer; const AValue : String); + +begin + If (Fseverity=AValue) then exit; + Fseverity:=AValue; + MarkPropertyChanged(AIndex); +end; + + + +Procedure TIssue.SetsourcePosition(AIndex : Integer; const AValue : TSourcePosition); + +begin + If (FsourcePosition=AValue) then exit; + FsourcePosition:=AValue; + MarkPropertyChanged(AIndex); +end; + + + + + +{ -------------------------------------------------------------------- + TProjectsRulesetsResource + --------------------------------------------------------------------} + + +Class Function TProjectsRulesetsResource.ResourceName : String; + +begin + Result:='rulesets'; +end; + +Class Function TProjectsRulesetsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TfirebaserulesAPI; +end; + +Function TProjectsRulesetsResource.Create(_name: string; aRuleset : TRuleset) : TRuleset; + +Const + _HTTPMethod = 'POST'; + _Path = 'v1/{+name}/rulesets'; + _Methodid = 'firebaserules.projects.rulesets.create'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',aRuleset,TRuleset) as TRuleset; +end; + +Function TProjectsRulesetsResource.Get(_name: string) : TRuleset; + +Const + _HTTPMethod = 'GET'; + _Path = 'v1/{+name}'; + _Methodid = 'firebaserules.projects.rulesets.get'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TRuleset) as TRuleset; +end; + +Function TProjectsRulesetsResource.List(_name: string; AQuery : string = '') : TListRulesetsResponse; + +Const + _HTTPMethod = 'GET'; + _Path = 'v1/{+name}/rulesets'; + _Methodid = 'firebaserules.projects.rulesets.list'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListRulesetsResponse) as TListRulesetsResponse; +end; + + +Function TProjectsRulesetsResource.List(_name: string; AQuery : TProjectsRulesetslistOptions) : TListRulesetsResponse; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'pageSize',AQuery.pageSize); + AddToQuery(_Q,'pageToken',AQuery.pageToken); + Result:=List(_name,_Q); +end; + +Function TProjectsRulesetsResource.Delete(_name: string) : TEmpty; + +Const + _HTTPMethod = 'DELETE'; + _Path = 'v1/{+name}'; + _Methodid = 'firebaserules.projects.rulesets.delete'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TEmpty) as TEmpty; +end; + + + +{ -------------------------------------------------------------------- + TProjectsReleasesResource + --------------------------------------------------------------------} + + +Class Function TProjectsReleasesResource.ResourceName : String; + +begin + Result:='releases'; +end; + +Class Function TProjectsReleasesResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TfirebaserulesAPI; +end; + +Function TProjectsReleasesResource.Update(_name: string; aRelease : TRelease) : TRelease; + +Const + _HTTPMethod = 'PUT'; + _Path = 'v1/{+name}'; + _Methodid = 'firebaserules.projects.releases.update'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',aRelease,TRelease) as TRelease; +end; + +Function TProjectsReleasesResource.Create(_name: string; aRelease : TRelease) : TRelease; + +Const + _HTTPMethod = 'POST'; + _Path = 'v1/{+name}/releases'; + _Methodid = 'firebaserules.projects.releases.create'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',aRelease,TRelease) as TRelease; +end; + +Function TProjectsReleasesResource.Get(_name: string) : TRelease; + +Const + _HTTPMethod = 'GET'; + _Path = 'v1/{+name}'; + _Methodid = 'firebaserules.projects.releases.get'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TRelease) as TRelease; +end; + +Function TProjectsReleasesResource.List(_name: string; AQuery : string = '') : TListReleasesResponse; + +Const + _HTTPMethod = 'GET'; + _Path = 'v1/{+name}/releases'; + _Methodid = 'firebaserules.projects.releases.list'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TListReleasesResponse) as TListReleasesResponse; +end; + + +Function TProjectsReleasesResource.List(_name: string; AQuery : TProjectsReleaseslistOptions) : TListReleasesResponse; + +Var + _Q : String; + +begin + _Q:=''; + AddToQuery(_Q,'pageSize',AQuery.pageSize); + AddToQuery(_Q,'filter',AQuery.filter); + AddToQuery(_Q,'pageToken',AQuery.pageToken); + Result:=List(_name,_Q); +end; + +Function TProjectsReleasesResource.Delete(_name: string) : TEmpty; + +Const + _HTTPMethod = 'DELETE'; + _Path = 'v1/{+name}'; + _Methodid = 'firebaserules.projects.releases.delete'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TEmpty) as TEmpty; +end; + + + +{ -------------------------------------------------------------------- + TProjectsResource + --------------------------------------------------------------------} + + +Class Function TProjectsResource.ResourceName : String; + +begin + Result:='projects'; +end; + +Class Function TProjectsResource.DefaultAPI : TGoogleAPIClass; + +begin + Result:=TfirebaserulesAPI; +end; + +Function TProjectsResource.Test(_name: string; aTestRulesetRequest : TTestRulesetRequest) : TTestRulesetResponse; + +Const + _HTTPMethod = 'POST'; + _Path = 'v1/{+name}:test'; + _Methodid = 'firebaserules.projects.test'; + +Var + _P : String; + +begin + _P:=SubstitutePath(_Path,['name',_name]); + Result:=ServiceCall(_HTTPMethod,_P,'',aTestRulesetRequest,TTestRulesetResponse) as TTestRulesetResponse; +end; + + + +Function TProjectsResource.GetRulesetsInstance : TProjectsRulesetsResource; + +begin + if (FRulesetsInstance=Nil) then + FRulesetsInstance:=CreateRulesetsResource; + Result:=FRulesetsInstance; +end; + +Function TProjectsResource.CreateRulesetsResource : TProjectsRulesetsResource; + +begin + Result:=CreateRulesetsResource(Self); +end; + + +Function TProjectsResource.CreateRulesetsResource(AOwner : TComponent) : TProjectsRulesetsResource; + +begin + Result:=TProjectsRulesetsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TProjectsResource.GetReleasesInstance : TProjectsReleasesResource; + +begin + if (FReleasesInstance=Nil) then + FReleasesInstance:=CreateReleasesResource; + Result:=FReleasesInstance; +end; + +Function TProjectsResource.CreateReleasesResource : TProjectsReleasesResource; + +begin + Result:=CreateReleasesResource(Self); +end; + + +Function TProjectsResource.CreateReleasesResource(AOwner : TComponent) : TProjectsReleasesResource; + +begin + Result:=TProjectsReleasesResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +{ -------------------------------------------------------------------- + TFirebaserulesAPI + --------------------------------------------------------------------} + +Class Function TFirebaserulesAPI.APIName : String; + +begin + Result:='firebaserules'; +end; + +Class Function TFirebaserulesAPI.APIVersion : String; + +begin + Result:='v1'; +end; + +Class Function TFirebaserulesAPI.APIRevision : String; + +begin + Result:='20160517'; +end; + +Class Function TFirebaserulesAPI.APIID : String; + +begin + Result:='firebaserules:v1'; +end; + +Class Function TFirebaserulesAPI.APITitle : String; + +begin + Result:='Firebase Rules API'; +end; + +Class Function TFirebaserulesAPI.APIDescription : String; + +begin + Result:='Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request.'; +end; + +Class Function TFirebaserulesAPI.APIOwnerDomain : String; + +begin + Result:='google.com'; +end; + +Class Function TFirebaserulesAPI.APIOwnerName : String; + +begin + Result:='Google'; +end; + +Class Function TFirebaserulesAPI.APIIcon16 : String; + +begin + Result:='http://www.google.com/images/icons/product/search-16.gif'; +end; + +Class Function TFirebaserulesAPI.APIIcon32 : String; + +begin + Result:='http://www.google.com/images/icons/product/search-32.gif'; +end; + +Class Function TFirebaserulesAPI.APIdocumentationLink : String; + +begin + Result:='https://firebase.google.com/docs/storage/security/start'; +end; + +Class Function TFirebaserulesAPI.APIrootUrl : string; + +begin + Result:='https://firebaserules.googleapis.com/'; +end; + +Class Function TFirebaserulesAPI.APIbasePath : string; + +begin + Result:=''; +end; + +Class Function TFirebaserulesAPI.APIbaseURL : String; + +begin + Result:='https://firebaserules.googleapis.com/'; +end; + +Class Function TFirebaserulesAPI.APIProtocol : string; + +begin + Result:='rest'; +end; + +Class Function TFirebaserulesAPI.APIservicePath : string; + +begin + Result:=''; +end; + +Class Function TFirebaserulesAPI.APIbatchPath : String; + +begin + Result:='batch'; +end; + +Class Function TFirebaserulesAPI.APIAuthScopes : TScopeInfoArray; + +begin + SetLength(Result,1); + Result[0].Name:='https://www.googleapis.com/auth/cloud-platform'; + Result[0].Description:='View and manage your data across Google Cloud Platform services'; + +end; + +Class Function TFirebaserulesAPI.APINeedsAuth : Boolean; + +begin + Result:=True; +end; + +Class Procedure TFirebaserulesAPI.RegisterAPIResources; + +begin + TRelease.RegisterObject; + TSource.RegisterObject; + TSourcePosition.RegisterObject; + TTestRulesetResponse.RegisterObject; + TRuleset.RegisterObject; + TListReleasesResponse.RegisterObject; + TListRulesetsResponse.RegisterObject; + TEmpty.RegisterObject; + TFile.RegisterObject; + TTestRulesetRequest.RegisterObject; + TIssue.RegisterObject; +end; + + +Function TFirebaserulesAPI.GetProjectsRulesetsInstance : TProjectsRulesetsResource; + +begin + if (FProjectsRulesetsInstance=Nil) then + FProjectsRulesetsInstance:=CreateProjectsRulesetsResource; + Result:=FProjectsRulesetsInstance; +end; + +Function TFirebaserulesAPI.CreateProjectsRulesetsResource : TProjectsRulesetsResource; + +begin + Result:=CreateProjectsRulesetsResource(Self); +end; + + +Function TFirebaserulesAPI.CreateProjectsRulesetsResource(AOwner : TComponent) : TProjectsRulesetsResource; + +begin + Result:=TProjectsRulesetsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TFirebaserulesAPI.GetProjectsReleasesInstance : TProjectsReleasesResource; + +begin + if (FProjectsReleasesInstance=Nil) then + FProjectsReleasesInstance:=CreateProjectsReleasesResource; + Result:=FProjectsReleasesInstance; +end; + +Function TFirebaserulesAPI.CreateProjectsReleasesResource : TProjectsReleasesResource; + +begin + Result:=CreateProjectsReleasesResource(Self); +end; + + +Function TFirebaserulesAPI.CreateProjectsReleasesResource(AOwner : TComponent) : TProjectsReleasesResource; + +begin + Result:=TProjectsReleasesResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +Function TFirebaserulesAPI.GetProjectsInstance : TProjectsResource; + +begin + if (FProjectsInstance=Nil) then + FProjectsInstance:=CreateProjectsResource; + Result:=FProjectsInstance; +end; + +Function TFirebaserulesAPI.CreateProjectsResource : TProjectsResource; + +begin + Result:=CreateProjectsResource(Self); +end; + + +Function TFirebaserulesAPI.CreateProjectsResource(AOwner : TComponent) : TProjectsResource; + +begin + Result:=TProjectsResource.Create(AOwner); + Result.API:=Self.API; +end; + + + +initialization + TFirebaserulesAPI.RegisterAPI; +end. |