Files
sase.tr/packages/shared/src/index.ts
Semih Yesilyurt 11975d8b5a feat(payments): remove EFT/havale, Stripe-only checkout + Turkish locale
EFT/Havale was retired; Stripe is now the sole payment method. Remove the
EFT code surface (shared PaymentMethod "eft" + EftPaymentInput + eftReceiptUrl,
EFT_RECEIPT_REQUIRED error code, billing UI receipt/filter/label paths,
payments.service eft read paths). DB columns (eft_receipt_url, bank_account_id,
bank_accounts) are kept and marked @deprecated to preserve historical records
and avoid a destructive migration — same pattern as the retired iyzico column.

Faz 3 conversion lever: set locale "tr" on the Stripe Checkout session. The
audience is Turkish B2B and ~60% of sessions reached the foreign-language
hosted page but never started a payment intent (pure abandonment, not decline).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 19:17:10 +03:00

77 lines
2.0 KiB
TypeScript

// Types
export type { User, UserProfile, UserSubscriptionSummary } from "./types/user.js";
export type { Vehicle, VinDecodeResult, CategoryNode, VehicleSource } from "./types/vehicle.js";
export type { Brand } from "./types/brand.js";
export type { Part, PartSearchResult, PartSource } from "./types/part.js";
export type { Category, CategoryWithSchema, SchemaPic, Hotspot } from "./types/category.js";
export type {
Plan,
Subscription,
UserBrand,
CreateSubscriptionInput,
SubscriptionStatus,
} from "./types/subscription.js";
export type {
Payment,
PaymentMethod,
PaymentStatus,
} from "./types/payment.js";
export type { ApiResponse, ApiError, PaginationMeta } from "./types/api-response.js";
export type { PaginationInput, PaginatedResult } from "./types/pagination.js";
// Schemas
export { vinSchema } from "./schemas/vin.js";
export {
loginSchema,
registerSchema,
forgotPasswordSchema,
resetPasswordSchema,
} from "./schemas/auth.js";
export {
changelogChangeTypeEnum,
changelogEntrySchema,
createChangelogEntrySchema,
updateChangelogEntrySchema,
} from "./schemas/changelog.js";
export type {
ChangelogEntry,
CreateChangelogEntry,
UpdateChangelogEntry,
ChangelogChangeType,
} from "./schemas/changelog.js";
export { paginationSchema } from "./schemas/pagination.js";
// Constants
export { VIN_REGEX, EMAIL_REGEX, OEM_CODE_REGEX } from "./constants/regex.js";
export {
PLANS,
REFERRAL_REWARDS,
CURRENCY,
FULL_PLAN_BRAND_LIMIT,
referralRewardForCount,
referralTotalRewardDays,
} from "./constants/plans.js";
export { ERROR_CODES } from "./constants/error-codes.js";
export type { ErrorCode } from "./constants/error-codes.js";
// Utils
export {
isValidVin,
validateVinCheckDigit,
extractWmi,
extractModelYear,
getBrandFromWmi,
WMI_BRAND_MAP,
} from "./utils/vin-validator.js";
export { formatTRY, kurusToLira, liraToKurus } from "./utils/currency.js";
export {
formatVin,
formatDate,
formatDateTime,
slugify,
generateReferralCode,
normalizeEmail,
normalizeName,
suggestEmailFix,
} from "./utils/formatters.js";