reset criteria on home, show filter on home, new BOM generation, Schema overhaul

This commit is contained in:
2024-07-23 20:46:38 +02:00
parent 9db23c2177
commit acec14d372
23 changed files with 577 additions and 131 deletions

View File

@@ -1,25 +1,25 @@
export interface User {
id?: string;
firstname: string;
lastname: string;
email: string;
phoneNumber?: string;
description?: string;
companyName?: string;
companyOverview?: string;
companyWebsite?: string;
companyLocation?: string;
offeredServices?: string;
areasServed?: AreasServed[];
hasProfile?: boolean;
hasCompanyLogo?: boolean;
licensedIn?: LicensedIn[];
gender?: 'male' | 'female';
customerType?: 'buyer' | 'professional';
customerSubType?: 'broker' | 'cpa' | 'attorney' | 'titleCompany' | 'surveyor' | 'appraiser';
created?: Date;
updated?: Date;
}
// export interface User {
// id?: string;
// firstname: string;
// lastname: string;
// email: string;
// phoneNumber?: string;
// description?: string;
// companyName?: string;
// companyOverview?: string;
// companyWebsite?: string;
// companyLocation?: string;
// offeredServices?: string;
// areasServed?: AreasServed[];
// hasProfile?: boolean;
// hasCompanyLogo?: boolean;
// licensedIn?: LicensedIn[];
// gender?: 'male' | 'female';
// customerType?: 'buyer' | 'professional';
// customerSubType?: 'broker' | 'cpa' | 'attorney' | 'titleCompany' | 'surveyor' | 'appraiser';
// created?: Date;
// updated?: Date;
// }
export interface UserData {
id?: string;
firstname: string;
@@ -42,22 +42,53 @@ export interface UserData {
created?: Date;
updated?: Date;
}
export type Gender = 'male' | 'female';
export type CustomerType = 'buyer' | 'professional';
export type CustomerSubType = 'broker' | 'cpa' | 'attorney' | 'titleCompany' | 'surveyor' | 'appraiser';
export type ListingsCategory = 'commercialProperty' | 'business';
export interface User {
id: string; // UUID as a string
firstname: string;
lastname: string;
email: string;
phoneNumber?: string;
description?: string;
companyName?: string;
companyOverview?: string;
companyWebsite?: string;
companyLocation?: string;
offeredServices?: string;
areasServed?: AreasServed[];
hasProfile?: boolean;
hasCompanyLogo?: boolean;
licensedIn?: LicensedIn[];
gender?: Gender;
customerType?: CustomerType;
customerSubType?: CustomerSubType;
created?: Date;
updated?: Date;
latitude?: number;
longitude?: number;
}
export interface BusinessListing {
id: string;
email?: string;
id: string; // UUID as a string
email: string; // References users.email
type?: string;
title?: string;
description?: string;
city?: string;
state?: string;
price?: number;
favoritesForUser?: string[];
state?: string; // 2-character state code
zipCode?: number;
county?: string;
price?: number; // double precision
favoritesForUser?: string[]; // Array of strings
draft?: boolean;
listingsCategory?: ListingsCategory;
realEstateIncluded?: boolean;
leasedLocation?: boolean;
franchiseResale?: boolean;
salesRevenue?: number;
cashFlow?: number;
salesRevenue?: number; // double precision
cashFlow?: number; // double precision
supportAndTraining?: string;
employees?: number;
established?: number;
@@ -70,31 +101,35 @@ export interface BusinessListing {
updated?: Date;
visits?: number;
lastVisit?: Date;
listingsCategory?: 'commercialProperty' | 'business';
latitude?: number; // double precision
longitude?: number; // double precision
}
export interface CommercialPropertyListing {
id: string;
serialId?: number;
email?: string;
id: string; // UUID as a string
serialId: number; // Serial ID
email: string; // References users.email
type?: string;
title?: string;
description?: string;
city?: string;
state?: string;
price?: number;
favoritesForUser?: string[];
state?: string; // 2-character state code
price?: number; // double precision
favoritesForUser?: string[]; // Array of strings
listingsCategory?: ListingsCategory;
hideImage?: boolean;
draft?: boolean;
zipCode?: number;
county?: string;
imageOrder?: string[];
imageOrder?: string[]; // Array of strings
imagePath?: string;
created?: Date;
updated?: Date;
visits?: number;
lastVisit?: Date;
listingsCategory?: 'commercialProperty' | 'business';
latitude?: number; // double precision
longitude?: number; // double precision
// embedding?: number[]; // Uncomment if needed for vector embedding
}
export interface AreasServed {
county: string;