package Ġme . pro xer . library . api . uc p Ċ Ċ import Ġme . pro xer . library . Pro xer Call Ċ import Ġme . pro xer . library . api . Paging Limit Endpoint Ċ import Ġme . pro xer . library . entity . user . User Media ListEntry Ċ import Ġme . pro xer . library . enums . Category Ċ import Ġme . pro xer . library . enums . User Media List Filter Type Ċ import Ġme . pro xer . library . enums . User Media List Sort Criteria Ċ Ċ /** Ċ Ġ* ĠEndpoint Ġfor Ġrequesting Ġthe Ġmedia Ġlist Ġof Ġthe Ġcurrent Ġuser . Ċ Ġ* Ċ Ġ* Ġ@ author ĠRub en ĠGe es Ċ Ġ*/ Ċ class ĠU cp Media List Endpoint Ġinternal Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġinternal Api : ĠInternal Api Ċ ) Ġ: ĠP aging Limit Endpoint < List < User Media ListEntry >> Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġpage : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlimit : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġcategory : ĠCategory ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsearch : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsearch Start : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġfilter : ĠUser Media List Filter Type ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġinclude H ent ai : ĠBoolean ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsort : ĠUser Media List Sort Criteria ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġpage ( page : ĠInt ?) Ġ= Ġthis . apply Ġ{ Ġthis . page Ġ= Ġpage Ġ} ĊĠĠĠ Ġoverride Ġfun Ġlimit ( limit : ĠInt ?) Ġ= Ġthis . apply Ġ{ Ġthis . limit Ġ= Ġlimit Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġcategory Ġto Ġfilter Ġby . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcategory ( category : ĠCategory ?) Ġ= Ġthis . apply Ġ{ Ġthis . category Ġ= Ġcategory Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġquery Ġto Ġsearch Ġfor . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsearch ( search : ĠString ?) Ġ= Ġthis . apply Ġ{ Ġthis . search Ġ= Ġsearch Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġquery Ġto Ġsearch Ġfor Ġonly Ġfrom Ġthe Ġstart . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsearch Start ( search Start : ĠString ?) Ġ= Ġthis . apply Ġ{ Ġthis . search Start Ġ= Ġsearch Start Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġfilter . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfilter ( filter : ĠUser Media List Filter Type ?) Ġ= Ġthis . apply Ġ{ Ġthis . filter Ġ= Ġfilter Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġif Ġh ent ai Ġshould Ġbe Ġincluded Ġin Ġthe Ġresult . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinclude H ent ai ( include H ent ai : ĠBoolean ? Ġ= Ġtrue ) Ġ= Ġthis . apply Ġ{ Ġthis . include H ent ai Ġ= Ġinclude H ent ai Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġcriteria Ġfor Ġsorting . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsort ( sort : ĠUser Media List Sort Criteria ?) Ġ= Ġthis . apply Ġ{ Ġthis . sort Ġ= Ġsort Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild (): ĠPro xer Call < List < User Media ListEntry >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinternal Api . media List ( category , Ġpage , Ġlimit , Ġsearch , Ġsearch Start , Ġfilter , Ġsort , Ġinclude H ent ai ) ĊĠĠĠ Ġ} Ċ } Ċ