hotfix: uniform color migration fix
This commit is contained in:
parent
fac2e57a0e
commit
08c119e088
1 changed files with 6 additions and 8 deletions
|
@ -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)]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue