UNPKG

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
"use strict"; 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;