diff --git a/packages/backend/migration/1669545702493-detectDeeplPro.js b/packages/backend/migration/1669545702493-detectDeeplPro.js new file mode 100644 index 000000000..2a75ff228 --- /dev/null +++ b/packages/backend/migration/1669545702493-detectDeeplPro.js @@ -0,0 +1,12 @@ +export class detectDeeplPro1669545702493 { + name = 'detectDeeplPro1669545702493'; + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplIsPro"`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "deeplIsPro" boolean NOT NULL DEFAULT false`); + await queryRunner.query(`UPDATE "meta" SET "deeplIsPro" = true WHERE "deeplAuthKey" IS NOT NULL AND "deeplAuthKey" NOT LIKE '%:fx'`); + } +} diff --git a/packages/backend/src/models/entities/meta.ts b/packages/backend/src/models/entities/meta.ts index 565d95a32..59118303e 100644 --- a/packages/backend/src/models/entities/meta.ts +++ b/packages/backend/src/models/entities/meta.ts @@ -316,11 +316,6 @@ export class Meta { }) public deeplAuthKey: string | null; - @Column('boolean', { - default: false, - }) - public deeplIsPro: boolean; - @Column('varchar', { length: 128, nullable: true, diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index f4ee7c480..32e05dacb 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -280,10 +280,6 @@ export const meta = { type: 'string', optional: true, nullable: true, }, - deeplIsPro: { - type: 'boolean', - optional: true, nullable: false, - }, libreTranslateEndpoint: { type: 'string', optional: true, nullable: true, @@ -382,7 +378,6 @@ export default define(meta, paramDef, async (ps, me) => { translatorAvailable: translatorAvailable(instance), translationService: instance.translationService, deeplAuthKey: instance.deeplAuthKey, - deeplIsPro: instance.deeplIsPro, libreTranslateEndpoint: instance.libreTranslateEndpoint, libreTranslateAuthKey: instance.libreTranslateAuthKey, }; diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 5958b3c98..e6bcc4012 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -58,7 +58,6 @@ export const paramDef = { summalyProxy: { type: 'string', nullable: true }, translationService: { type: 'string', nullable: true, enum: [null, ...Object.values(TranslationService)] }, deeplAuthKey: { type: 'string', nullable: true }, - deeplIsPro: { type: 'boolean' }, libreTranslateAuthKey: { type: 'string', nullable: true }, libreTranslateEndpoint: { type: 'string', nullable: true }, enableTwitterIntegration: { type: 'boolean' }, @@ -378,10 +377,6 @@ export default define(meta, paramDef, async (ps, me) => { } } - if (ps.deeplIsPro !== undefined) { - set.deeplIsPro = ps.deeplIsPro; - } - if (ps.libreTranslateEndpoint !== undefined) { if (ps.libreTranslateEndpoint === '') { set.libreTranslateEndpoint = null; diff --git a/packages/backend/src/server/api/endpoints/notes/translate.ts b/packages/backend/src/server/api/endpoints/notes/translate.ts index 44057415a..93ad1a182 100644 --- a/packages/backend/src/server/api/endpoints/notes/translate.ts +++ b/packages/backend/src/server/api/endpoints/notes/translate.ts @@ -139,7 +139,11 @@ export default define(meta, paramDef, async (ps, user) => { params.append('target_lang', targetLang); if (sourceLang) params.append('source_lang', sourceLang); - const endpoint = instance.deeplIsPro ? 'https://api.deepl.com/v2/translate' : 'https://api-free.deepl.com/v2/translate'; + // From the DeepL API docs: + //> DeepL API Free authentication keys can be identified easily by the suffix ":fx" + const endpoint = instance.deeplAuthKey.endsWith(':fx') + ? 'https://api-free.deepl.com/v2/translate' + : 'https://api.deepl.com/v2/translate'; const res = await fetch(endpoint, { method: 'POST', diff --git a/packages/client/src/pages/admin/translation-settings.vue b/packages/client/src/pages/admin/translation-settings.vue index 15085940b..a67b98969 100644 --- a/packages/client/src/pages/admin/translation-settings.vue +++ b/packages/client/src/pages/admin/translation-settings.vue @@ -12,9 +12,6 @@