import type { ApiResponse } from '@alqove/types';
import type { AlqoveClient } from '../client';

export interface StripeStatus {
  charges_enabled: boolean;
  details_submitted: boolean;
  dashboard_url: string | null;
  onboarding_url: string | null;
}

export function createStripeEndpoints(client: AlqoveClient) {
  return {
    createConnectLink(storeId: string) {
      return client.post<ApiResponse<{ onboarding_url: string }>>(
        `/v1/stores/${storeId}/stripe/connect`,
        {},
      );
    },
    getStatus(storeId: string) {
      return client.get<ApiResponse<StripeStatus>>(`/v1/stores/${storeId}/stripe/status`);
    },
  };
}
