On this page
重命名
控制器:app/controller/file.js
js
// 重命名
async rename() {
const { ctx, app } = this;
const user_id = ctx.authUser.id;
ctx.validate({
id: {
required: true,
type: "int",
desc: "记录"
},
file_id: {
required: true,
type: "int",
defValue: 0,
desc: "目录id"
},
name: {
required: true,
type: "string",
desc: "文件名称"
}
});
let { id, file_id, name } = ctx.request.body;
// 验证目录id是否存在
if (file_id > 0) {
await this.service.file.isDirExist(file_id);
}
// 文件是否存在
let f = await this.service.file.isExist(id);
f.name = name;
let res = await f.save();
ctx.apiSuccess(res);
}
服务:app/service/file.js
js
async isExist(id) {
let f = await this.app.model.File.findOne({
where: {
id,
user_id: this.ctx.authUser.id
}
});
if (!f) {
return this.ctx.throw(404, '文件不存在');
}
return f
}
路由:app/router.js
js
router.post("/file/rename", controller.file.rename);