maggie-api
Version:
🧙♀️ A magical Express middleware to auto-generate CRUD APIs for Mongoose models with validation, unique keys, and middlewares.
36 lines (35 loc) • 1.2 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const routes_1 = __importDefault(require("./routes"));
const models_1 = __importDefault(require("./models"));
const joi_1 = __importDefault(require("joi"));
const app = (0, express_1.default)();
app.use(express_1.default.json());
// @ts-ignore
app.get("/", (_req, res) => {
return res.status(200).json({ message: "App is live 😗" });
});
const UserValidationSchema = joi_1.default.object({
_id: joi_1.default.string().required(),
firstName: joi_1.default.string().required(),
lastName: joi_1.default.string().required(),
email: joi_1.default.string().email().required(),
});
const apiRouter = (0, routes_1.default)({
prefix: "/api/v1",
models: [
{
model: models_1.default.User,
path: "user",
validationSchema: UserValidationSchema,
primaryKey: "email",
middleWares: [],
},
],
});
app.use(apiRouter);
exports.default = app;