parent
							
								
									9d3448c880
								
							
						
					
					
						commit
						d64e25e449
					
				
					 7 changed files with 40 additions and 1 deletions
				
			
		|  | @ -13,6 +13,8 @@ | |||
| - クライアントのデザインの調整 | ||||
| 
 | ||||
| ### Bugfixes | ||||
| - 翻訳でDeepLのProアカウントに対応していない問題を修正 | ||||
| - インスタンス設定でDeepLのAuth Keyが空で表示される問題を修正 | ||||
| - セキュリティの向上 | ||||
| 
 | ||||
| ## 12.89.0 (2021/08/21) | ||||
|  |  | |||
							
								
								
									
										14
									
								
								migration/1629778475000-deepl-integration2.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								migration/1629778475000-deepl-integration2.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| import {MigrationInterface, QueryRunner} from "typeorm"; | ||||
| 
 | ||||
| export class deeplIntegration21629778475000 implements MigrationInterface { | ||||
|     name = 'deeplIntegration21629778475000' | ||||
| 
 | ||||
|     public async up(queryRunner: QueryRunner): Promise<void> { | ||||
|         await queryRunner.query(`ALTER TABLE "meta" ADD "deeplIsPro" boolean NOT NULL DEFAULT false`); | ||||
|     } | ||||
| 
 | ||||
|     public async down(queryRunner: QueryRunner): Promise<void> { | ||||
|         await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplIsPro"`); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -12,6 +12,9 @@ | |||
| 				<template #prefix><i class="fas fa-key"></i></template> | ||||
| 				DeepL Auth Key | ||||
| 			</FormInput> | ||||
| 			<FormSwitch v-model:value="deeplIsPro"> | ||||
| 				Pro account | ||||
| 			</FormSwitch> | ||||
| 		</FormGroup> | ||||
| 		<FormButton @click="save" primary><i class="fas fa-save"></i> {{ $ts.save }}</FormButton> | ||||
| 	</FormSuspense> | ||||
|  | @ -50,6 +53,7 @@ export default defineComponent({ | |||
| 			}, | ||||
| 			summalyProxy: '', | ||||
| 			deeplAuthKey: '', | ||||
| 			deeplIsPro: false, | ||||
| 		} | ||||
| 	}, | ||||
| 
 | ||||
|  | @ -62,11 +66,13 @@ export default defineComponent({ | |||
| 			const meta = await os.api('meta', { detail: true }); | ||||
| 			this.summalyProxy = meta.summalyProxy; | ||||
| 			this.deeplAuthKey = meta.deeplAuthKey; | ||||
| 			this.deeplIsPro = meta.deeplIsPro; | ||||
| 		}, | ||||
| 		save() { | ||||
| 			os.apiWithDialog('admin/update-meta', { | ||||
| 				summalyProxy: this.summalyProxy, | ||||
| 				deeplAuthKey: this.deeplAuthKey, | ||||
| 				deeplIsPro: this.deeplIsPro, | ||||
| 			}).then(() => { | ||||
| 				fetchInstance(); | ||||
| 			}); | ||||
|  |  | |||
|  | @ -319,6 +319,11 @@ export class Meta { | |||
| 	}) | ||||
| 	public deeplAuthKey: string | null; | ||||
| 
 | ||||
| 	@Column('boolean', { | ||||
| 		default: false, | ||||
| 	}) | ||||
| 	public deeplIsPro: boolean; | ||||
| 
 | ||||
| 	@Column('varchar', { | ||||
| 		length: 512, | ||||
| 		nullable: true | ||||
|  |  | |||
|  | @ -149,6 +149,10 @@ export const meta = { | |||
| 			validator: $.optional.nullable.str, | ||||
| 		}, | ||||
| 
 | ||||
| 		deeplIsPro: { | ||||
| 			validator: $.optional.bool, | ||||
| 		}, | ||||
| 
 | ||||
| 		enableTwitterIntegration: { | ||||
| 			validator: $.optional.bool, | ||||
| 		}, | ||||
|  | @ -574,6 +578,10 @@ export default define(meta, async (ps, me) => { | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (ps.deeplIsPro !== undefined) { | ||||
| 		set.deeplIsPro = ps.deeplIsPro; | ||||
| 	} | ||||
| 
 | ||||
| 	await getConnection().transaction(async transactionalEntityManager => { | ||||
| 		const meta = await transactionalEntityManager.findOne(Meta, { | ||||
| 			order: { | ||||
|  |  | |||
|  | @ -583,6 +583,8 @@ export default define(meta, async (ps, me) => { | |||
| 			response.objectStorageUseProxy = instance.objectStorageUseProxy; | ||||
| 			response.objectStorageSetPublicRead = instance.objectStorageSetPublicRead; | ||||
| 			response.objectStorageS3ForcePathStyle = instance.objectStorageS3ForcePathStyle; | ||||
| 			response.deeplAuthKey = instance.deeplAuthKey; | ||||
| 			response.deeplIsPro = instance.deeplIsPro; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -61,7 +61,9 @@ export default define(meta, async (ps, user) => { | |||
| 	params.append('text', note.text); | ||||
| 	params.append('target_lang', targetLang); | ||||
| 
 | ||||
| 	const res = await fetch('https://api-free.deepl.com/v2/translate', { | ||||
| 	const endpoint = instance.deeplIsPro ? 'https://api.deepl.com/v2/translate' : 'https://api-free.deepl.com/v2/translate'; | ||||
| 
 | ||||
| 	const res = await fetch(endpoint, { | ||||
| 		method: 'POST', | ||||
| 		headers: { | ||||
| 			'Content-Type': 'application/x-www-form-urlencoded', | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue