summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/entities
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2025-04-03 19:22:49 +0900
committerGitHub <noreply@github.com>2025-04-03 19:22:49 +0900
commitcab82452ecb9aa6f89da22a1177cbf0e01f0462b (patch)
treee0cf3599ec319a2ffeb8cc7233bf834c387e304f /packages/backend/src/core/entities
parentrefactor(frontend): refactor MkDateSeparatedList (diff)
downloadsharkey-cab82452ecb9aa6f89da22a1177cbf0e01f0462b.tar.gz
sharkey-cab82452ecb9aa6f89da22a1177cbf0e01f0462b.tar.bz2
sharkey-cab82452ecb9aa6f89da22a1177cbf0e01f0462b.zip
Copy role on move (#15745)
* feat(backend): copyOnMoveAccount * feat(endpoints): copyOnMoveAccount * feat(frontend): copyOnMoveAccount * docs(changelog): アカウントのマイグレーション時に古いアカウントからロールをコピーできるようになりました。 * fix: spdx header for migration * Update locales/ja-JP.yml * copyOnMoveAccount -> preserveAssignmentOnMoveAccount * fix: check for preserveAssignmentOnMoveAccount --------- Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Diffstat (limited to 'packages/backend/src/core/entities')
-rw-r--r--packages/backend/src/core/entities/RoleEntityService.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/backend/src/core/entities/RoleEntityService.ts b/packages/backend/src/core/entities/RoleEntityService.ts
index 2a7dc37bce..3fa38c9521 100644
--- a/packages/backend/src/core/entities/RoleEntityService.ts
+++ b/packages/backend/src/core/entities/RoleEntityService.ts
@@ -13,6 +13,7 @@ import type { MiRole } from '@/models/Role.js';
import { bindThis } from '@/decorators.js';
import { DEFAULT_POLICIES } from '@/core/RoleService.js';
import { IdService } from '@/core/IdService.js';
+import { Packed } from '@/misc/json-schema.js';
@Injectable()
export class RoleEntityService {
@@ -31,7 +32,7 @@ export class RoleEntityService {
public async pack(
src: MiRole['id'] | MiRole,
me?: { id: MiUser['id'] } | null | undefined,
- ) {
+ ): Promise<Packed<'Role'>> {
const role = typeof src === 'object' ? src : await this.rolesRepository.findOneByOrFail({ id: src });
const assignedCount = await this.roleAssignmentsRepository.createQueryBuilder('assign')
@@ -67,6 +68,7 @@ export class RoleEntityService {
isModerator: role.isModerator,
isExplorable: role.isExplorable,
asBadge: role.asBadge,
+ preserveAssignmentOnMoveAccount: role.preserveAssignmentOnMoveAccount,
canEditMembersByModerator: role.canEditMembersByModerator,
displayOrder: role.displayOrder,
policies: policies,