Initial code

This commit is contained in:
Aslan 2025-12-22 21:58:15 -05:00
parent f4a1afe71b
commit c6d3e066c9
21 changed files with 2446 additions and 0 deletions

4
src/config.json Normal file
View file

@ -0,0 +1,4 @@
{
"port": 3012,
"db": "db.json"
}

3
src/config.ts Normal file
View file

@ -0,0 +1,3 @@
import config from "./config.json" with { type: "json" };
export { config };

View file

@ -0,0 +1,2 @@
export * from "./test.js";
export * from "./routes.js";

View file

@ -0,0 +1,8 @@
import { type FastifyInstance } from "fastify";
import * as controller from "./test.js";
const testRoutes = async (fastify: FastifyInstance) => {
fastify.get("/test", controller.test);
};
export { testRoutes };

View file

@ -0,0 +1,10 @@
import { type FastifyReply, type FastifyRequest } from "fastify";
import { testdb } from "../../store/store.js";
const test = async (request: FastifyRequest, reply: FastifyReply) => {
testdb();
return [{ name: "Alice" }];
};
export { test };

15
src/index.ts Normal file
View file

@ -0,0 +1,15 @@
import { config } from "./config.js";
import Fastify from "fastify";
import { testRoutes } from "./controllers/test/routes.js";
const app = Fastify({
logger: true,
});
app.register(testRoutes);
app.listen({ port: config.port }, (err, address) => {
if (err) throw err;
console.log(`Server is now listening on ${address}`);
});

2
src/store/index.ts Normal file
View file

@ -0,0 +1,2 @@
export * from "./store.js";
export * from "./types.js";

27
src/store/store.ts Normal file
View file

@ -0,0 +1,27 @@
import { PrismaClient } from "../generated/prisma/client.js";
import { PrismaPg } from "@prisma/adapter-pg";
import { Pool } from "pg";
const connectionString = process.env.DATABASE_URL;
const pool = new Pool({ connectionString });
const adapter = new PrismaPg(pool);
const prisma = new PrismaClient({ adapter });
async function testdb() {
const test = await prisma.user.findMany();
/*
const user = await prisma.user.create({
data: { name: "Alice", email: `alice${Math.random()}@example.com` },
});
console.log("Created user:", user);
const test = await prisma.user.findMany();
console.log(test);
*/
}
export { testdb };

3
src/store/types.ts Normal file
View file

@ -0,0 +1,3 @@
interface IState {}
export { type IState };