mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 10:15:31 +00:00
29 lines
779 B
TypeScript
29 lines
779 B
TypeScript
import { knex } from "../db";
|
|
import { randomUUID } from "crypto";
|
|
|
|
export default class SessionModel {
|
|
static async create(): Promise<string> {
|
|
const sessionId = randomUUID();
|
|
const startTime = Date.now();
|
|
await knex("session").insert({
|
|
id: sessionId,
|
|
start_time: startTime,
|
|
});
|
|
return sessionId;
|
|
}
|
|
|
|
static async addSkin(sessionId: string, skinMd5: string): Promise<void> {
|
|
await knex("session_skin").insert({
|
|
session_id: sessionId,
|
|
skin_md5: skinMd5,
|
|
});
|
|
}
|
|
|
|
static async getIncludedSkinCount(sessionId: string): Promise<number> {
|
|
const result = await knex("session_skin")
|
|
.where({ session_id: sessionId })
|
|
.count("* as count")
|
|
.first();
|
|
return result ? (result.count as number) : 0;
|
|
}
|
|
}
|