@@ -2,7 +2,10 @@ package app
22
33import (
44 "context"
5+
56 "github.com/kloudlite/api/apps/auth/internal/entities"
7+ "github.com/kloudlite/api/common"
8+ "github.com/kloudlite/api/pkg/kv"
69 "github.com/kloudlite/api/pkg/repos"
710
811 "github.com/kloudlite/api/apps/auth/internal/domain"
@@ -12,7 +15,41 @@ import (
1215
1316type authGrpcServer struct {
1417 auth.UnimplementedAuthServer
15- d domain.Domain
18+ d domain.Domain
19+ sessionRepo kv.Repo [* common.AuthSession ]
20+ }
21+
22+ // GenerateMachineSession implements auth.AuthServer.
23+ func (a * authGrpcServer ) GenerateMachineSession (ctx context.Context , in * auth.GenerateMachineSessionIn ) (* auth.GenerateMachineSessionOut , error ) {
24+ session , err := a .d .MachineLogin (ctx , in .UserId , in .MachineId , in .Cluster )
25+ if err != nil {
26+ return nil , errors .NewE (err )
27+ }
28+ err = a .sessionRepo .Set (ctx , string (session .Id ), session )
29+ if err != nil {
30+ return nil , errors .NewE (err )
31+ }
32+ if session == nil {
33+ return nil , errors .Newf ("session is nil" )
34+ }
35+ return & auth.GenerateMachineSessionOut {
36+ SessionId : string (session .Id ),
37+ }, nil
38+ }
39+
40+ // ClearMachineSessionByMachine implements auth.AuthServer.
41+ func (a * authGrpcServer ) ClearMachineSessionByMachine (context.Context , * auth.ClearMachineSessionByMachineIn ) (* auth.ClearMachineSessionByMachineOut , error ) {
42+ panic ("unimplemented" )
43+ }
44+
45+ // ClearMachineSessionByTeam implements auth.AuthServer.
46+ func (a * authGrpcServer ) ClearMachineSessionByTeam (context.Context , * auth.ClearMachineSessionByTeamIn ) (* auth.ClearMachineSessionByTeamOut , error ) {
47+ panic ("unimplemented" )
48+ }
49+
50+ // ClearMachineSessionByUser implements auth.AuthServer.
51+ func (a * authGrpcServer ) ClearMachineSessionByUser (context.Context , * auth.ClearMachineSessionByUserIn ) (* auth.ClearMachineSessionByUserOut , error ) {
52+ panic ("unimplemented" )
1653}
1754
1855func (a * authGrpcServer ) GetUser (ctx context.Context , in * auth.GetUserIn ) (* auth.GetUserOut , error ) {
@@ -72,8 +109,9 @@ func (a *authGrpcServer) GetAccessToken(ctx context.Context, in *auth.GetAccessT
72109 return a .FromAccToken (* token ), nil
73110}
74111
75- func fxRPCServer (d domain.Domain ) auth.AuthServer {
112+ func fxRPCServer (d domain.Domain , sessionRepo kv. Repo [ * common. AuthSession ] ) auth.AuthServer {
76113 return & authGrpcServer {
77- d : d ,
114+ d : d ,
115+ sessionRepo : sessionRepo ,
78116 }
79117}
0 commit comments