hotfix: uniform color migration fix
This commit is contained in:
		| @@ -6,27 +6,25 @@ export class uniformThemecolor1652859567549 { | ||||
| 	async up(queryRunner) { | ||||
| 		const formatColor = (color) => { | ||||
| 			let tc = new tinycolor(color); | ||||
| 			if (color.isValid()) { | ||||
| 				return color.toHexString(); | ||||
| 			if (tc.isValid()) { | ||||
| 				return tc.toHexString(); | ||||
| 			} else { | ||||
| 				return null; | ||||
| 			} | ||||
| 		}; | ||||
|  | ||||
| 		await Promise.all(queryRunner.query('SELECT "id", "themeColor" FROM "instance" WHERE "themeColor" IS NOT NULL') | ||||
| 		.then(instances => instances.map(instance => { | ||||
| 		await queryRunner.query('SELECT "id", "themeColor" FROM "instance" WHERE "themeColor" IS NOT NULL') | ||||
| 		.then(instances => Promise.all(instances.map(instance => { | ||||
| 			// update theme color to uniform format, e.g. #00ff00 | ||||
| 			// invalid theme colors get set to null | ||||
| 			instance.color = formatColor(instance.color); | ||||
|  | ||||
| 			return queryRunner.query('UPDATE "instance" SET "themeColor" = :themeColor WHERE "id" = :id', instance); | ||||
| 			return queryRunner.query('UPDATE "instance" SET "themeColor" = $1 WHERE "id" = $2', [formatColor(instance.themeColor), instance.id]); | ||||
| 		}))); | ||||
|  | ||||
| 		// also fix own theme color | ||||
| 		await queryRunner.query('SELECT "themeColor" FROM "meta" WHERE "themeColor" IS NOT NULL LIMIT 1') | ||||
| 		.then(metas => { | ||||
| 			if (metas.length > 0) { | ||||
| 				return queryRunner.query('UPDATE "meta" SET "themeColor" = :color', { color: formatColor(metas[0].color) }); | ||||
| 				return queryRunner.query('UPDATE "meta" SET "themeColor" = $1', [formatColor(metas[0].themeColor)]); | ||||
| 			} | ||||
| 		}); | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Johann150
					Johann150