alapa
Version:
A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.
46 lines (45 loc) • 1.52 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResourceRouteManager = void 0;
const resource_1 = require("./extension/resource");
class ResourceRouteManager {
router;
constructor(router) {
this.router = router;
}
resource(path, controller, option) {
(0, resource_1.makeResourcefulRoute)(path, controller, this.router, option);
return this.router.all("");
}
restfulResource(path, controller, options) {
options = {
createNames: false,
namePrefix: "api",
...options,
except: [...(options?.except || []), "create", "edit"],
};
return this.resource(path, controller, options); // Placeholder
}
apiResource(path, controller, options) {
return this.restfulResource(path, controller, options);
}
resources(resources, options) {
for (const [path, controller] of Object.entries(resources)) {
this.resource(path, controller, options);
}
return this.router.all("");
}
restfulResources(resources, options) {
options = {
createNames: false,
namePrefix: "api",
...options,
except: [...(options?.except || []), "create", "edit"],
};
return this.resources(resources, options);
}
apiResources(resources, options) {
return this.restfulResources(resources, options);
}
}
exports.ResourceRouteManager = ResourceRouteManager;
;