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 '[]'`);
 | |
| 	}
 | |
| }
 | 
