UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

56 lines (55 loc) 1.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const QueryParameter_1 = __importDefault(require("../Http/Requests/QueryParameter")); const AuthorizedToSee_1 = __importDefault(require("../Mixins/AuthorizedToSee")); class Filter extends (0, AuthorizedToSee_1.default)(QueryParameter_1.default) { /** * The help text for the filter. */ helpText = 'Filter records by exact value match.'; /** * Get the query parameter key for filter. */ key() { return this.constructor.name; } /** * Specify the filter help text. */ help(helpText) { this.helpText = helpText; return this; } /** * Serialize parameters for schema. */ serializeParameters(request) { return [ { name: `filters[${this.key()}]`, in: 'query', explode: true, style: 'deepObject', description: this.helpText, allowEmptyValue: this.isNullable(), schema: this.schema(request), }, ]; } /** * Get the swagger-ui schema. */ schema(request) { return { type: 'string', nullable: this.isNullable(), }; } canSee(callback) { return super.canSee(callback); } } exports.default = Filter;