123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package cliController
- import (
- internalDbInfra "github.com/goinfinite/os/src/infra/internalDatabase"
- cliHelper "github.com/goinfinite/os/src/presentation/cli/helper"
- "github.com/goinfinite/os/src/presentation/liaison"
- "github.com/spf13/cobra"
- )
- type AuthenticationController struct {
- authenticationLiaison *liaison.AuthenticationLiaison
- }
- func NewAuthenticationController(
- persistentDbSvc *internalDbInfra.PersistentDatabaseService,
- trailDbSvc *internalDbInfra.TrailDatabaseService,
- ) *AuthenticationController {
- return &AuthenticationController{
- authenticationLiaison: liaison.NewAuthenticationLiaison(
- persistentDbSvc, trailDbSvc,
- ),
- }
- }
- func (controller *AuthenticationController) Login() *cobra.Command {
- var usernameStr, passwordStr, ipAddressStr string
- cmd := &cobra.Command{
- Use: "login",
- Short: "Login",
- Run: func(cmd *cobra.Command, args []string) {
- requestBody := map[string]interface{}{
- "username": usernameStr,
- "password": passwordStr,
- "operatorIpAddress": ipAddressStr,
- }
- cliHelper.LiaisonResponseWrapper(
- controller.authenticationLiaison.Login(requestBody),
- )
- },
- }
- cmd.Flags().StringVarP(&usernameStr, "username", "u", "", "Username")
- cmd.MarkFlagRequired("username")
- cmd.Flags().StringVarP(&passwordStr, "password", "p", "", "Password")
- cmd.MarkFlagRequired("password")
- cmd.Flags().StringVarP(&ipAddressStr, "ip-address", "i", "", "IpAddress")
- cmd.MarkFlagRequired("ip-address")
- return cmd
- }
|