SnapAPI/src/routes/signup.ts
Hoid 2eca4e700b
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 9m43s
fix: read version from package.json, bump to 0.6.0, remove signup/free from OpenAPI spec
2026-02-26 11:06:08 +00:00

29 lines
893 B
TypeScript

import { Router } from "express";
import { createKey } from "../services/keys.js";
import logger from "../services/logger.js";
export const signupRouter = Router();
// Simple signup: email → instant API key (no verification for now)
signupRouter.post("/free", async (req, res) => {
const { email } = req.body;
if (!email || typeof email !== "string" || !email.includes("@")) {
res.status(400).json({ error: "Valid email required" });
return;
}
try {
const key = await createKey(email.toLowerCase().trim(), "free");
logger.info({ email: email.slice(0, 3) + "***" }, "Free signup");
res.json({
apiKey: key.key,
tier: "free",
limit: 100,
message: "Your API key is ready! 100 free screenshots/month.",
});
} catch (err: any) {
logger.error({ err }, "Signup failed");
res.status(500).json({ error: "Signup failed" });
}
});