feat(endpoints): copyOnMoveAccount
This commit is contained in:
		
							parent
							
								
									3ac98f2032
								
							
						
					
					
						commit
						4167a099c7
					
				|  | @ -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, | ||||
| 			copyOnMoveAccount: role.copyOnMoveAccount, | ||||
| 			canEditMembersByModerator: role.canEditMembersByModerator, | ||||
| 			displayOrder: role.displayOrder, | ||||
| 			policies: policies, | ||||
|  |  | |||
|  | @ -389,6 +389,12 @@ export const packedRoleSchema = { | |||
| 					optional: false, nullable: false, | ||||
| 					example: false, | ||||
| 				}, | ||||
| 				copyOnMoveAccount: { | ||||
| 					type: 'boolean', | ||||
| 					description: 'True if the role is going to be copied to dest account on account move.', | ||||
| 					optional: false, nullable: false, | ||||
| 					example: false, | ||||
| 				}, | ||||
| 				canEditMembersByModerator: { | ||||
| 					type: 'boolean', | ||||
| 					optional: false, nullable: false, | ||||
|  |  | |||
|  | @ -36,6 +36,7 @@ export const paramDef = { | |||
| 		isAdministrator: { type: 'boolean' }, | ||||
| 		isExplorable: { type: 'boolean', default: false }, // optional for backward compatibility
 | ||||
| 		asBadge: { type: 'boolean' }, | ||||
| 		copyOnMoveAccount: { type: 'boolean' }, | ||||
| 		canEditMembersByModerator: { type: 'boolean' }, | ||||
| 		displayOrder: { type: 'number' }, | ||||
| 		policies: { | ||||
|  |  | |||
|  | @ -41,6 +41,7 @@ export const paramDef = { | |||
| 		isAdministrator: { type: 'boolean' }, | ||||
| 		isExplorable: { type: 'boolean' }, | ||||
| 		asBadge: { type: 'boolean' }, | ||||
| 		copyOnMoveAccount: { type: 'boolean' }, | ||||
| 		canEditMembersByModerator: { type: 'boolean' }, | ||||
| 		displayOrder: { type: 'number' }, | ||||
| 		policies: { | ||||
|  | @ -78,6 +79,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- | |||
| 				isAdministrator: ps.isAdministrator, | ||||
| 				isExplorable: ps.isExplorable, | ||||
| 				asBadge: ps.asBadge, | ||||
| 				copyOnMoveAccount: ps.copyOnMoveAccount, | ||||
| 				canEditMembersByModerator: ps.canEditMembersByModerator, | ||||
| 				displayOrder: ps.displayOrder, | ||||
| 				policies: ps.policies, | ||||
|  |  | |||
|  | @ -5132,6 +5132,11 @@ export type components = { | |||
|       isExplorable: boolean; | ||||
|       /** @example false */ | ||||
|       asBadge: boolean; | ||||
|       /** | ||||
|        * @description True if the role is going to be copied to dest account on account move. | ||||
|        * @example false | ||||
|        */ | ||||
|       copyOnMoveAccount: boolean; | ||||
|       /** @example false */ | ||||
|       canEditMembersByModerator: boolean; | ||||
|       policies: { | ||||
|  | @ -9347,6 +9352,7 @@ export type operations = { | |||
|           /** @default false */ | ||||
|           isExplorable?: boolean; | ||||
|           asBadge: boolean; | ||||
|           copyOnMoveAccount?: boolean; | ||||
|           canEditMembersByModerator: boolean; | ||||
|           displayOrder: number; | ||||
|           policies: Record<string, never>; | ||||
|  | @ -9622,6 +9628,7 @@ export type operations = { | |||
|           isAdministrator?: boolean; | ||||
|           isExplorable?: boolean; | ||||
|           asBadge?: boolean; | ||||
|           copyOnMoveAccount?: boolean; | ||||
|           canEditMembersByModerator?: boolean; | ||||
|           displayOrder?: number; | ||||
|           policies?: Record<string, never>; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue