zqs-plugin-bookmark
Version:
a bookmarkPlugin for zqs
56 lines • 4.28 kB
JavaScript
;
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.Controller = void 0;
const db_1 = require("zqs-core/lib/db");
const errors_1 = require("zqs-core/lib/errors");
const response_1 = require("zqs-core/lib/response");
class Controller {
constructor(model, config) {
this.model = model;
this.config = config;
this.index = (ctx) => __awaiter(this, void 0, void 0, function* () {
try {
const paginateResult = yield db_1.paginate(this.model, ctx);
response_1.response(ctx, 200, paginateResult);
}
catch (e) {
console.error(e);
errors_1.handleError(ctx, e);
}
});
this.tougle = (ctx) => __awaiter(this, void 0, void 0, function* () {
try {
if (!ctx.request.fields)
throw errors_1.Boom.badData(this.config.errors.empty);
const doc = {
target: ctx.request.fields.target,
__auth: ctx.request.auth._id,
category: ctx.request.fields.category,
};
const exists = yield this.model.count(doc);
if (exists) {
yield this.model.remove(doc).exec();
response_1.response(ctx, 204);
}
else {
const entity = yield this.model.create(doc);
response_1.response(ctx, 201, entity);
}
}
catch (e) {
errors_1.handleError(ctx, e);
}
});
}
}
exports.Controller = Controller;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBLHdDQUE2RDtBQUM3RCxnREFBd0Q7QUFDeEQsb0RBQWlEO0FBR2pELE1BQWEsVUFBVTtJQUNyQixZQUFvQixLQUFhLEVBQVUsTUFBZTtRQUF0QyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUVuRCxVQUFLLEdBQUcsQ0FBTyxHQUFhLEVBQUUsRUFBRTtZQUNyQyxJQUFJO2dCQUNGLE1BQU0sY0FBYyxHQUFHLE1BQU0sYUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZELG1CQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUNwQztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLG9CQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFBLENBQUM7UUFHSyxXQUFNLEdBQUcsQ0FBTyxHQUFhLEVBQUUsRUFBRTtZQUN0QyxJQUFJO2dCQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU07b0JBQUUsTUFBTSxhQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RSxNQUFNLEdBQUcsR0FBRztvQkFDVixNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUc7b0JBQzVCLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRO2lCQUN0QyxDQUFDO2dCQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNDLElBQUksTUFBTSxFQUFFO29CQUNWLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3BDLG1CQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUNwQjtxQkFBTTtvQkFDTCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM1QyxtQkFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzVCO2FBQ0Y7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixvQkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQSxDQUFDO0lBaEMyRCxDQUFDO0NBaUMvRDtBQWxDRCxnQ0FrQ0MifQ==