zqs-plugin-bookmark
Version:
a bookmarkPlugin for zqs
70 lines • 5.13 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupRouter = void 0;
const controller_1 = require("./controller");
const model_1 = require("./model");
function setupRouter(app) {
return __awaiter(this, void 0, void 0, function* () {
const config = app.config.bookmark;
const routers = [];
const model = model_1.createModel(config);
const controller = new controller_1.Controller(model, config);
routers.push(model.routes(config.endpoint, {
path: '/',
methods: ['get'],
controller: controller.index,
tags: ['__bookmark'],
summary: 'List documents',
description: 'List documents',
consumes: ['application/json', 'application/xml'],
produces: ['application/json', 'application/xml'],
parameters: [model.docSchema.paginateOptions],
responses: {
200: {
description: 'Successful operation',
schema: model.docSchema.paginateResultWithOptions({
exclude: '_id',
}),
},
'4xx': model.docSchema.response4xx,
'5xx': model.docSchema.response5xx,
},
}, {
path: '/',
methods: ['post'],
controller: controller.tougle,
auth: {
type: 'isAuthenticated',
},
tags: ['__bookmark'],
summary: 'Tougle bookmark',
description: `Tougle bookmark`,
consumes: ['application/json', 'application/xml'],
produces: ['application/json', 'application/xml'],
parameters: [model.docSchema.body],
responses: {
201: {
description: 'Bookmark added',
schema: model.docSchema.result,
},
204: {
description: 'Bookmark removed',
},
'4xx': model.docSchema.response4xx,
'5xx': model.docSchema.response5xx,
},
}));
return routers;
});
}
exports.setupRouter = setupRouter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSw2Q0FBMEM7QUFDMUMsbUNBQXNDO0FBRXRDLFNBQXNCLFdBQVcsQ0FBQyxHQUFROztRQUN4QyxNQUFNLE1BQU0sR0FBWSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM1QyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsbUJBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLHVCQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQ1YsS0FBSyxDQUFDLE1BQU0sQ0FDVixNQUFNLENBQUMsUUFBUSxFQUNmO1lBQ0UsSUFBSSxFQUFFLEdBQUc7WUFDVCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQzVCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztZQUNwQixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsUUFBUSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7WUFDakQsUUFBUSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7WUFDakQsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDN0MsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRTtvQkFDSCxXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQzt3QkFDaEQsT0FBTyxFQUFFLEtBQUs7cUJBQ2YsQ0FBQztpQkFDSDtnQkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXO2dCQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXO2FBQ25DO1NBQ0YsRUFDRDtZQUNFLElBQUksRUFBRSxHQUFHO1lBQ1QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFVBQVUsRUFBRSxVQUFVLENBQUMsTUFBTTtZQUM3QixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLGlCQUFpQjthQUN4QjtZQUNELElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztZQUNwQixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsUUFBUSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7WUFDakQsUUFBUSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7WUFDakQsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEMsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRTtvQkFDSCxXQUFXLEVBQUUsZ0JBQWdCO29CQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNO2lCQUMvQjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0gsV0FBVyxFQUFFLGtCQUFrQjtpQkFDaEM7Z0JBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVztnQkFDbEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVzthQUNuQztTQUNGLENBQ0YsQ0FDRixDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUFBO0FBMURELGtDQTBEQyJ9