123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627 |
- unit googlelicensing;
- {$MODE objfpc}
- {$H+}
- interface
- uses sysutils, classes, googleservice, restbase, googlebase;
- type
-
- //Top-level schema types
- TLicenseAssignment = Class;
- TLicenseAssignmentInsert = Class;
- TLicenseAssignmentList = Class;
- TLicenseAssignmentArray = Array of TLicenseAssignment;
- TLicenseAssignmentInsertArray = Array of TLicenseAssignmentInsert;
- TLicenseAssignmentListArray = Array of TLicenseAssignmentList;
- //Anonymous types, using auto-generated names
- TLicenseAssignmentListTypeitemsArray = Array of TLicenseAssignment;
-
- { --------------------------------------------------------------------
- TLicenseAssignment
- --------------------------------------------------------------------}
-
- TLicenseAssignment = Class(TGoogleBaseObject)
- Private
- Fetags : String;
- Fkind : String;
- FproductId : String;
- FselfLink : String;
- FskuId : String;
- FuserId : String;
- Protected
- //Property setters
- Procedure Setetags(AIndex : Integer; const AValue : String); virtual;
- Procedure Setkind(AIndex : Integer; const AValue : String); virtual;
- Procedure SetproductId(AIndex : Integer; const AValue : String); virtual;
- Procedure SetselfLink(AIndex : Integer; const AValue : String); virtual;
- Procedure SetskuId(AIndex : Integer; const AValue : String); virtual;
- Procedure SetuserId(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property etags : String Index 0 Read Fetags Write Setetags;
- Property kind : String Index 8 Read Fkind Write Setkind;
- Property productId : String Index 16 Read FproductId Write SetproductId;
- Property selfLink : String Index 24 Read FselfLink Write SetselfLink;
- Property skuId : String Index 32 Read FskuId Write SetskuId;
- Property userId : String Index 40 Read FuserId Write SetuserId;
- end;
- TLicenseAssignmentClass = Class of TLicenseAssignment;
-
- { --------------------------------------------------------------------
- TLicenseAssignmentInsert
- --------------------------------------------------------------------}
-
- TLicenseAssignmentInsert = Class(TGoogleBaseObject)
- Private
- FuserId : String;
- Protected
- //Property setters
- Procedure SetuserId(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property userId : String Index 0 Read FuserId Write SetuserId;
- end;
- TLicenseAssignmentInsertClass = Class of TLicenseAssignmentInsert;
-
- { --------------------------------------------------------------------
- TLicenseAssignmentList
- --------------------------------------------------------------------}
-
- TLicenseAssignmentList = Class(TGoogleBaseObject)
- Private
- Fetag : String;
- Fitems : TLicenseAssignmentListTypeitemsArray;
- Fkind : String;
- FnextPageToken : String;
- Protected
- //Property setters
- Procedure Setetag(AIndex : Integer; const AValue : String); virtual;
- Procedure Setitems(AIndex : Integer; const AValue : TLicenseAssignmentListTypeitemsArray); virtual;
- Procedure Setkind(AIndex : Integer; const AValue : String); 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 etag : String Index 0 Read Fetag Write Setetag;
- Property items : TLicenseAssignmentListTypeitemsArray Index 8 Read Fitems Write Setitems;
- Property kind : String Index 16 Read Fkind Write Setkind;
- Property nextPageToken : String Index 24 Read FnextPageToken Write SetnextPageToken;
- end;
- TLicenseAssignmentListClass = Class of TLicenseAssignmentList;
-
- { --------------------------------------------------------------------
- TLicenseAssignmentsResource
- --------------------------------------------------------------------}
-
-
- //Optional query Options for TLicenseAssignmentsResource, method ListForProduct
-
- TLicenseAssignmentsListForProductOptions = Record
- customerId : String;
- maxResults : integer;
- pageToken : String;
- end;
-
-
- //Optional query Options for TLicenseAssignmentsResource, method ListForProductAndSku
-
- TLicenseAssignmentsListForProductAndSkuOptions = Record
- customerId : String;
- maxResults : integer;
- pageToken : String;
- end;
-
- TLicenseAssignmentsResource = Class(TGoogleResource)
- Public
- Class Function ResourceName : String; override;
- Class Function DefaultAPI : TGoogleAPIClass; override;
- Procedure Delete(productId: string; skuId: string; userId: string);
- Function Get(productId: string; skuId: string; userId: string) : TLicenseAssignment;
- Function Insert(productId: string; skuId: string; aLicenseAssignmentInsert : TLicenseAssignmentInsert) : TLicenseAssignment;
- Function ListForProduct(productId: string; AQuery : string = '') : TLicenseAssignmentList;
- Function ListForProduct(productId: string; AQuery : TLicenseAssignmentslistForProductOptions) : TLicenseAssignmentList;
- Function ListForProductAndSku(productId: string; skuId: string; AQuery : string = '') : TLicenseAssignmentList;
- Function ListForProductAndSku(productId: string; skuId: string; AQuery : TLicenseAssignmentslistForProductAndSkuOptions) : TLicenseAssignmentList;
- Function Patch(productId: string; skuId: string; userId: string; aLicenseAssignment : TLicenseAssignment) : TLicenseAssignment;
- Function Update(productId: string; skuId: string; userId: string; aLicenseAssignment : TLicenseAssignment) : TLicenseAssignment;
- end;
-
-
- { --------------------------------------------------------------------
- TLicensingAPI
- --------------------------------------------------------------------}
-
- TLicensingAPI = Class(TGoogleAPI)
- Private
- FLicenseAssignmentsInstance : TLicenseAssignmentsResource;
- Function GetLicenseAssignmentsInstance : TLicenseAssignmentsResource;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 CreateLicenseAssignmentsResource(AOwner : TComponent) : TLicenseAssignmentsResource;virtual;overload;
- Function CreateLicenseAssignmentsResource : TLicenseAssignmentsResource;virtual;overload;
- //Add default on-demand instances for resources
- Property LicenseAssignmentsResource : TLicenseAssignmentsResource Read GetLicenseAssignmentsInstance;
- end;
- implementation
- { --------------------------------------------------------------------
- TLicenseAssignment
- --------------------------------------------------------------------}
- Procedure TLicenseAssignment.Setetags(AIndex : Integer; const AValue : String);
- begin
- If (Fetags=AValue) then exit;
- Fetags:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignment.Setkind(AIndex : Integer; const AValue : String);
- begin
- If (Fkind=AValue) then exit;
- Fkind:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignment.SetproductId(AIndex : Integer; const AValue : String);
- begin
- If (FproductId=AValue) then exit;
- FproductId:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignment.SetselfLink(AIndex : Integer; const AValue : String);
- begin
- If (FselfLink=AValue) then exit;
- FselfLink:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignment.SetskuId(AIndex : Integer; const AValue : String);
- begin
- If (FskuId=AValue) then exit;
- FskuId:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignment.SetuserId(AIndex : Integer; const AValue : String);
- begin
- If (FuserId=AValue) then exit;
- FuserId:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TLicenseAssignmentInsert
- --------------------------------------------------------------------}
- Procedure TLicenseAssignmentInsert.SetuserId(AIndex : Integer; const AValue : String);
- begin
- If (FuserId=AValue) then exit;
- FuserId:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TLicenseAssignmentList
- --------------------------------------------------------------------}
- Procedure TLicenseAssignmentList.Setetag(AIndex : Integer; const AValue : String);
- begin
- If (Fetag=AValue) then exit;
- Fetag:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignmentList.Setitems(AIndex : Integer; const AValue : TLicenseAssignmentListTypeitemsArray);
- begin
- If (Fitems=AValue) then exit;
- Fitems:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignmentList.Setkind(AIndex : Integer; const AValue : String);
- begin
- If (Fkind=AValue) then exit;
- Fkind:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLicenseAssignmentList.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 TLicenseAssignmentList.SetArrayLength(Const AName : String; ALength : Longint);
- begin
- Case AName of
- 'items' : SetLength(Fitems,ALength);
- else
- Inherited SetArrayLength(AName,ALength);
- end;
- end;
- {$ENDIF VER2_6}
- { --------------------------------------------------------------------
- TLicenseAssignmentsResource
- --------------------------------------------------------------------}
- Class Function TLicenseAssignmentsResource.ResourceName : String;
- begin
- Result:='licenseAssignments';
- end;
- Class Function TLicenseAssignmentsResource.DefaultAPI : TGoogleAPIClass;
- begin
- Result:=TlicensingAPI;
- end;
- Procedure TLicenseAssignmentsResource.Delete(productId: string; skuId: string; userId: string);
- Const
- _HTTPMethod = 'DELETE';
- _Path = '{productId}/sku/{skuId}/user/{userId}';
- _Methodid = 'licensing.licenseAssignments.delete';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId,'skuId',skuId,'userId',userId]);
- ServiceCall(_HTTPMethod,_P,'',Nil,Nil);
- end;
- Function TLicenseAssignmentsResource.Get(productId: string; skuId: string; userId: string) : TLicenseAssignment;
- Const
- _HTTPMethod = 'GET';
- _Path = '{productId}/sku/{skuId}/user/{userId}';
- _Methodid = 'licensing.licenseAssignments.get';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId,'skuId',skuId,'userId',userId]);
- Result:=ServiceCall(_HTTPMethod,_P,'',Nil,TLicenseAssignment) as TLicenseAssignment;
- end;
- Function TLicenseAssignmentsResource.Insert(productId: string; skuId: string; aLicenseAssignmentInsert : TLicenseAssignmentInsert) : TLicenseAssignment;
- Const
- _HTTPMethod = 'POST';
- _Path = '{productId}/sku/{skuId}/user';
- _Methodid = 'licensing.licenseAssignments.insert';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId,'skuId',skuId]);
- Result:=ServiceCall(_HTTPMethod,_P,'',aLicenseAssignmentInsert,TLicenseAssignment) as TLicenseAssignment;
- end;
- Function TLicenseAssignmentsResource.ListForProduct(productId: string; AQuery : string = '') : TLicenseAssignmentList;
- Const
- _HTTPMethod = 'GET';
- _Path = '{productId}/users';
- _Methodid = 'licensing.licenseAssignments.listForProduct';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId]);
- Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TLicenseAssignmentList) as TLicenseAssignmentList;
- end;
- Function TLicenseAssignmentsResource.ListForProduct(productId: string; AQuery : TLicenseAssignmentslistForProductOptions) : TLicenseAssignmentList;
- Var
- _Q : String;
- begin
- _Q:='';
- AddToQuery(_Q,'customerId',AQuery.customerId);
- AddToQuery(_Q,'maxResults',AQuery.maxResults);
- AddToQuery(_Q,'pageToken',AQuery.pageToken);
- Result:=ListForProduct(productId,_Q);
- end;
- Function TLicenseAssignmentsResource.ListForProductAndSku(productId: string; skuId: string; AQuery : string = '') : TLicenseAssignmentList;
- Const
- _HTTPMethod = 'GET';
- _Path = '{productId}/sku/{skuId}/users';
- _Methodid = 'licensing.licenseAssignments.listForProductAndSku';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId,'skuId',skuId]);
- Result:=ServiceCall(_HTTPMethod,_P,AQuery,Nil,TLicenseAssignmentList) as TLicenseAssignmentList;
- end;
- Function TLicenseAssignmentsResource.ListForProductAndSku(productId: string; skuId: string; AQuery : TLicenseAssignmentslistForProductAndSkuOptions) : TLicenseAssignmentList;
- Var
- _Q : String;
- begin
- _Q:='';
- AddToQuery(_Q,'customerId',AQuery.customerId);
- AddToQuery(_Q,'maxResults',AQuery.maxResults);
- AddToQuery(_Q,'pageToken',AQuery.pageToken);
- Result:=ListForProductAndSku(productId,skuId,_Q);
- end;
- Function TLicenseAssignmentsResource.Patch(productId: string; skuId: string; userId: string; aLicenseAssignment : TLicenseAssignment) : TLicenseAssignment;
- Const
- _HTTPMethod = 'PATCH';
- _Path = '{productId}/sku/{skuId}/user/{userId}';
- _Methodid = 'licensing.licenseAssignments.patch';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId,'skuId',skuId,'userId',userId]);
- Result:=ServiceCall(_HTTPMethod,_P,'',aLicenseAssignment,TLicenseAssignment) as TLicenseAssignment;
- end;
- Function TLicenseAssignmentsResource.Update(productId: string; skuId: string; userId: string; aLicenseAssignment : TLicenseAssignment) : TLicenseAssignment;
- Const
- _HTTPMethod = 'PUT';
- _Path = '{productId}/sku/{skuId}/user/{userId}';
- _Methodid = 'licensing.licenseAssignments.update';
- Var
- _P : String;
- begin
- _P:=SubstitutePath(_Path,['productId',productId,'skuId',skuId,'userId',userId]);
- Result:=ServiceCall(_HTTPMethod,_P,'',aLicenseAssignment,TLicenseAssignment) as TLicenseAssignment;
- end;
- { --------------------------------------------------------------------
- TLicensingAPI
- --------------------------------------------------------------------}
- Class Function TLicensingAPI.APIName : String;
- begin
- Result:='licensing';
- end;
- Class Function TLicensingAPI.APIVersion : String;
- begin
- Result:='v1';
- end;
- Class Function TLicensingAPI.APIRevision : String;
- begin
- Result:='20150901';
- end;
- Class Function TLicensingAPI.APIID : String;
- begin
- Result:='licensing:v1';
- end;
- Class Function TLicensingAPI.APITitle : String;
- begin
- Result:='Enterprise License Manager API';
- end;
- Class Function TLicensingAPI.APIDescription : String;
- begin
- Result:='Licensing API to view and manage license for your domain.';
- end;
- Class Function TLicensingAPI.APIOwnerDomain : String;
- begin
- Result:='google.com';
- end;
- Class Function TLicensingAPI.APIOwnerName : String;
- begin
- Result:='Google';
- end;
- Class Function TLicensingAPI.APIIcon16 : String;
- begin
- Result:='http://www.google.com/images/icons/product/search-16.gif';
- end;
- Class Function TLicensingAPI.APIIcon32 : String;
- begin
- Result:='http://www.google.com/images/icons/product/search-32.gif';
- end;
- Class Function TLicensingAPI.APIdocumentationLink : String;
- begin
- Result:='https://developers.google.com/google-apps/licensing/';
- end;
- Class Function TLicensingAPI.APIrootUrl : string;
- begin
- Result:='https://www.googleapis.com/';
- end;
- Class Function TLicensingAPI.APIbasePath : string;
- begin
- Result:='/apps/licensing/v1/product/';
- end;
- Class Function TLicensingAPI.APIbaseURL : String;
- begin
- Result:='https://www.googleapis.com/apps/licensing/v1/product/';
- end;
- Class Function TLicensingAPI.APIProtocol : string;
- begin
- Result:='rest';
- end;
- Class Function TLicensingAPI.APIservicePath : string;
- begin
- Result:='apps/licensing/v1/product/';
- end;
- Class Function TLicensingAPI.APIbatchPath : String;
- begin
- Result:='batch';
- end;
- Class Function TLicensingAPI.APIAuthScopes : TScopeInfoArray;
- begin
- SetLength(Result,1);
- Result[0].Name:='https://www.googleapis.com/auth/apps.licensing';
- Result[0].Description:='View and manage Google Apps licenses for your domain';
-
- end;
- Class Function TLicensingAPI.APINeedsAuth : Boolean;
- begin
- Result:=True;
- end;
- Class Procedure TLicensingAPI.RegisterAPIResources;
- begin
- TLicenseAssignment.RegisterObject;
- TLicenseAssignmentInsert.RegisterObject;
- TLicenseAssignmentList.RegisterObject;
- end;
- Function TLicensingAPI.GetLicenseAssignmentsInstance : TLicenseAssignmentsResource;
- begin
- if (FLicenseAssignmentsInstance=Nil) then
- FLicenseAssignmentsInstance:=CreateLicenseAssignmentsResource;
- Result:=FLicenseAssignmentsInstance;
- end;
- Function TLicensingAPI.CreateLicenseAssignmentsResource : TLicenseAssignmentsResource;
- begin
- Result:=CreateLicenseAssignmentsResource(Self);
- end;
- Function TLicensingAPI.CreateLicenseAssignmentsResource(AOwner : TComponent) : TLicenseAssignmentsResource;
- begin
- Result:=TLicenseAssignmentsResource.Create(AOwner);
- Result.API:=Self.API;
- end;
- initialization
- TLicensingAPI.RegisterAPI;
- end.
|