Use config.ServiceConfig across API

This commit is contained in:
Philipp Wolfer 2023-12-07 23:44:58 +01:00
parent 091b3c2f49
commit 9c363cc06d
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
27 changed files with 137 additions and 99 deletions

View file

@ -17,6 +17,7 @@ Scotty. If not, see <https://www.gnu.org/licenses/>.
package cmd
import (
"errors"
"fmt"
"os"
@ -38,7 +39,10 @@ var authCmd = &cobra.Command{
Short: "Authenticate with a backend",
Long: `For backends requiring authentication this command can be used to authenticate.`,
Run: func(cmd *cobra.Command, args []string) {
serviceName, serviceConfig := cli.GetConfigFromFlag(cmd, "service")
serviceConfig := cli.GetServiceConfigFromFlag(cmd, "service")
if serviceConfig == nil {
cobra.CheckErr(errors.New("failed loading service configuration"))
}
backend, err := backends.ResolveBackend[models.OAuth2Authenticator](serviceConfig)
cobra.CheckErr(err)
@ -80,10 +84,10 @@ var authCmd = &cobra.Command{
db, err := storage.New(config.DatabasePath())
cobra.CheckErr(err)
err = db.SetOAuth2Token(serviceName, tok)
err = db.SetOAuth2Token(serviceConfig.Name, tok)
cobra.CheckErr(err)
fmt.Printf("Access token received, you can use %v now.\n\n", serviceName)
fmt.Printf("Access token received, you can use %v now.\n\n", serviceConfig.Name)
},
}