Files
cnpmcore/app/port/controller/admin/PaddingVersionController.ts
MK (fengmk2) 89f1250927 refactor: use all in one egg v4 (#855)
required https://github.com/eggjs/egg/pull/5654

---------

Signed-off-by: MK (fengmk2) <fengmk2@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-28 22:17:01 +08:00

50 lines
1.1 KiB
TypeScript

import {
HTTPContext,
Context,
HTTPController,
HTTPMethod,
HTTPMethodEnum,
HTTPQuery,
Inject,
} from 'egg';
import { AbstractController } from '../AbstractController.ts';
import type { FixNoPaddingVersionService } from '../../../core/service/FixNoPaddingVersionService.ts';
@HTTPController()
export class PaddingVersionController extends AbstractController {
@Inject()
private readonly fixNoPaddingVersionService: FixNoPaddingVersionService;
@HTTPMethod({
method: HTTPMethodEnum.PUT,
path: '/-/admin/npm/fixPaddingVersion',
})
async fixNoPaddingVersion(
@HTTPContext() ctx: Context,
@HTTPQuery() id: string
) {
const isAdmin = await this.userRoleManager.isAdmin(ctx);
if (!isAdmin) {
return {
ok: false,
error: 'only admin can do this',
};
}
let idNum: number | undefined;
if (id) {
idNum = Number.parseInt(id);
if (Number.isNaN(idNum)) {
return {
ok: false,
error: `id is not a number ${id}`,
};
}
}
await this.fixNoPaddingVersionService.fixPaddingVersion(idNum);
return {
ok: true,
};
}
}