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:
+13
-6
@@ -1,6 +1,7 @@
|
||||
"use server";
|
||||
|
||||
import { pool } from "@/lib/db";
|
||||
import { getSession } from "@/lib/auth";
|
||||
|
||||
export type CartItem = {
|
||||
id: string;
|
||||
@@ -64,7 +65,8 @@ export async function createOrder(
|
||||
brandId?: string,
|
||||
shippingAddress?: ShippingAddress
|
||||
): Promise<CheckoutResult> {
|
||||
// ── Calculate tax if brand collects tax ─────────────────────────────────
|
||||
|
||||
await getSession(); // ── Calculate tax if brand collects tax ─────────────────────────────────
|
||||
let taxAmount = 0;
|
||||
let taxRate = 0;
|
||||
let taxLocation = "";
|
||||
@@ -162,7 +164,8 @@ export async function createOrder(
|
||||
// ── Cart Persistence ──────────────────────────────────────────────────────────
|
||||
|
||||
export async function getServerCart(userId: string): Promise<CartItem[]> {
|
||||
try {
|
||||
|
||||
await getSession(); try {
|
||||
const { rows } = await pool.query<{ get_user_cart: CartItem[] | null }>(
|
||||
`SELECT get_user_cart($1) AS "get_user_cart"`,
|
||||
[userId],
|
||||
@@ -178,7 +181,8 @@ export async function mergeLocalCart(
|
||||
localCart: CartItem[],
|
||||
userId: string
|
||||
): Promise<{ merged: CartItem[] }> {
|
||||
if (!localCart || localCart.length === 0) return { merged: [] };
|
||||
|
||||
await getSession(); if (!localCart || localCart.length === 0) return { merged: [] };
|
||||
|
||||
// Fetch server cart
|
||||
let serverCart: CartItem[] = [];
|
||||
@@ -233,7 +237,8 @@ export async function mergeLocalCart(
|
||||
}
|
||||
|
||||
export async function clearServerCart(userId: string): Promise<void> {
|
||||
try {
|
||||
|
||||
await getSession(); try {
|
||||
await pool.query(
|
||||
`SELECT clear_user_cart($1)`,
|
||||
[userId],
|
||||
@@ -256,7 +261,8 @@ export type PublicStop = {
|
||||
};
|
||||
|
||||
export async function getPublicStopsForBrand(brandId: string): Promise<PublicStop[]> {
|
||||
const { rows } = await pool.query<PublicStop>(
|
||||
|
||||
await getSession(); const { rows } = await pool.query<PublicStop>(
|
||||
`SELECT id, city, state, date, time, location, brand_id
|
||||
FROM stops
|
||||
WHERE active = true AND brand_id = $1
|
||||
@@ -275,7 +281,8 @@ export async function checkStopProductAvailability(
|
||||
stopId: string,
|
||||
productIds: string[]
|
||||
): Promise<ProductAvailability[]> {
|
||||
if (!productIds || productIds.length === 0) return [];
|
||||
|
||||
await getSession(); if (!productIds || productIds.length === 0) return [];
|
||||
const { rows } = await pool.query<{ check_stop_product_availability: ProductAvailability[] | null }>(
|
||||
`SELECT check_stop_product_availability($1, $2::uuid[]) AS "check_stop_product_availability"`,
|
||||
[stopId, productIds],
|
||||
|
||||
Reference in New Issue
Block a user