index.ts•2.13 kB
import omnisendApi from '../shared/api.js';
import { Contact, ContactsResponse, ListContactsParams } from '../../types/contacts/index.js';
// Get contacts list
export const listContacts = async (params: ListContactsParams = {}): Promise<ContactsResponse> => {
  try {
    // Pridėkime trumpą užlaikymą, kad išvengtume daug užklausų per trumpą laiką
    const response = await omnisendApi.get<ContactsResponse>('/contacts', { params });
    return response.data;
  } catch (error) {
    // Pagerinkime klaidos apdorojimą
    if (error instanceof Error) {
      throw new Error(`Error getting contacts list: ${error.message}`);
    } else {
      throw new Error('Unknown error occurred when getting contacts list');
    }
  }
};
// Create or update contact
export const createOrUpdateContact = async (contactData: Partial<Contact>): Promise<Contact> => {
  try {
    const response = await omnisendApi.post<Contact>('/contacts', contactData);
    return response.data;
  } catch (error) {
    if (error instanceof Error) {
      throw new Error(`Error creating contact: ${error.message}`);
    } else {
      throw new Error('Unknown error occurred when creating contact');
    }
  }
};
// Get specific contact information
export const getContact = async (contactId: string): Promise<Contact> => {
  try {
    const response = await omnisendApi.get<Contact>(`/contacts/${contactId}`);
    return response.data;
  } catch (error) {
    if (error instanceof Error) {
      throw new Error(`Error getting contact information: ${error.message}`);
    } else {
      throw new Error('Unknown error occurred when getting contact');
    }
  }
};
// Update contact
export const updateContact = async (contactId: string, contactData: Partial<Contact>): Promise<Contact> => {
  try {
    const response = await omnisendApi.patch<Contact>(`/contacts/${contactId}`, contactData);
    return response.data;
  } catch (error) {
    if (error instanceof Error) {
      throw new Error(`Error updating contact: ${error.message}`);
    } else {
      throw new Error('Unknown error occurred when updating contact');
    }
  }
};