package Ġdev . k drag 0 n . pat re on dl . config Ċ Ċ import Ġcom . sk sam uel . hop lite . Config Loader Ċ import Ġjava . io . File Ċ Ċ data Ġclass ĠConfig ( ĊĠĠĠ Ġval Ġweb : ĠWeb , ĊĠĠĠ Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġval Ġpayments : ĠPay ments , ĊĠĠĠ Ġval Ġdatabase : ĠDatabase , ĊĠĠĠ Ġval Ġexternal : ĠExternal , Ċ ) Ġ{ ĊĠĠĠ Ġdata Ġclass ĠWeb ( ĊĠĠĠĠĠĠĠ Ġval ĠbaseUrl : ĠString , ĊĊĠĠĠĠĠĠĠ Ġ// ĠSecurity ĊĠĠĠĠĠĠĠ Ġval Ġcors Allowed : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġval Ġhttps Only : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġforwarded Headers : ĠBoolean , ĊĊĠĠĠĠĠĠĠ Ġ// ĠSec rets ĊĠĠĠĠĠĠĠ Ġval Ġsession Encrypt Key : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġsession Auth Key : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġgrant Key : ĠString , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠ Ġval Ġbenefit Index Url : ĠString , ĊĊĠĠĠĠĠĠĠ Ġ// ĠContent Ġsources ĊĠĠĠĠĠĠĠ Ġval Ġexclusive Src : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġstatic Src : ĠString , ĊĊĠĠĠĠĠĠĠ Ġval Ġexclusive Filter : ĠString , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠPay ments ( ĊĠĠĠĠĠĠĠ Ġval Ġdefault Price C ents : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġuse Price Par ity : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġmin Price C ents : ĠInt , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠDatabase ( ĊĠĠĠĠĠĠĠ Ġ// ĠPostgreSQL Ġcredentials ĊĠĠĠĠĠĠĠ Ġval Ġhost : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġport : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġdatabase : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġusername : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġpassword : ĠString ?, ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠExternal ( ĊĠĠĠĠĠĠĠ Ġval Ġpat re on : ĠPat re on , ĊĠĠĠĠĠĠĠ Ġval Ġemail : ĠEmail , ĊĠĠĠĠĠĠĠ Ġval Ġtele gram : ĠTelegram , ĊĠĠĠĠĠĠĠ Ġval Ġstripe : ĠStripe , ĊĠĠĠĠĠĠĠ Ġval Ġs entry : ĠS entry ?, ĊĠĠĠĠĠĠĠ Ġval Ġmax mind : ĠMax M ind , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠPat re on ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAPI ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠclientId : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclient Secret : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwebhook Key : ĠString , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCreator Ġinfo ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreator Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreator Name : ĠString , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUser Ġrequirements ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Tier Amount : ĠInt , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠEmail ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠapiKey : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfrom Address : ĠString , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpersonal Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpersonal Address : ĠString , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd unning Address : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsupport Address : ĠString , ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Templates : ĠMessage Templates , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġclass ĠMessage Templates ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtele gram Welcome : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsingle Purchase Successful : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmulti Purchase Successful : ĠString , ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠD unning ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecl ined Reminder 1 : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecl ined Reminder 2 : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecl ined Reminder 3 : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecl ined Reminder 4 : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠTelegram ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbot Token : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠgroupId : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġowner Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠStripe ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠpublicKey : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecret Key : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwebhook Secret : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwebhook Key : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠS entry ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd sn : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠMax M ind ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdatabase Path : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom File ( path : ĠString ) Ġ= ĠConfig Loader (). load Config OrThrow < Config >( File ( path )) ĊĠĠĠ Ġ} Ċ } Ċ