mirror of
https://github.com/R0m1k3/Regisflow.git
synced 2026-10-12 09:46:20 +02:00
Initial commit of the React application with UI components, form, camera, and indexedDB integration for sale data management. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/02867739-9ff7-4441-aca2-12e0153376c5.jpg
40 lines
1012 B
TypeScript
40 lines
1012 B
TypeScript
import { users, type User, type InsertUser } from "@shared/schema";
|
|
|
|
// modify the interface with any CRUD methods
|
|
// you might need
|
|
|
|
export interface IStorage {
|
|
getUser(id: number): Promise<User | undefined>;
|
|
getUserByUsername(username: string): Promise<User | undefined>;
|
|
createUser(user: InsertUser): Promise<User>;
|
|
}
|
|
|
|
export class MemStorage implements IStorage {
|
|
private users: Map<number, User>;
|
|
currentId: number;
|
|
|
|
constructor() {
|
|
this.users = new Map();
|
|
this.currentId = 1;
|
|
}
|
|
|
|
async getUser(id: number): 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 = this.currentId++;
|
|
const user: User = { ...insertUser, id };
|
|
this.users.set(id, user);
|
|
return user;
|
|
}
|
|
}
|
|
|
|
export const storage = new MemStorage();
|