
Meu server.ts
const server = fastify({
logger: true,
https: {
cert: fs.readFileSync("certificates/cert.crt"),
key: fs.readFileSync("certificates/cert.key"),
ca: fs.readFileSync("ca.crt"),
minVersion: "TLSv1.2",
},
});
server.register(cors, {
origin: true,
credentials: true,
});
server.register(cookie, {
secret: process.env.SECRET_KEY,
});
server.register(userRoutes);
server.register(addressRoutes);
server.register(orderRoutes);
server.register(webhooksRoutes);
server.get("/", (req, res) => {
res.code(200).send({ message: "Live Seed" });
});
server.post("/webhook/pix", async (req, res) => {
const socket = req.raw.socket as TLSSocket
if (socket.authorized) {
const body = req.body;
const filePath = path.join(__dirname, "data.json");
fs.appendFile(filePath, JSON.stringify(body) + "\n", (err) => {
if (err) {
server.log.error(err);
res.status(500).send();
} else {
res.status(200).send();
}
});
} else {
res.status(401).send();
}
});
server.listen({ port: process.env.PORT || 8080 }, async (err) => {
if (err) {
console.error(err);
process.exit(1);
}
const url = await ngrok.connect(process.env.PORT || 8080);
console.log(Ngrok tunnel opened at: ${url});
console.log(Server is listening on port ${process.env.PORT || 8080});
});
tslogger: true,
https: {
cert: fs.readFileSync("certificates/cert.crt"),
key: fs.readFileSync("certificates/cert.key"),
ca: fs.readFileSync("ca.crt"),
minVersion: "TLSv1.2",
},
});
server.register(cors, {
origin: true,
credentials: true,
});
server.register(cookie, {
secret: process.env.SECRET_KEY,
});
server.register(userRoutes);
server.register(addressRoutes);
server.register(orderRoutes);
server.register(webhooksRoutes);
server.get("/", (req, res) => {
res.code(200).send({ message: "Live Seed" });
});
server.post("/webhook/pix", async (req, res) => {
const socket = req.raw.socket as TLSSocket
if (socket.authorized) {
const body = req.body;
const filePath = path.join(__dirname, "data.json");
fs.appendFile(filePath, JSON.stringify(body) + "\n", (err) => {
if (err) {
server.log.error(err);
res.status(500).send();
} else {
res.status(200).send();
}
});
} else {
res.status(401).send();
}
});
server.listen({ port: process.env.PORT || 8080 }, async (err) => {
if (err) {
console.error(err);
process.exit(1);
}
const url = await ngrok.connect(process.env.PORT || 8080);
console.log(Ngrok tunnel opened at: ${url});
console.log(Server is listening on port ${process.env.PORT || 8080});
});