Skip to content

Commit 136114a

Browse files
Aaron3SLeeEirc
authored andcommitted
feat: face online
1 parent 7fff022 commit 136114a

File tree

14 files changed

+5397
-2294
lines changed

14 files changed

+5397
-2294
lines changed

cmd/impl/jms.go

+12-11
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,18 @@ func (j *JMServer) GetTokenAuthInfo(ctx context.Context, req *pb.TokenRequest) (
5050
}
5151
setting := j.uploader.GetTerminalSetting()
5252
dbTokenInfo := pb.TokenAuthInfo{
53-
KeyId: tokenAuthInfo.Id,
54-
SecreteId: tokenAuthInfo.Value,
55-
Asset: ConvertToProtobufAsset(tokenAuthInfo.Asset),
56-
User: ConvertToProtobufUser(tokenAuthInfo.User),
57-
FilterRules: ConvertToProtobufFilterRules(tokenAuthInfo.CommandFilterACLs),
58-
Account: ConvertToProtobufAccount(tokenAuthInfo.Account),
59-
Permission: ConvertToProtobufPermission(tokenAuthInfo.Actions),
60-
ExpireInfo: ConvertToProtobufExpireInfo(tokenAuthInfo.ExpireAt),
61-
Gateways: ConvertToProtobufGateways(gateways),
62-
Setting: ConvertToPbSetting(&setting),
63-
Platform: ConvertToPbPlatform(&tokenAuthInfo.Platform),
53+
KeyId: tokenAuthInfo.Id,
54+
SecreteId: tokenAuthInfo.Value,
55+
Asset: ConvertToProtobufAsset(tokenAuthInfo.Asset),
56+
User: ConvertToProtobufUser(tokenAuthInfo.User),
57+
FilterRules: ConvertToProtobufFilterRules(tokenAuthInfo.CommandFilterACLs),
58+
Account: ConvertToProtobufAccount(tokenAuthInfo.Account),
59+
Permission: ConvertToProtobufPermission(tokenAuthInfo.Actions),
60+
ExpireInfo: ConvertToProtobufExpireInfo(tokenAuthInfo.ExpireAt),
61+
Gateways: ConvertToProtobufGateways(gateways),
62+
Setting: ConvertToPbSetting(&setting),
63+
Platform: ConvertToPbPlatform(&tokenAuthInfo.Platform),
64+
FaceMonitorToken: tokenAuthInfo.FaceMonitorToken,
6465
}
6566
status.Ok = true
6667
logger.Debugf("Get database auth info success by token: %s", req.Token)

cmd/impl/jms_face_callback.go

+41
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,44 @@ func (j *JMServer) FaceRecognitionCallback(ctx context.Context, req *pb.FaceReco
2525
Status: &status,
2626
}, nil
2727
}
28+
29+
func (j *JMServer) FaceMonitorCallback(ctx context.Context, req *pb.FaceMonitorCallbackRequest) (*pb.FaceMonitorCallbackResponse, error) {
30+
var status pb.Status
31+
32+
result := service.FaceMonitorResult{
33+
Token: req.Token,
34+
Success: req.Success,
35+
ErrorMessage: req.ErrorMessage,
36+
FaceCodes: req.FaceCodes,
37+
IsFinished: req.IsFinished,
38+
Action: req.Action,
39+
}
40+
if err := j.apiClient.SendFaceMonitorCallback(result); err != nil {
41+
status.Ok = false
42+
status.Err = err.Error()
43+
} else {
44+
status.Ok = true
45+
}
46+
return &pb.FaceMonitorCallbackResponse{
47+
Status: &status,
48+
}, nil
49+
}
50+
51+
func (j *JMServer) JoinFaceMonitor(ctx context.Context, req *pb.JoinFaceMonitorRequest) (*pb.JoinFaceMonitorResponse, error) {
52+
53+
var status pb.Status
54+
55+
joinRequest := service.JoinFaceMonitorRequest{
56+
FaceMonitorToken: req.FaceMonitorToken,
57+
SessionId: req.SessionId,
58+
}
59+
if err := j.apiClient.JoinFaceMonitor(joinRequest); err != nil {
60+
status.Ok = false
61+
status.Err = err.Error()
62+
} else {
63+
status.Ok = true
64+
}
65+
return &pb.JoinFaceMonitorResponse{
66+
Status: &status,
67+
}, nil
68+
}

pkg/jms-sdk-go/service/jms_face_callback.go

+30
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,33 @@ func (s *JMService) SendFaceRecognitionCallback(result FaceRecognitionResult) er
1414
}
1515
return nil
1616
}
17+
18+
type FaceMonitorResult struct {
19+
Token string `json:"token"`
20+
IsFinished bool `json:"is_finished"`
21+
Success bool `json:"success"`
22+
ErrorMessage string `json:"error_message"`
23+
Action string `json:"action"`
24+
FaceCodes []string `json:"face_codes"`
25+
}
26+
27+
func (s *JMService) SendFaceMonitorCallback(result FaceMonitorResult) error {
28+
var resp = map[string]interface{}{}
29+
if _, err := s.authClient.Post(FaceMonitorURL, &result, &resp); err != nil {
30+
return err
31+
}
32+
return nil
33+
}
34+
35+
type JoinFaceMonitorRequest struct {
36+
FaceMonitorToken string `json:"face_monitor_token"`
37+
SessionId string `json:"session_id"`
38+
}
39+
40+
func (s *JMService) JoinFaceMonitor(result JoinFaceMonitorRequest) error {
41+
var resp = map[string]interface{}{}
42+
if _, err := s.authClient.Post(FaceMonitorContextUrl, &result, &resp); err != nil {
43+
return err
44+
}
45+
return nil
46+
}

pkg/jms-sdk-go/service/url.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,7 @@ const (
8585
)
8686

8787
const (
88-
FaceRecognitionURL = "/api/v1/authentication/face/callback/"
88+
FaceRecognitionURL = "/api/v1/authentication/face/callback/"
89+
FaceMonitorURL = "/api/v1/authentication/face-monitor/callback/"
90+
FaceMonitorContextUrl = "/api/v1/authentication/face-monitor/context/"
8991
)

0 commit comments

Comments
 (0)