芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/api/discount/controllers/discount.js
'use strict'; const {parseMultipartData, sanitizeEntity} = require('strapi-utils'); /** * Read the documentation (https://strapi.io/documentation/v3.x/concepts/controllers.html#core-controllers) * to customize this controller */ module.exports = { async create(ctx) { let entity; if (ctx.is('multipart')) { //const { data, files } = parseMultipartData(ctx); //entity = await strapi.services.restaurant.create(data, { files }); } else { const isValid = strapi.services.discount.isValid(ctx.request.body); if (!isValid) { return ctx.badRequest(null, "errors.invalidFormData"); } entity = await strapi.services.discount.create(ctx.request.body); } return sanitizeEntity(entity, {model: strapi.models.discount}) }, async find(ctx) { let entities; const {query} = ctx; const {user} = ctx.state; if (query._q || !strapi.services.helpers.isAdmin(user)) { entities = await strapi.services["discount"].search(query); } else { const teacherLevels = await strapi.query("course-level").find({teacher: user.id}); entities = await strapi.services["discount"].find({course_levels_in: teacherLevels.map(x => x.id)}); } return ctx.send(entities); }, async getCurrentForLevel(ctx){ const {levelId} = ctx.params; const entities = await strapi.query("discount").find({ _limit: 1, _sort: 'createdAt:desc', isEnabled:true, course_levels_in:[levelId], toDate_gt:Date.now(), isFreePay:false, disposable:false, }); return ctx.send(entities); }, async discountByCode(ctx) { const {code} = ctx.params; const {result, entity} = await strapi.services.discount.verifyGetByCode(code); if (result === false) { return ctx.badRequest(null, entity); } return sanitizeEntity(entity, {model: strapi.models.discount}); } };