import { OpenFlareBaseService } from './base.service'; import type { DatabaseCleanupPayload, DatabaseCleanupResult, GeoIPLookupResult, OptionBatchPayload, OptionItem, } from './types'; export class OptionService extends OpenFlareBaseService { protected static override readonly basePath: string = '/api/v1/d/option'; static list(): Promise { return this.get('/'); } static update(key: string, value: string): Promise { return this.post('/update', { key, value }); } static updateBatch(options: OptionItem[]): Promise { const payload: OptionBatchPayload = { options }; return this.post('/update-batch', payload); } static lookupGeoIP(provider: string, ip: string): Promise { return this.post('/geoip/lookup', { provider, ip }); } static cleanupDatabase( payload: DatabaseCleanupPayload, ): Promise { return this.post('/database/cleanup', payload); } }