| Server IP : 138.197.176.125 / Your IP : 216.73.216.41 Web Server : Apache/2.4.41 (Ubuntu) System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/dev.wowchat.co_01012026/server/ |
Upload File : |
import { type User, type InsertUser, type ContactSubmission, type InsertContact } from "@shared/schema";
import { randomUUID } from "crypto";
export interface IStorage {
getUser(id: string): Promise<User | undefined>;
getUserByUsername(username: string): Promise<User | undefined>;
createUser(user: InsertUser): Promise<User>;
createContactSubmission(contact: InsertContact): Promise<ContactSubmission>;
getContactSubmissions(): Promise<ContactSubmission[]>;
}
export class MemStorage implements IStorage {
private users: Map<string, User>;
private contactSubmissions: Map<string, ContactSubmission>;
constructor() {
this.users = new Map();
this.contactSubmissions = new Map();
}
async getUser(id: string): Promise<User | undefined> {
return this.users.get(id);
}
async getUserByUsername(username: string): Promise<User | undefined> {
return Array.from(this.users.values()).find(
(user) => user.username === username,
);
}
async createUser(insertUser: InsertUser): Promise<User> {
const id = randomUUID();
const user: User = { ...insertUser, id };
this.users.set(id, user);
return user;
}
async createContactSubmission(insertContact: InsertContact): Promise<ContactSubmission> {
const id = randomUUID();
const contact: ContactSubmission = {
...insertContact,
id,
company: insertContact.company || null,
teamSize: insertContact.teamSize || null,
message: insertContact.message || null,
createdAt: new Date()
};
this.contactSubmissions.set(id, contact);
return contact;
}
async getContactSubmissions(): Promise<ContactSubmission[]> {
return Array.from(this.contactSubmissions.values()).sort(
(a, b) => (b.createdAt?.getTime() || 0) - (a.createdAt?.getTime() || 0)
);
}
}
export const storage = new MemStorage();