2023-06-27 09:29:43 +08:00
|
|
|
import {
|
|
|
|
|
ALL,
|
|
|
|
|
Body,
|
|
|
|
|
Controller,
|
|
|
|
|
Inject,
|
|
|
|
|
Post,
|
|
|
|
|
Provide,
|
|
|
|
|
} from '@midwayjs/decorator';
|
|
|
|
|
import { BaseController } from '../../../basic/base-controller';
|
|
|
|
|
import { Constants } from '../../../basic/constants';
|
|
|
|
|
import { UserService } from '../../authority/service/user-service';
|
|
|
|
|
import { UserEntity } from '../../authority/entity/user';
|
2024-06-16 00:20:02 +08:00
|
|
|
import { SysSettingsService } from '../../system/service/sys-settings-service';
|
2023-06-27 09:29:43 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
@Provide()
|
|
|
|
|
@Controller('/api/')
|
|
|
|
|
export class RegisterController extends BaseController {
|
|
|
|
|
@Inject()
|
|
|
|
|
userService: UserService;
|
2024-06-16 00:20:02 +08:00
|
|
|
|
|
|
|
|
@Inject()
|
|
|
|
|
sysSettingsService: SysSettingsService;
|
|
|
|
|
|
2023-06-27 09:29:43 +08:00
|
|
|
@Post('/register', { summary: Constants.per.guest })
|
|
|
|
|
public async register(
|
|
|
|
|
@Body(ALL)
|
|
|
|
|
user: UserEntity
|
|
|
|
|
) {
|
2024-06-16 00:20:02 +08:00
|
|
|
const sysPublicSettings = await this.sysSettingsService.getPublicSettings();
|
|
|
|
|
if (sysPublicSettings.registerEnabled === false) {
|
|
|
|
|
throw new Error('当前站点已禁止自助注册功能');
|
|
|
|
|
}
|
2023-06-27 09:29:43 +08:00
|
|
|
const newUser = await this.userService.register(user);
|
|
|
|
|
return this.ok(newUser);
|
|
|
|
|
}
|
|
|
|
|
}
|