package Ġcom . f inte ch platform . api . profile . api Ċ Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . f inte ch platform . api . enterprise . models . Enterprise Doc Type Ċ import Ġcom . f inte ch platform . api . log . Log Ċ import Ġcom . f inte ch platform . api . net . I Request Ċ import Ġcom . f inte ch platform . api . net . I Request Provider Ċ import Ġcom . f inte ch platform . api . net . I Request Queue Ċ import Ġcom . f inte ch platform . api . net . Net Helper Ċ import Ġcom . f inte ch platform . api . profile . models . Doc Type Ċ import Ġcom . f inte ch platform . api . profile . models . User Documents Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġjavax . inject . Inject ĊĊ Ċ class ĠI ds Documents API Ġ@ Inject Ġconstructor ( internal Ġval Ġhost Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġval Ġqueue : ĠI Request Queue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġval Ġrequest Provider : ĠI Request Provider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal Ġval Ġlog : ĠLog , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnet Helper : ĠNet Helper ) Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Ids Documents API " ĊĊĠĠĠ Ġinternal Ġdata Ġclass ĠBucket Object ( val Ġbucket Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobject Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfilename : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupload Path : ĠString ?) ĊĊĠĠĠ Ġinternal Ġfun Ġadd Bucket ForUser Documents ( token : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtenant Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilename : ĠString ?= null , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : Ġ( Bucket Object ?, ĠException ?) Ġ-> ĠUnit ): ĠI Request < *> ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġnet Helper . get URL ("/ rest / v 1 / f inte ch / ten ants /$ tenantId / users /$ userId / bucket Objects ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġrequest : ĠI Request < *> ? ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjo Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjo . put (" fileName ", Ġfilename ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġrequest Provider . jsonObject Request ( Request . Method . POST , Ġurl , Ġjo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnet Helper . authorization Token ( token ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug ( TAG , Ġ" on Ġresponse Ġadd Bucket For Image ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbucket Name Ġ= Ġresponse . getString (" bucketName ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobject Id Ġ= Ġresponse . getString (" objectId ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġresponse . opt String (" status ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupload Path Ġ= Ġresponse . opt String (" upload Path ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbucket Ġ= ĠBucket Object ( bucketName , Ġobject Id , Ġstatus , Ġfilename , Ġupload Path ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( bucket , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . Reply Params Unexpected ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" add Bucket ForUser Documents Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . create Request Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set I Retry Policy ( net Helper . default policy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . add ( request ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" create CreditCard Registration Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrequest ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġupload Bucket Object File ( token : ĠString , Ġupload Path : ĠString , Ġpayload : ĠByteArray , Ġcallback : Ġ( String ?, ĠException ?) Ġ-> ĠUnit ): ĠI Request < *> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġnet Helper . get URL ( upload Path ) ĊĠĠĠĠĠĠĠ Ġvar Ġrequest : ĠI Request < *> ? ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġrequest Provider . byteArray Request ( Request . Method . POST , Ġurl , Ġpayload , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnet Helper . authorization Token ( token ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug ( TAG , Ġ" on Ġresponse Ġupload Bucket Object File ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( response , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . Reply Params Unexpected ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" upload Bucket Object File Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . create Request Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set I Retry Policy ( net Helper . default policy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . add ( request ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" create CreditCard Registration Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrequest ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġinternal Ġfun Ġcreate Documents ( token : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtenant Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo ctype : ĠDoc Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ids : ĠList < String ? >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġide mpot ency : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion : Ġ( User Documents ?, ĠException ?) Ġ-> ĠUnit ): ĠI Request < *> ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġnet Helper . get URL ("/ rest / v 1 / f inte ch / ten ants /$ tenantId / users /$ userId / documents ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġrequest Ġ: ĠI Request < *> ? ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġja Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġobject Ids . size ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġja . put ( object Ids [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . put (" doc Type ", Ġdo ctype . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . put (" bucket ObjectId Pages ", Ġja ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġrequest Provider . jsonObject Request ( Request . Method . POST , Ġurl , ĠjsonObject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnet Helper . getHeader Builder (). authorization Token ( token ). ide mpot ency ( ide mpot ency ). getHeader Map (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" User Document ", Ġresponse . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdocument Id Ġ= Ġresponse . opt String (" document Id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdoc Type Ġ= Ġresponse . opt String (" doc Type ") ?. run Ġ{ ĠDoc Type . valueOf ( this ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbucket ObjectId Pages Ġ= Ġresponse . opt JSONArray (" bucket ObjectId Pages ") ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbucket Obj Ids Ġ= Ġmutable ListOf < String ?> () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġlength ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbucket Obj Ids . add ( getString ( j )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug (" bucket ĠObjectId ", ĠgetString ( j )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbucket Obj Ids . filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( User Documents ( userId , Ġdocument Id , Ġdoc Type , Ġbucket ObjectId Pages ), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġif Ġ( error . network Response Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . network Response . statusCode Ġelse Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( null , Ġnet Helper . Ide mpot ency Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( null , Ġnet Helper . Token Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcompletion ( null , Ġnet Helper . Generic Communication Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġr . set I Retry Policy ( net Helper . default policy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . add ( r ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġr ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" documents ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrequest ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġadd Bucket For Company Documents ( token : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtenant Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenterprise Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilename : ĠString ?= null , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : Ġ( Bucket Object ?, ĠException ?) Ġ-> ĠUnit ): ĠI Request < *> ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġnet Helper . get URL ("/ rest / v 1 / f inte ch / ten ants /$ tenantId / enter pri ses /$ enterprise Id / bucket Objects ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġrequest : ĠI Request < *> ? ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjo Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjo . put (" fileName ", Ġfilename ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġrequest Provider . jsonObject Request ( Request . Method . POST , Ġurl , Ġjo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnet Helper . authorization Token ( token ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug ( TAG , Ġ" on Ġresponse Ġadd Bucket For Image ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbucket Name Ġ= Ġresponse . getString (" bucketName ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobject Id Ġ= Ġresponse . getString (" objectId ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġresponse . opt String (" status ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupload Path Ġ= Ġresponse . opt String (" upload Path ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbucket Ġ= ĠBucket Object ( bucketName , Ġobject Id , Ġstatus , Ġfilename , Ġupload Path ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( bucket , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . Reply Params Unexpected ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" add Bucket For Enterprise Documents Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġif Ġ( error . network Response Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . network Response . statusCode Ġelse Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . Ide mpot ency Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( null , Ġnet Helper . Token Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcallback ( null , Ġnet Helper . Generic Communication Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set I Retry Policy ( net Helper . default policy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . add ( request ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" create CreditCard Registration Ġerror ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrequest ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġinternal Ġfun Ġcreate Enterprise Doc ( token : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenterprise Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtenant Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo ctype : ĠEnterprise Doc Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdocuments : ĠList < String ? >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġide mpot ency : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion : Ġ( String ?, ĠException ?) Ġ-> ĠUnit ) Ġ: ĠI Request < *> ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġnet Helper . get URL ("/ rest / v 1 / f inte ch / ten ants /$ tenantId / enter pri ses /$ enterprise Id / documents ") ĊĠĠĠĠĠĠĠ Ġvar Ġrequest Ġ: ĠI Request < *> ? ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġja Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġdocuments . size ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġja . put ( documents [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . put (" doc Type ", Ġdo ctype . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . put (" bucket ObjectId Pages ", Ġja ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġrequest Provider . jsonObject Request ( Request . Method . POST , Ġurl , ĠjsonObject , Ġnet Helper . getHeader Builder (). authorization Token ( token ). ide mpot ency ( ide mpot ency ). getHeader Map (), Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( response . getString (" document Id "), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġif Ġ( error . network Response Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . network Response . statusCode Ġelse Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( null , Ġnet Helper . Ide mpot ency Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompletion ( null , Ġnet Helper . Token Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcompletion ( null , Ġnet Helper . Generic Communication Error ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġr . set I Retry Policy ( net Helper . default policy ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue . add ( r ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġr ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . error ( TAG , Ġ" documents ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrequest ĊĠĠĠ Ġ} Ċ }