fix condition
This commit is contained in:
parent
a2a74c146d
commit
adcb84f6e7
|
@ -70,19 +70,22 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||
private instanceActorService: InstanceActorService,
|
||||
) {
|
||||
super(meta, paramDef, async (ps, _me, token) => {
|
||||
if (ps.initialPassword != null && this.config.initialPassword != null) {
|
||||
if (ps.initialPassword !== this.config.initialPassword) {
|
||||
// 初期パスワードが違う場合
|
||||
throw new ApiError(meta.errors.wrongInitialPassword);
|
||||
}
|
||||
} else if (this.config.initialPassword == null && (ps.initialPassword != null && ps.initialPassword.trim() !== '')) {
|
||||
// 初期パスワードが設定されていないのに初期パスワードが入力された場合
|
||||
throw new ApiError(meta.errors.wrongInitialPassword);
|
||||
}
|
||||
|
||||
const me = _me ? await this.usersRepository.findOneByOrFail({ id: _me.id }) : null;
|
||||
const realUsers = await this.instanceActorService.realLocalUsersPresent();
|
||||
if ((realUsers && !me?.isRoot) || token !== null) {
|
||||
|
||||
if (!realUsers && me == null && token == null) {
|
||||
// 初回セットアップの場合
|
||||
if (ps.initialPassword != null && this.config.initialPassword != null) {
|
||||
if (ps.initialPassword !== this.config.initialPassword) {
|
||||
// 初期パスワードが違う場合
|
||||
throw new ApiError(meta.errors.wrongInitialPassword);
|
||||
}
|
||||
} else if (this.config.initialPassword == null && (ps.initialPassword != null && ps.initialPassword.trim() !== '')) {
|
||||
// 初期パスワードが設定されていないのに初期パスワードが入力された場合
|
||||
throw new ApiError(meta.errors.wrongInitialPassword);
|
||||
}
|
||||
} else if ((realUsers && !me?.isRoot) || token !== null) {
|
||||
// 初回セットアップではなく、管理者でない場合
|
||||
throw new ApiError(meta.errors.accessDenied);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue