json-api-nestjs
Version:
JsonApi Plugin for NestJs
182 lines • 6.85 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Bindings = void 0;
exports.excludeMethod = excludeMethod;
const common_1 = require("@nestjs/common");
const nestjs_shared_1 = require("../../../utils/nestjs-shared");
const json_base_controller_1 = require("../controller/json-base.controller");
const constants_1 = require("../../../constants");
const pipe_1 = require("../pipe");
const Bindings = {
getAll: {
method: common_1.RequestMethod.GET,
name: 'getAll',
path: '/',
implementation: json_base_controller_1.JsonBaseController.prototype.getAll,
parameters: [
{
decorator: common_1.Query,
mixins: [
pipe_1.queryInputMixin,
pipe_1.queryMixin,
pipe_1.queryFiledInIncludeMixin,
pipe_1.queryCheckSelectFieldMixin,
],
},
],
},
getOne: {
method: common_1.RequestMethod.GET,
name: 'getOne',
path: `:${constants_1.PARAMS_RESOURCE_ID}`,
implementation: json_base_controller_1.JsonBaseController.prototype.getOne,
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
{
decorator: common_1.Query,
mixins: [
pipe_1.queryInputMixin,
pipe_1.queryMixin,
pipe_1.queryFiledInIncludeMixin,
pipe_1.queryCheckSelectFieldMixin,
],
},
],
},
deleteOne: {
method: common_1.RequestMethod.DELETE,
name: 'deleteOne',
path: `:${constants_1.PARAMS_RESOURCE_ID}`,
implementation: json_base_controller_1.JsonBaseController.prototype.deleteOne,
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
],
},
postOne: {
method: common_1.RequestMethod.POST,
name: 'postOne',
path: '/',
implementation: json_base_controller_1.JsonBaseController.prototype.postOne,
parameters: [
{
decorator: common_1.Body,
mixins: [pipe_1.postInputPipeMixin],
},
],
},
patchOne: {
method: common_1.RequestMethod.PATCH,
name: 'patchOne',
path: `:${constants_1.PARAMS_RESOURCE_ID}`,
implementation: json_base_controller_1.JsonBaseController.prototype.patchOne,
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
{
decorator: common_1.Body,
mixins: [pipe_1.patchInputPipeMixin],
},
],
},
getRelationship: {
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
name: 'getRelationship',
method: common_1.RequestMethod.GET,
implementation: json_base_controller_1.JsonBaseController.prototype.getRelationship,
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
{
property: constants_1.PARAMS_RELATION_NAME,
decorator: common_1.Param,
mixins: [pipe_1.parseRelationshipNamePipeMixin],
},
],
},
postRelationship: {
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
name: 'postRelationship',
method: common_1.RequestMethod.POST,
implementation: json_base_controller_1.JsonBaseController.prototype['postRelationship'],
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
{
property: constants_1.PARAMS_RELATION_NAME,
decorator: common_1.Param,
mixins: [pipe_1.parseRelationshipNamePipeMixin],
},
{
decorator: common_1.Body,
mixins: [pipe_1.postRelationshipPipeMixin],
},
],
},
deleteRelationship: {
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
name: 'deleteRelationship',
method: common_1.RequestMethod.DELETE,
implementation: json_base_controller_1.JsonBaseController.prototype['deleteRelationship'],
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
{
property: constants_1.PARAMS_RELATION_NAME,
decorator: common_1.Param,
mixins: [pipe_1.parseRelationshipNamePipeMixin],
},
{
decorator: common_1.Body,
mixins: [pipe_1.postRelationshipPipeMixin],
},
],
},
patchRelationship: {
path: `:${constants_1.PARAMS_RESOURCE_ID}/relationships/:${constants_1.PARAMS_RELATION_NAME}`,
name: 'patchRelationship',
method: common_1.RequestMethod.PATCH,
implementation: json_base_controller_1.JsonBaseController.prototype['patchRelationship'],
parameters: [
{
property: constants_1.PARAMS_RESOURCE_ID,
decorator: common_1.Param,
mixins: [pipe_1.idPipeMixin, pipe_1.checkItemEntityPipeMixin],
},
{
property: constants_1.PARAMS_RELATION_NAME,
decorator: common_1.Param,
mixins: [pipe_1.parseRelationshipNamePipeMixin],
},
{
decorator: common_1.Body,
mixins: [pipe_1.patchRelationshipPipeMixin],
},
],
},
};
exports.Bindings = Bindings;
function excludeMethod(names) {
const tmpObject = names.reduce((acum, key) => ((acum[key] = true), acum), {});
return nestjs_shared_1.ObjectTyped.keys(Bindings).filter((method) => !tmpObject[method]);
}
//# sourceMappingURL=bindings.js.map