"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const router_1 = require("./router");
/**
 * @example
 * const { Api } = require("emfrest")
 *
 * @example <caption>Usage</caption>
 * Api(app, { model: Book, modelName: "book" });
 *
 * @description Entry point for the RESTful API.
 *
 * @param {Application} app Your express app.
 * @param {ApiOptions} options Options for the Api function.
 */
const Api = (app, { model, modelName, routePrefix, preMiddleware }) => {
    if (!preMiddleware) {
        preMiddleware = [];
    }
    if (model && modelName) {
        const baseRoute = `${routePrefix ? routePrefix : ""}/${modelName}s`;
        app.use(baseRoute, ...preMiddleware, (0, router_1.Router)(model, modelName));
        console.log(`Initialized api for ${modelName} at ${baseRoute}`);
    }
};
exports.default = Api;