diff --git a/internal/translate/apertium/translator.go b/internal/translate/apertium/translator.go index 0d10f71..b694d52 100644 --- a/internal/translate/apertium/translator.go +++ b/internal/translate/apertium/translator.go @@ -16,6 +16,7 @@ const ( ) type Translator struct { + *core.APIKey *core.Language *core.TTSLock core.EngineName @@ -23,15 +24,13 @@ type Translator struct { func NewTranslator() *Translator { return &Translator{ + APIKey: new(core.APIKey), Language: new(core.Language), TTSLock: core.NewTTSLock(), EngineName: core.NewEngineName("Apertium"), } } -func (t *Translator) SetAPIKey(key string) { -} - func (t *Translator) GetAllLang() []string { return lang } diff --git a/internal/translate/argos/translator.go b/internal/translate/argos/translator.go index 1a978d1..1547647 100644 --- a/internal/translate/argos/translator.go +++ b/internal/translate/argos/translator.go @@ -16,6 +16,7 @@ const ( ) type Translator struct { + *core.APIKey *core.Language *core.TTSLock core.EngineName @@ -23,15 +24,13 @@ type Translator struct { func NewTranslator() *Translator { return &Translator{ + APIKey: new(core.APIKey), Language: new(core.Language), TTSLock: core.NewTTSLock(), EngineName: core.NewEngineName("Argos"), } } -func (t *Translator) SetAPIKey(key string) { -} - func (t *Translator) GetAllLang() []string { return lang } diff --git a/internal/translate/bing/translator.go b/internal/translate/bing/translator.go index a82e67d..4d9e3fd 100644 --- a/internal/translate/bing/translator.go +++ b/internal/translate/bing/translator.go @@ -25,6 +25,7 @@ const ( ) type Translator struct { + *core.APIKey *core.Language *core.TTSLock core.EngineName @@ -39,15 +40,13 @@ type setUpData struct { func NewTranslator() *Translator { return &Translator{ + APIKey: new(core.APIKey), Language: new(core.Language), TTSLock: core.NewTTSLock(), EngineName: core.NewEngineName("Bing"), } } -func (t *Translator) SetAPIKey(key string) { -} - func (t *Translator) GetAllLang() []string { return lang } diff --git a/internal/translate/chatgpt/translator.go b/internal/translate/chatgpt/translator.go index 687c5d7..dee3c30 100644 --- a/internal/translate/chatgpt/translator.go +++ b/internal/translate/chatgpt/translator.go @@ -16,24 +16,21 @@ const ( ) type Translator struct { + *core.APIKey *core.Language *core.TTSLock core.EngineName - apiKey string } func NewTranslator() *Translator { return &Translator{ + APIKey: new(core.APIKey), Language: new(core.Language), TTSLock: core.NewTTSLock(), EngineName: core.NewEngineName("ChatGPT"), } } -func (t *Translator) SetAPIKey(key string) { - t.apiKey = key -} - func (t *Translator) GetAllLang() []string { return lang } @@ -42,7 +39,7 @@ func (t *Translator) Translate(message string) (translation *core.Translation, e translation = new(core.Translation) var data map[string]interface{} - if len(t.apiKey) <= 0 { + if len(t.GetAPIKey()) <= 0 { return nil, errors.New("Please write your API Key in config file for " + t.GetEngineName()) } @@ -64,7 +61,7 @@ func (t *Translator) Translate(message string) (translation *core.Translation, e bytes.NewBuffer(userData), ) req.Header.Add("Content-Type", "application/json") - req.Header.Add("Authorization", "Bearer "+t.apiKey) + req.Header.Add("Authorization", "Bearer "+t.GetAPIKey()) res, err := http.DefaultClient.Do(req) if err != nil { return nil, err diff --git a/internal/translate/core/apikey.go b/internal/translate/core/apikey.go new file mode 100644 index 0000000..9208a34 --- /dev/null +++ b/internal/translate/core/apikey.go @@ -0,0 +1,13 @@ +package core + +type APIKey struct { + key string +} + +func (k *APIKey) SetAPIKey(key string) { + k.key = key +} + +func (k *APIKey) GetAPIKey() string { + return k.key +} diff --git a/internal/translate/google/translator.go b/internal/translate/google/translator.go index acca491..f48f056 100644 --- a/internal/translate/google/translator.go +++ b/internal/translate/google/translator.go @@ -20,6 +20,7 @@ const ( ) type Translator struct { + *core.APIKey *core.Language *core.TTSLock core.EngineName @@ -27,15 +28,13 @@ type Translator struct { func NewTranslator() *Translator { return &Translator{ + APIKey: new(core.APIKey), Language: new(core.Language), TTSLock: core.NewTTSLock(), EngineName: core.NewEngineName("Google"), } } -func (t *Translator) SetAPIKey(key string) { -} - func (t *Translator) GetAllLang() []string { return lang } diff --git a/internal/translate/reverso/translator.go b/internal/translate/reverso/translator.go index 97324a5..d0815e2 100644 --- a/internal/translate/reverso/translator.go +++ b/internal/translate/reverso/translator.go @@ -22,6 +22,7 @@ const ( ) type Translator struct { + *core.APIKey *core.Language *core.TTSLock core.EngineName @@ -29,15 +30,13 @@ type Translator struct { func NewTranslator() *Translator { return &Translator{ + APIKey: new(core.APIKey), Language: new(core.Language), TTSLock: core.NewTTSLock(), EngineName: core.NewEngineName("Reverso"), } } -func (t *Translator) SetAPIKey(key string) { -} - func (t *Translator) GetAllLang() []string { return lang }