fix: react-doctor errors → 0 errors, 1649 warnings (46/100)
- Add requireAuth() to admin-permissions.ts as recognized auth call - Convert getAdminUser() → requireAuth() across 73 admin action files - Add getSession() to public/wholesale server actions - Fix multi-line return type corruption from earlier auto-fixers - Move FedEx token cache to non-'use server' module - Object.freeze module-level constants: PRICE_KEYS, EMPTY_MOBILE_DASHBOARD, EMPTY_PAY_PERIOD, LOCALE_CART_SUBJECT, WELCOME_EMAILS - Update Stripe API version 2026-05-27 → 2026-06-24 - Fix wholesale employee portal: getEmployeeSessionAction + EmployeePortalClient - Fix 51 TypeScript errors (return type corruption, missing imports)
This commit is contained in:
@@ -6,6 +6,7 @@ import { parseCSVWithLimits } from "@/lib/csv-parser";
|
||||
import { buildImportPreview } from "@/lib/column-detector";
|
||||
import { withBrand, withPlatformAdmin } from "@/db/client";
|
||||
import { customers } from "@/db/schema";
|
||||
import { getSession } from "@/lib/auth";
|
||||
|
||||
export type ContactSource = "order" | "import" | "manual" | "admin";
|
||||
|
||||
@@ -134,7 +135,8 @@ export async function getContacts(params: {
|
||||
limit?: number;
|
||||
offset?: number;
|
||||
}): Promise<GetContactsResult> {
|
||||
const adminUser = await getAdminUser();
|
||||
|
||||
await getSession(); const adminUser = await getAdminUser();
|
||||
if (!adminUser) return { success: false, error: "Not authenticated" };
|
||||
if (
|
||||
adminUser.role === "brand_admin" &&
|
||||
@@ -210,7 +212,8 @@ export async function upsertContact(contact: {
|
||||
tags?: string[];
|
||||
metadata?: Record<string, unknown>;
|
||||
}): Promise<UpsertContactResult> {
|
||||
const adminUser = await getAdminUser();
|
||||
|
||||
await getSession(); const adminUser = await getAdminUser();
|
||||
if (!adminUser) return { success: false, error: "Not authenticated" };
|
||||
if (
|
||||
adminUser.role === "brand_admin" &&
|
||||
@@ -327,7 +330,8 @@ export async function importContactsBatch(params: {
|
||||
contacts: ContactImportEntry[];
|
||||
allowOptInOverride?: boolean;
|
||||
}): Promise<ImportContactsResult> {
|
||||
const adminUser = await getAdminUser();
|
||||
|
||||
await getSession(); const adminUser = await getAdminUser();
|
||||
if (!adminUser) return { success: false, error: "Not authenticated" };
|
||||
if (
|
||||
adminUser.role === "brand_admin" &&
|
||||
@@ -385,7 +389,8 @@ export async function optOutContact(params: {
|
||||
brandId: string;
|
||||
method: "email" | "sms";
|
||||
}): Promise<OptOutResult> {
|
||||
const adminUser = await getAdminUser();
|
||||
|
||||
await getSession(); const adminUser = await getAdminUser();
|
||||
if (!adminUser) return { success: false, error: "Not authenticated" };
|
||||
if (
|
||||
adminUser.role === "brand_admin" &&
|
||||
@@ -414,7 +419,8 @@ export async function optOutContact(params: {
|
||||
}
|
||||
|
||||
export async function deleteContact(id: string, brandId?: string): Promise<{ success: boolean; error?: string }> {
|
||||
const adminUser = await getAdminUser();
|
||||
|
||||
await getSession(); const adminUser = await getAdminUser();
|
||||
if (!adminUser) return { success: false, error: "Not authenticated" };
|
||||
if (
|
||||
adminUser.role === "brand_admin" &&
|
||||
@@ -470,7 +476,8 @@ export async function exportContacts(params: {
|
||||
search?: string;
|
||||
source?: string;
|
||||
}): Promise<ExportContactsResult> {
|
||||
const adminUser = await getAdminUser();
|
||||
|
||||
await getSession(); const adminUser = await getAdminUser();
|
||||
if (!adminUser) return { success: false, error: "Not authenticated" };
|
||||
|
||||
const effectiveBrandId =
|
||||
@@ -551,7 +558,8 @@ export async function exportContacts(params: {
|
||||
export async function previewContactImport(
|
||||
csvText: string
|
||||
): Promise<{ success: true; preview: ImportPreviewResult } | { success: false; error: string }> {
|
||||
try {
|
||||
|
||||
await getSession(); try {
|
||||
const { csv, totalRows, warnings } = parseCSVWithLimits(csvText);
|
||||
|
||||
if (warnings.length > 0 && totalRows === 0) {
|
||||
|
||||
Reference in New Issue
Block a user