2022-11-14 08:44:03 +00:00
|
|
|
package services
|
|
|
|
|
|
|
|
import (
|
2023-04-21 06:49:17 +00:00
|
|
|
. "github.com/reiver/greatape/components/api/protobuf"
|
|
|
|
. "github.com/reiver/greatape/components/contracts"
|
2023-06-12 05:53:39 +00:00
|
|
|
. "github.com/reiver/greatape/components/core"
|
2022-11-14 08:44:03 +00:00
|
|
|
. "github.com/xeronith/diamante/contracts/service"
|
|
|
|
)
|
|
|
|
|
|
|
|
func LoginService(context IContext, input *LoginRequest) (result *LoginResult, err error) {
|
2023-06-12 05:53:39 +00:00
|
|
|
source := "login"
|
|
|
|
/* //////// */ Conductor.LogRemoteCall(context, INIT, source, input, result, err)
|
|
|
|
defer func() { Conductor.LogRemoteCall(context, DONE, source, input, result, err) }()
|
2022-11-14 08:44:03 +00:00
|
|
|
|
2023-06-12 05:53:39 +00:00
|
|
|
commandResult, err := Conductor.Login(input.Email, input.Password, context.Identity())
|
|
|
|
if err != nil {
|
2022-11-14 08:44:03 +00:00
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2023-06-20 14:39:51 +00:00
|
|
|
context.SetAuthCookie(commandResult.Token())
|
|
|
|
|
2022-11-14 08:44:03 +00:00
|
|
|
result = context.ResultContainer().(*LoginResult)
|
2023-06-12 05:53:39 +00:00
|
|
|
result.Username = commandResult.Username()
|
2023-08-05 09:36:45 +00:00
|
|
|
result.Token = "Automatic"
|
2022-11-14 08:44:03 +00:00
|
|
|
return result, nil
|
|
|
|
}
|