Implement RFID tag dump PWA with REST API, auth, and CI

Add Next.js app with SQLite/Drizzle storage for sites and LF/HF tag
dumps, multi-user Auth.js (credentials + optional OIDC), personal API
tokens in Settings, versioned /api/v1 for UI and future CLI use,
MCT/Proxmark/JSON import-export, PWA offline shell, Vitest tests, and
GitHub Actions CI.
This commit is contained in:
Cursor Agent
2026-08-23 22:17:51 +00:00
parent 5029945cc2
commit 3331944773
65 changed files with 13689 additions and 1 deletions
+27
View File
@@ -0,0 +1,27 @@
import { eq } from "drizzle-orm";
import { getDb, resetDbConnection } from "../src/db/client";
import { apiTokens, users } from "../src/db/schema";
import { generateApiToken } from "../src/lib/auth/tokens";
const email = process.argv[2] || "[email protected]";
const db = getDb();
const user = db.select().from(users).where(eq(users.email, email)).get();
if (!user) {
console.error("User not found:", email);
process.exit(1);
}
const g = generateApiToken();
db.insert(apiTokens)
.values({
id: crypto.randomUUID(),
userId: user.id,
name: "smoke",
tokenHash: g.tokenHash,
prefix: g.prefix,
expiresAt: null,
lastUsedAt: null,
createdAt: new Date(),
})
.run();
console.log(g.token);
resetDbConnection();