Skip to content

Commit 3e4e31c

Browse files
fix(core): Fix permissions error on creation of superadmin
Relates to #2492, relates to #2478
1 parent fc5d981 commit 3e4e31c

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

packages/core/src/service/services/administrator.service.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { In, IsNull } from 'typeorm';
1010
import { RequestContext } from '../../api/common/request-context';
1111
import { RelationPaths } from '../../api/index';
1212
import { EntityNotFoundError, InternalServerError, UserInputError } from '../../common/error/errors';
13-
import { idsAreEqual, normalizeEmailAddress } from '../../common/index';
13+
import { assertFound, idsAreEqual, normalizeEmailAddress } from '../../common/index';
1414
import { ListQueryOptions } from '../../common/types/common-types';
1515
import { ConfigService } from '../../config';
1616
import { TransactionalConnection } from '../../connection/transactional-connection';
@@ -317,10 +317,10 @@ export class AdministratorService {
317317
superadminCredentials.identifier,
318318
superadminCredentials.password,
319319
);
320-
const createdAdministrator = await this.connection
321-
.getRepository(ctx, Administrator)
322-
.save(administrator);
323-
await this.assignRole(ctx, createdAdministrator.id, superAdminRole.id);
320+
const { id } = await this.connection.getRepository(ctx, Administrator).save(administrator);
321+
const createdAdministrator = await assertFound(this.findOne(ctx, id));
322+
createdAdministrator.user.roles.push(superAdminRole);
323+
await this.connection.getRepository(ctx, User).save(createdAdministrator.user, { reload: false });
324324
} else {
325325
const superAdministrator = await this.connection.rawConnection
326326
.getRepository(Administrator)

0 commit comments

Comments
 (0)