package Ġdev . k ord . rest . service Ċ Ċ import Ġdev . k ord . common . entity . Discord Message St icker Ċ import Ġdev . k ord . common . entity . Discord St icker Pack Ċ import Ġdev . k ord . common . entity . Snow flake Ċ import Ġdev . k ord . rest . builder . guild . St icker Modify Builder Ċ import Ġdev . k ord . rest . json . request . Guild St icker CreateRequest Ċ import Ġdev . k ord . rest . json . request . Guild St icker Modify Request Ċ import Ġdev . k ord . rest . json . request . Multipart Guild St icker CreateRequest Ċ import Ġdev . k ord . rest . request . K tor RequestHandler Ċ import Ġdev . k ord . rest . request . RequestHandler Ċ import Ġdev . k ord . rest . route . Route Ċ import Ġkotlin . contracts . Experimental Contracts Ċ import Ġkotlin . contracts . Invocation Kind Ċ import Ġkotlin . contracts . contract Ċ Ċ class ĠSt icker Service ( request Handler : ĠRequest Handler ) Ġ: ĠRest Service ( request Handler ) Ġ{ ĊĊĊĠĠĠ Ġsuspend Ġfun Ġget N itro St icker Pack s (): ĠList < Discord St icker Pack > Ġ= Ġcall ( Route . N itro St icker Pack s ) ĊĊĠĠĠ Ġsuspend Ġfun Ġget Guild Stick ers ( guild Id : ĠSnow flake ): ĠList < Discord Message St icker > Ġ= Ġcall ( Route . Guild Stick ers Get ) Ġ{ ĊĠĠĠĠĠĠĠ Ġkeys [ Route . Guild Id ] Ġ= Ġguild Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget St icker ( id : ĠSnow flake ): ĠDiscord Message St icker Ġ= Ġcall ( Route . St icker Get ) Ġ{ ĊĠĠĠĠĠĠĠ Ġkeys [ Route . St icker Id ] Ġ= Ġid ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Guild St icker ( guild Id : ĠSnow flake , Ġid : ĠSnow flake ): ĠDiscord Message St icker Ġ= ĊĠĠĠĠĠĠĠ Ġcall ( Route . Guild St icker Get ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeys [ Route . Guild Id ] Ġ= Ġguild Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeys [ Route . St icker Id ] Ġ= Ġid ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate Guild St icker ( guild Id : ĠSnow flake , Ġmultipart Request : ĠMultip art Guild St icker CreateRequest ) Ġ= ĊĠĠĠĠĠĠĠ Ġcall ( Route . Guild St icker Post ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkeys [ Route . Guild Id ] Ġ= Ġguild Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody ( Guild St icker CreateRequest . serializer (), Ġmultipart Request . request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile ( multipart Request . file ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġmodify Guild St icker ( ĊĠĠĠĠĠĠĠ Ġguild Id : ĠSnow flake , ĊĠĠĠĠĠĠĠ Ġid : ĠSnow flake , ĊĠĠĠĠĠĠĠ Ġrequest : ĠGuild St icker Modify Request ĊĠĠĠ Ġ) Ġ= Ġcall ( Route . Guild St icker Patch ) Ġ{ ĊĠĠĠĠĠĠĠ Ġkeys [ Route . Guild Id ] Ġ= Ġguild Id ĊĠĠĠĠĠĠĠ Ġkeys [ Route . St icker Id ] Ġ= Ġid ĊĠĠĠĠĠĠĠ Ġbody ( Guild St icker Modify Request . serializer (), Ġrequest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Opt In ( Experimental Contracts :: class ) ĊĠĠĠ Ġsuspend Ġinline Ġfun Ġmodify Guild St icker ( guild Id : ĠSnow flake , Ġid : ĠSnow flake , Ġbuilder : ĠSt icker Modify Builder . () Ġ-> ĠUnit ): ĠDiscord Message St icker Ġ{ ĊĠĠĠĠĠĠĠ Ġcontract Ġ{ Ġcalls In Place ( builder , ĠInvocation Kind . EX ACT LY _ ON CE ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠSt icker Modify Builder (). apply ( builder ). to Request () ĊĠĠĠĠĠĠĠ Ġreturn Ġmodify Guild St icker ( guild Id , Ġid , Ġrequest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġdelete St icker ( guild Id : ĠSnow flake , Ġid : ĠSnow flake ) Ġ= Ġcall ( Route . Guild St icker Delete ) Ġ{ ĊĠĠĠĠĠĠĠ Ġkeys [ Route . Guild Id ] Ġ= Ġguild Id ĊĠĠĠĠĠĠĠ Ġkeys [ Route . St icker Id ] Ġ= Ġid ĊĠĠĠ Ġ} Ċ Ċ }