36 lines
		
	
	
		
			1019 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1019 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*
 | 
						|
 * SPDX-FileCopyrightText: syuilo and other misskey contributors
 | 
						|
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
						|
 */
 | 
						|
 | 
						|
export class RevertHardMute1700880703631 {
 | 
						|
	name = 'RevertHardMute1700880703631';
 | 
						|
 | 
						|
	async up(queryRunner) {
 | 
						|
		// migrate hardMutedWords to mutedWords
 | 
						|
		await queryRunner.query(`
 | 
						|
			update "user_profile"
 | 
						|
			set "mutedWords" = (
 | 
						|
				select jsonb_agg(elem order by ord)
 | 
						|
				from (
 | 
						|
					select elem, ord
 | 
						|
					from (
 | 
						|
						select elem, row_number() over () as ord
 | 
						|
						from jsonb_array_elements("mutedWords") as elem
 | 
						|
					) as muted
 | 
						|
					union
 | 
						|
					select elem, 1000000 + row_number() over ()
 | 
						|
					from jsonb_array_elements("hardMutedWords") as elem
 | 
						|
					where elem not in (select jsonb_array_elements("mutedWords"))
 | 
						|
				) as combined
 | 
						|
			)
 | 
						|
			where "hardMutedWords" <> '[]'
 | 
						|
		`);
 | 
						|
		await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "hardMutedWords"`);
 | 
						|
	}
 | 
						|
 | 
						|
	async down(queryRunner) {
 | 
						|
		await queryRunner.query(`ALTER TABLE "user_profile" ADD "hardMutedWords" jsonb NOT NULL DEFAULT '[]'`);
 | 
						|
	}
 | 
						|
}
 |