46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
|
import express from "express";
|
||
|
import mongoose from "mongoose";
|
||
|
import ImageModel from "./ImageModel";
|
||
|
|
||
|
const app = express();
|
||
|
|
||
|
app.use(express.json());
|
||
|
|
||
|
// Hello World GET endpoint
|
||
|
app.get("/", (_, res) => {
|
||
|
res.json({ message: "Blazing fast 🚀" });
|
||
|
});
|
||
|
|
||
|
app.get("/images", async (req, res) => {
|
||
|
try {
|
||
|
const allImages = await ImageModel.find();
|
||
|
res.json(allImages);
|
||
|
} catch (error) {
|
||
|
res.status(500).json({ message: error });
|
||
|
}
|
||
|
})
|
||
|
|
||
|
// Set the default port to 8080, or use the PORT environment variable
|
||
|
|
||
|
const start = async () => {
|
||
|
const port = process.env.PORT || 8080;
|
||
|
const mongo_uri: string = process.env.MONGODB_URI || "";
|
||
|
const mongo_user = process.env.MONGODB_USER;
|
||
|
const mongo_pass = process.env.MONGODB_PASS;
|
||
|
|
||
|
try {
|
||
|
await mongoose.connect(mongo_uri, {
|
||
|
authSource: "admin",
|
||
|
user: mongo_user,
|
||
|
pass: mongo_pass
|
||
|
});
|
||
|
app.listen(port, () => console.log(`Express server listening on port ${port}`));
|
||
|
} catch (error) {
|
||
|
console.error(error);
|
||
|
process.exit(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
start();
|
||
|
|