Skip to content
关注公众号,获取新课通知

重命名


控制器: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);