Build on the developer machine without Docker, commit dist/, and run on the server with Dockerfile.dist plus compose env_file. Co-authored-by: Cursor <cursoragent@cursor.com>
154 lines
4.4 KiB
TypeScript
154 lines
4.4 KiB
TypeScript
import { PrismaService } from '../prisma/prisma.service';
|
|
import { AddCartItemDto, UpdateCartItemMeterageDto, UpdateCartNotesDto } from './dto/cart.dto';
|
|
export declare class CartsService {
|
|
private readonly prisma;
|
|
constructor(prisma: PrismaService);
|
|
getCart(userId: string): Promise<{
|
|
id: string;
|
|
userId: string;
|
|
companyId: string;
|
|
companyName: string;
|
|
notes: string | undefined;
|
|
items: {
|
|
id: string;
|
|
productId: string;
|
|
catalogCode: string;
|
|
productName: string;
|
|
productCode: string;
|
|
color: string;
|
|
meterage: number;
|
|
unitPrice: number | undefined;
|
|
notes: string | undefined;
|
|
companyId: string;
|
|
companyName: string;
|
|
}[];
|
|
totalMeterage: number;
|
|
itemCount: number;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}>;
|
|
addItem(userId: string, dto: AddCartItemDto): Promise<{
|
|
id: string;
|
|
userId: string;
|
|
companyId: string;
|
|
companyName: string;
|
|
notes: string | undefined;
|
|
items: {
|
|
id: string;
|
|
productId: string;
|
|
catalogCode: string;
|
|
productName: string;
|
|
productCode: string;
|
|
color: string;
|
|
meterage: number;
|
|
unitPrice: number | undefined;
|
|
notes: string | undefined;
|
|
companyId: string;
|
|
companyName: string;
|
|
}[];
|
|
totalMeterage: number;
|
|
itemCount: number;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}>;
|
|
updateItem(userId: string, itemId: string, dto: UpdateCartItemMeterageDto): Promise<{
|
|
id: string;
|
|
userId: string;
|
|
companyId: string;
|
|
companyName: string;
|
|
notes: string | undefined;
|
|
items: {
|
|
id: string;
|
|
productId: string;
|
|
catalogCode: string;
|
|
productName: string;
|
|
productCode: string;
|
|
color: string;
|
|
meterage: number;
|
|
unitPrice: number | undefined;
|
|
notes: string | undefined;
|
|
companyId: string;
|
|
companyName: string;
|
|
}[];
|
|
totalMeterage: number;
|
|
itemCount: number;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}>;
|
|
removeItem(userId: string, itemId: string): Promise<{
|
|
id: string;
|
|
userId: string;
|
|
companyId: string;
|
|
companyName: string;
|
|
notes: string | undefined;
|
|
items: {
|
|
id: string;
|
|
productId: string;
|
|
catalogCode: string;
|
|
productName: string;
|
|
productCode: string;
|
|
color: string;
|
|
meterage: number;
|
|
unitPrice: number | undefined;
|
|
notes: string | undefined;
|
|
companyId: string;
|
|
companyName: string;
|
|
}[];
|
|
totalMeterage: number;
|
|
itemCount: number;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}>;
|
|
updateNotes(userId: string, dto: UpdateCartNotesDto): Promise<{
|
|
id: string;
|
|
userId: string;
|
|
companyId: string;
|
|
companyName: string;
|
|
notes: string | undefined;
|
|
items: {
|
|
id: string;
|
|
productId: string;
|
|
catalogCode: string;
|
|
productName: string;
|
|
productCode: string;
|
|
color: string;
|
|
meterage: number;
|
|
unitPrice: number | undefined;
|
|
notes: string | undefined;
|
|
companyId: string;
|
|
companyName: string;
|
|
}[];
|
|
totalMeterage: number;
|
|
itemCount: number;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}>;
|
|
clearCart(userId: string): Promise<{
|
|
id: string;
|
|
userId: string;
|
|
companyId: string;
|
|
companyName: string;
|
|
notes: string | undefined;
|
|
items: {
|
|
id: string;
|
|
productId: string;
|
|
catalogCode: string;
|
|
productName: string;
|
|
productCode: string;
|
|
color: string;
|
|
meterage: number;
|
|
unitPrice: number | undefined;
|
|
notes: string | undefined;
|
|
companyId: string;
|
|
companyName: string;
|
|
}[];
|
|
totalMeterage: number;
|
|
itemCount: number;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}>;
|
|
private validateMeterage;
|
|
private ensureCart;
|
|
private mapCart;
|
|
}
|