@avonjs/avonjs
Version:
A fluent Node.js API generator.
37 lines (36 loc) • 1.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const collect_js_1 = __importDefault(require("collect.js"));
const Filter_1 = __importDefault(require("./Filter"));
class ResourceId extends Filter_1.default {
/**
* The help text for the filter.
*/
helpText = 'Enter the resource IDs to filter records.';
constructor(...args) {
super(...args);
this.nullable(true, (value) => (0, collect_js_1.default)(value).isEmpty());
}
/**
* Apply the filter into the given repository.
*/
apply(request, repository, value) {
if (!this.isValidNullValue(value)) {
repository.whereKeys((0, collect_js_1.default)(value).all());
}
}
/**
* Get the swagger-ui schema.
*/
schema(request) {
return {
type: 'array',
items: { $ref: '#components/schemas/PrimaryKey' },
nullable: this.isNullable(),
};
}
}
exports.default = ResourceId;