UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

33 lines (32 loc) 1.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Contracts_1 = require("../../Contracts"); const ResourceIndexResponse_1 = __importDefault(require("../Responses/ResourceIndexResponse")); const Controller_1 = __importDefault(require("./Controller")); class ResourceIndexController extends Controller_1.default { /** * Default route handler */ async __invoke(request) { const resource = request.resource(); request .logger() ?.dump(`Authorizing user for "${Contracts_1.Ability.viewAny}" access on "${request.resourceName()}".`); await resource.authorizeTo(request, Contracts_1.Ability.viewAny); request .logger() ?.dump(`Searching on "${request.resourceName()}" repository ...`); const { resources, count } = await request.searchIndex(); request.logger()?.dump('Preparing response ...'); return new ResourceIndexResponse_1.default(resources, { count, currentPage: request.currentPage(), perPage: request.perPage(), perPageOptions: resource.perPageOptions(), }); } } exports.default = ResourceIndexController;