/
Sense
/
Crash_Game
Обзор
Документация
Войти
/
Sense
/
Crash_Game
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
server/storage.ts
48 строк
1 KB
sergrek2002
Improve rocket movement and visuals, add database for persistent storage
23 июн 2025, 23:42
23 июн 2025, 23:42
a164280
Код
Авторство
О чём код?
import { users, type User, type InsertUser } from "@shared/schema"; // modify the interface with any CRUD methods // you might need import { User, InsertUser, InsertGameResult, gameResults } from '@shared/schema'; import { drizzle } from 'drizzle-orm/neon-http'; import { neon } from '@neondatabase/serverless'; import { users } from '@shared/schema'; import { eq, desc } from 'drizzle-orm'; export interface IStorage { getUser(id: number): Promise<User | undefined>; getUserByUsername(username: string): Promise<User | undefined>; createUser(user: InsertUser): Promise<User>; updateUser(id: number, updates: Partial<User>): Promise<User | undefined>; addGameResult(result: InsertGameResult): Promise<void>; getUserGameHistory(userId: number, limit?: number): Promise<any[]>; } 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();