package Ġgit fox . adapter Ċ Ċ import Ġgit fox . entity .* Ċ import Ġgit fox . model . inter actor . M ilestone Interactor Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ Ċ class ĠI os M ilestone Interactor Ġinternal Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġinter actor : ĠM ilestone Interactor , ĊĠĠĠ Ġprivate Ġval Ġdefault PageSize : ĠInt Ċ ) Ġ: ĠCor outine Scope Ġby ĠCor outine Scope ( Main Loop Dispatcher ) Ġ{ ĊĠĠĠ Ġval Ġmilestone Changes Ġ= Ġinter actor . milestone Changes . wrap () ĊĊĠĠĠ Ġfun Ġget M ilestones ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġstate : ĠM ilestone State ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt Ġ= Ġdefault PageSize , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠList < M ilestone > ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . getM ilestones ( projectId , Ġstate , Ġpage , ĠpageSize ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget M ilestone ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġmilestone Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠM ilestone ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . getM ilestone ( projectId , Ġmilestone Id ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate M ilestone ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdue Date : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ ĠstartDate : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠM ilestone ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . create M ilestone ( projectId , Ġtitle , Ġdescription , Ġdue Date , ĠstartDate ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate M ilestone ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġmilestone Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdue Date : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ ĠstartDate : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠM ilestone ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . update M ilestone ( projectId , Ġmilestone Id , Ġtitle , Ġdescription , Ġdue Date , ĠstartDate ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete M ilestone ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġmilestone Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠUnit ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . delete M ilestone ( projectId , Ġmilestone Id ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget M ilestone Issues ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġmilestone Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt Ġ= Ġdefault PageSize , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠList < Issue > ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . getM ilestone Issues ( projectId , Ġmilestone Id , Ġpage , ĠpageSize ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget M ilestone Merge Requests ( ĊĠĠĠĠĠĠĠ ĠprojectId : ĠLong , ĊĠĠĠĠĠĠĠ Ġmilestone Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt Ġ= Ġdefault PageSize , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( result : ĠList < Merge Request > ?, Ġerror : ĠException ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrap ( callback ) Ġ{ Ġinter actor . getM ilestone Merge Requests ( projectId , Ġmilestone Id , Ġpage , ĠpageSize ) Ġ} ĊĠĠĠ Ġ} Ċ }