import type { BentoClient } from '../client'; import type { DataResponse } from '../client/types'; import type { CreateSubscriberParameters, GetSubscribersParameters, Subscriber } from './types'; export class BentoSubscribers { private readonly _url = '/fetch/subscribers'; constructor(private readonly _client: BentoClient) {} /** * Returns the subscriber with the specified email or UUID. * * @returns Promise\ | null\> */ public async getSubscribers( parameters?: GetSubscribersParameters ): Promise | null> { const result = await this._client.get>>(this._url, parameters); if (Object.keys(result).length === 0 || !result.data) return null; return result.data; } /** * Creates a subscriber inside of Bento. * * @param parameters CreateSubscriberParameters * @returns Promise\ | null\> */ public async createSubscriber( parameters: CreateSubscriberParameters ): Promise | null> { const result = await this._client.post>>(this._url, { subscriber: parameters, }); if (Object.keys(result).length === 0 || !result.data) return null; return result.data; } }