diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-25 12:43:43 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-05-28 21:31:40 -0400 |
| commit | 9e282b1d1086409e28c4a3798d8b1f5a9688d65e (patch) | |
| tree | 271ac044ca3f9d65aea8d816b11b0d7706545dd2 /packages/backend/migration | |
| parent | add backend npm script to roll back a migration (diff) | |
| download | sharkey-9e282b1d1086409e28c4a3798d8b1f5a9688d65e.tar.gz sharkey-9e282b1d1086409e28c4a3798d8b1f5a9688d65e.tar.bz2 sharkey-9e282b1d1086409e28c4a3798d8b1f5a9688d65e.zip | |
fix arrays in migration add_instance_block_columns
Diffstat (limited to 'packages/backend/migration')
| -rw-r--r-- | packages/backend/migration/1748105111513-add_instance_block_columns.js | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/packages/backend/migration/1748105111513-add_instance_block_columns.js b/packages/backend/migration/1748105111513-add_instance_block_columns.js index c9087604e5..6e3d78d5e8 100644 --- a/packages/backend/migration/1748105111513-add_instance_block_columns.js +++ b/packages/backend/migration/1748105111513-add_instance_block_columns.js @@ -37,32 +37,32 @@ export class AddInstanceBlockColumns1748105111513 { // Blocked hosts if (meta.blockedHosts.length > 0) { - const pattern = buildPatterns(meta.blockedHosts); - await queryRunner.query(`UPDATE "instance" SET "isBlocked" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ${pattern}`); + const patterns = buildPatterns(meta.blockedHosts); + await queryRunner.query(`UPDATE "instance" SET "isBlocked" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ($1)`, [ patterns ]); } // Silenced hosts if (meta.silencedHosts.length > 0) { - const pattern = buildPatterns(meta.silencedHosts); - await queryRunner.query(`UPDATE "instance" SET "isSilenced" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ${pattern}`); + const patterns = buildPatterns(meta.silencedHosts); + await queryRunner.query(`UPDATE "instance" SET "isSilenced" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ($1)`, [ patterns ]); } // Media silenced hosts if (meta.mediaSilencedHosts.length > 0) { - const pattern = buildPatterns(meta.mediaSilencedHosts); - await queryRunner.query(`UPDATE "instance" SET "isMediaSilenced" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ${pattern}`); + const patterns = buildPatterns(meta.mediaSilencedHosts); + await queryRunner.query(`UPDATE "instance" SET "isMediaSilenced" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ($1)`, [ patterns ]); } // Allow-listed hosts if (meta.federationHosts.length > 0) { - const pattern = buildPatterns(meta.federationHosts); - await queryRunner.query(`UPDATE "instance" SET "isAllowListed" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ${pattern}`); + const patterns = buildPatterns(meta.federationHosts); + await queryRunner.query(`UPDATE "instance" SET "isAllowListed" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ($1)`, [ patterns ]); } // Bubbled hosts if (meta.bubbleInstances.length > 0) { - const pattern = buildPatterns(meta.bubbleInstances); - await queryRunner.query(`UPDATE "instance" SET "isBubbled" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ${pattern}`); + const patterns = buildPatterns(meta.bubbleInstances); + await queryRunner.query(`UPDATE "instance" SET "isBubbled" = true WHERE ((lower(reverse("host")) || '.')::text) LIKE ANY ($1)`, [ patterns ]); } } } @@ -78,12 +78,8 @@ export class AddInstanceBlockColumns1748105111513 { /** * @param {string[]} input - * @returns {string} + * @returns {string[]} */ function buildPatterns(input) { - const strings = input - .map(i => i.toLowerCase().split('').reverse().join('') + '.%') - .map(i => `'${i}'`) - .join(', '); - return `(array[${strings}]::text[])`; + return input.map(i => i.toLowerCase().split('').reverse().join('') + '.%'); } |